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:[EMAIL PROTECTED]
Phone : +49/421/218-4664
Fax   :            -3341
#
# 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

Reply via email to