Date: Tue, 04 Mar 2003 12:16:07 +0100 From: Heinrich Rebehn <rebehn@ant.uni-bremen.de> To: etherboot-users@lists.sourceforge.net Subject: Cannot boot FreeBSD kernel Message-ID: <3E648AF7.3080209@ant.uni-bremen.de>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------090300050801070308070106 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hi list, trying to boot a FreeBSD kernel with etherboot 5.0.6 results in: ... Loading 134.102.176.16:/tftpboot/bsd-diskless ...(ELF)... segment does not fit in any memory region What does this mean? The kernel is 2390599 bytes. Did i hit a size limitation? I am attaching the Etherboot Config file. Thanks for any hints Heinrich -- Heinrich Rebehn University of Bremen Physics / Electrical and Electronics Engineering - Department of Telecommunications - E-mail: mailto:rebehn@ant.uni-bremen.de Phone : +49/421/218-4664 Fax : -3341 --------------090300050801070308070106 Content-Type: text/plain; name="Config" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Config" # # Config for Etherboot/32 # # Do not delete the tag OptionDescription and /OptionDescription # It is used to automatically generate the documentation. # # <OptionDescription> # User interaction options: # # -DASK_BOOT=n # Ask "Boot from Network or from Local? " at startup, # timeout after n seconds (0 = no timeout); this # can be done in a more generic way by using the # IMAGE_MENU, but it requires that the "bootp" # server is accessible, even when booting locally. # If unset, boot immediately using the default. # -DANS_DEFAULT=ANS_NETWORK # Assume Network to previous question # (alternative: ANS_LOCAL) on timeout or Return key # See etherboot.h for prompt and answer strings. # -DBAR_PROGRESS # Use rotating bar instead of sequential dots # to indicate an IP packet transmitted. # -DMOTD # Display message of the day; read vendortags.html # for further information. (Deprecated) # -DIMAGE_MENU # Allow to interactively chose between different # bootimages; read vendortags.html for further # information. (Deprecated) # -DPASSWD # Enable password protection for boot images; this # requires -DIMAGE_MENU. (Deprecated) # -DUSRPARMS # Allow the user to interactively edit parameters # that are passed to the booted kernel; you should # probably enable -DPASSWD as well; this feature # requires -DIMAGE_MENU. (Deprecated) # -DANSIESC # Evaluate a subset of common ANSI escape sequences # when displaying the message of the day; this # probably does not make sense unless you also # define -DMOTD or at least -DIMAGE_MENU. It is # possible to combine this option with -DCONSOLE_DUAL, # but you have to be aware that the boot menu will # no longer use ANSI escapes to be compatible with the # serial console. Also be careful with your banners, as # they may confuse your serial console. Generally you # lose most of the ANSIESC functionality. (Deprecated) # -DGFX # Support extensions to the ANSI escape sequences for # displaying graphics (icons or logos); this # requires -DANSIESC. It probably does not make sense # to use -DGFX if you have -DCONSOLE_DUAL, as the # serial console normally cannot handle the GFX stuff. # (Deprecated) # -DSHOW_NUMERIC # Display menu item labels as numbers. # -DDELIMITERLINES # Print a line of = characters at the start # and also just before starting an image. # -DSIZEINDICATOR # Update a running total of the amount of code # loaded so far, in kilobytes. # # Boot autoconfiguration protocol options: # # -DNO_DHCP_SUPPORT # Use BOOTP instead of DHCP. # -DRARP_NOT_BOOTP # Use RARP instead of BOOTP/DHCP. # -DREQUIRE_VCI_ETHERBOOT # Require an encapsulated Vendor Class Identifier # of "Etherboot" in the DHCP reply # Requires DHCP support. # -DALLOW_ONLY_ENCAPSULATED # Ignore Etherboot-specific options that are not within # the Etherboot encapsulated options field. This option # should be enabled unless you have a legacy DHCP server # configuration from the bad old days before the use of # encapsulated Etherboot options. # # Boot tuning parameters: # # -DCONGESTED # Turns on packet retransmission. Use it on a # congested network, where the normal operation # can't boot the image. # -DBACKOFF_LIMIT # Sets the maximum RFC951 backoff exponent to n. # Do not set this unreasonably low, because on networks # with many machines they can saturate the link # (the delay corresponding to the exponent is a random # time in the range 0..3.5*2^n seconds). Use 5 for a # VERY small network (max. 2 minutes delay), 7 for a # medium sized network (max. 7.5 minutes delay) or 10 # for a really huge network with many clients, frequent # congestions (max. 1 hour delay). On average the # delay time will be half the maximum value. If in # doubt about the consequences, use a larger value. # Also keep in mind that the number of retransmissions # is not changed by this setting, so the default of 20 # may no longer be appropriate. You might need to set # MAX_ARP_RETRIES, MAX_BOOTP_RETRIES, MAX_TFTP_RETRIES # and MAX_RPC_RETRIES to a larger value. # # Boot device options: # # -DCAN_BOOT_DISK # Can boot from floppy/hd if bootimage matches the # pattern "/dev/[fhs]d*". # -DTRY_FLOPPY_FIRST # If > 0, tries that many times to read the boot # sector from a floppy drive before booting from # ROM. If successful, does a local boot. # It assumes the floppy is bootable. # Requires -DCAN_BOOT_DISK. # -DEMERGENCYDISKBOOT # If no BOOTP server can be found, then boot from # local disk. The accessibility of the TFTP server # has no effect, though! So configure your BOOTP # server properly. You should probably reduce # MAX_BOOTP_RETRIES to a small number like 3. # # Boot image options: # # -DTAGGED_IMAGE # Add tagged image kernel boot support (Recommended). # -DAOUT_IMAGE # Add a.out kernel boot support (generic). # -DELF_IMAGE # Add generic ELF kernel boot support (Recommended). # -DIMAGE_MULTIBOOT # Add Multiboot image support (currently only # for ELF images). # Without this, generic ELF support is selected. # -DIMAGE_FREEBSD # Add FreeBSD image loading support (requires at least # -DAOUT_IMAGE and/or -DELF_IMAGE). # -DFREEBSD_KERNEL_ENV # Pass in FreeBSD kernel environment # -DAOUT_LYNX_KDI # Add Lynx a.out KDI support # # -DDOWNLOAD_PROTO_TFTP # If defined, boots by TFTP (Recommended). # -DDOWNLOAD_PROTO_NFS # If defined, boots from a NFS mount and disables # TFTP loading. Default is DOWNLOAD_PROTO_TFTP # if neither is defined. # # Console options: # # -DCONSOLE_CRT # Set for CRT console (default if nothing else is set). # -DCONSOLE_SERIAL # Set for serial console. # -DCONSOLE_DUAL # Set for CRT and serial console, see comment at # -DANSIESC and -DGFX. # -DCOMCONSOLE # Set port, e.g. 0x3F8. # -DCONSPEED # Set speed, e.g. 57600. # -DCOMPARM # Set Line Control Register value for data bits, stop # bits and parity. See a National Semiconditor 8250/ # 16450/16550 data sheet for bit meanings. # If undefined, defaults to 0x03 = 8N1. # -DCOMPRESERVE # Ignore COMSPEED and COMPARAM and instead preserve # the com port parameters from the previous user # of the com port. Examples of previous user are a BIOS # that implements console redirection, lilo and LinuxBIOS. # This makes it trivial to keep the serial port # speed setting in sync between multiple users. # You set the speed in the first user and the # rest follow along. # # BIOS interface options: # # -DPCBIOS # Compile in support for the normal pcbios # -DLINUXBIOS # Compile in support for LinuxBIOS # # -DBBS_BUT_NOT_PNP_COMPLIANT # Some BIOSes claim to be PNP but they don't conform # to the BBS spec which specifies that ES:DI must # point to the string $PnP on entry. This option # works around those. This option must be added to # LCONFIG. # -DNO_DELAYED_INT # Take control as soon as BIOS detects the ROM. # Normally hooks onto INT18H or INT19H. Use only if you # have a very non-conformant BIOS as it bypasses # BIOS initialisation of devices. This only works for # legacy ROMs, i.e. PCI_PNP_HEADER not defined. # This option was formerly called NOINT19H. # -DBOOT_INT18H # Etherboot normally hooks onto INT19H for legacy ROMs. # You can choose to hook onto INT18H (BASIC interpreter # entry point) instead. This entry point is used when # all boot devices have been exhausted. This option must # be added to LCONFIG. # -DCONFIG_PCI_DIRECT # Define this for PCI BIOSes that do not implement # BIOS32 or not correctly. Normally not needed. # Only works for BIOSes of a certain era. # -DCONFIG_TSC_CURRTICKS # Uses the processor time stamp counter instead of reading # the BIOS time counter. This allows Etherboot to work # even without a BIOS. This only works on late model # 486s and above. # -DPXELOADER_KEEP_UNDI # For implementation later with UNDI. # -DIBM_L40 # This option uses the 0x92 method of controlling # A20 instead of the traditional method of using the # keyboard controller. An explanation of A20 is here: # http://www.win.tue.nl/~aeb/linux/kbd/A20.html # This occurs on MCA, EISA and some embedded boards, # and sometimes with the Fast Gate A20 option on some # BIOSes. # Enable this only if you are sure of what you are doing. # # Obscure options you probably don't need to touch: # # -DPOWERSAVE # Halt the processor when waiting for keyboard input # which saves power while waiting for user interaction. # Good for compute clusters and VMware emulation. # But may not work for all CPUs. # -DT503_AUI # Use AUI by default on 3c503 cards. # -DMOVEROM # If your motherboard does not cache adapter memory # space, then this option can speed up loading of # compressed BOOT-Prom images. It has no effect on # uncompressed images. Unless you are very tight on # free space, you will usually want to define this # option. This option must be added to LCONFIG! # (Recommended). # -DUSE_LOWMEM_BUFFER # Define to put some buffers below 0x10000 which # may interfere with other programs (Deprecated). # </OptionDescription> # These default settings compile Etherboot with a small number of options. # You may wish to enable more of the features if the size of your ROM allows. # BIOS select don't change unless you know what you are doing CFLAGS32+= -DPCBIOS # For prompting and default on timeout CFLAGS32+= -DASK_BOOT=3 -DANS_DEFAULT=ANS_NETWORK # If you prefer the old style rotating bar progress display # CFLAGS32+= -DBAR_PROGRESS # MOTD and Image Menu are no longer the default, use mk{elf,nbi}-menu instead # CFLAGS32+= -DMOTD -DIMAGE_MENU # Enabling this makes the boot ROM require a Vendor Class Identifier # of "Etherboot" in the Vendor Encapsulated Options # This can be used to reject replies from servers other than the one # we want to give out addresses to us, but it will prevent Etherboot # from getting an IP lease until you have configured DHCPD correctly # CFLAGS32+= -DREQUIRE_VCI_ETHERBOOT # Enabling this causes Etherboot to ignore Etherboot-specific options # that are not within an Etherboot encapsulated options field. # This option should be enabled unless you have a legacy DHCP server # configuration from the bad old days before the use of # encapsulated Etherboot options. # CFLAGS32+= -DALLOW_ONLY_ENCAPSULATED # Limit the delay on packet loss/congestion to a more bearable value. See # description above. If unset, do not limit the delay between resend. CFLAGS32+= -DBACKOFF_LIMIT=7 -DCONGESTED # More optional features # CFLAGS32+= -DANSIESC -DGFX # CFLAGS32+= -DPASSWD -DUSRPARMS # CFLAGS32+= -DCAN_BOOT_DISK -DTRY_FLOPPY_FIRST=4 # For a serial console, which can run in parallel with CRT console # CFLAGS32+= -DCONSOLE_DUAL -DCOMCONSOLE=0x3F8 -DCONSPEED=9600 # Enable tagged image, generic ELF, Multiboot ELF # or FreeBSD ELF/a.out boot image support CFLAGS32+= -DTAGGED_IMAGE -DELF_IMAGE # CFLAGS32+= -DAOUT_IMAGE -DIMAGE_MULTIBOOT -DIMAGE_FREEBSD # CFLAGS32+= -DAOUT_IMAGE -DAOUT_LYNX_KDI # Change download protocol to NFS, default is TFTP CFLAGS32+= -DDOWNLOAD_PROTO_NFS # Options to make a version of Etherboot that will work under linuxBIOS. #CFLAGS32+= -DLINUXBIOS -DCONFIG_TSC_CURRTICKS -DCONSOLE_SERIAL -DCOMCONSOLE=0x3f8 -DCOMPRESERVE -DCONFIG_PCI_DIRECT -DELF_IMAGE # These options affect the loader that is prepended to the Etherboot image LCONFIG+= -DMOVEROM # LCONFIG+= -DBBS_BUT_NOT_PNP_COMPLIANT # LCONFIG+= -DBOOT_INT18H # you should normally not need to change these RM= rm -f TOUCH= touch CC32= gcc AS32= as LD32= ld SIZE32= size AR32= ar RANLIB32= ranlib # If you use egcs or gcc-2.8, using -Os may help to reduce the code size. # Otherwise use -O2 (under no circumstance use -O3 or above!). CFLAGS32+= -Os -ffreestanding -fstrength-reduce -fomit-frame-pointer -mcpu=i386 # Squeeze the code in as little space as possible. CFLAGS32+= -malign-jumps=1 -malign-loops=1 -malign-functions=1 CFLAGS32+= -Wall -W -Wno-format -Wno-unused ASFLAGS32= LDFLAGS32+= -N -Ttext $(RELOCADDR) -e _start LDBINARY32= --oformat binary # flag for headerless binary LIBC32= # not needed # Support for PXE emulation. Works only with FreeBSD to load the kernel # via pxeboot, use only with DOWNLOAD_PROTO_NFS #CFLAGS32+= -DFREEBSD_PXEEMU --------------090300050801070308070106-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E648AF7.3080209>