Skip site navigation (1)Skip section navigation (2)
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>