Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 04 Mar 2003 14:38:29 +0100
From:      Heinrich Rebehn <rebehn@ant.uni-bremen.de>
To:        Heinrich Rebehn <rebehn@ant.uni-bremen.de>
Cc:        etherboot-users@lists.sourceforge.net
Subject:   Re: Cannot boot FreeBSD kernel with etherboot
Message-ID:  <3E64AC55.8040406@ant.uni-bremen.de>
In-Reply-To: <3E648AF7.3080209@ant.uni-bremen.de>
References:  <3E648AF7.3080209@ant.uni-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Heinrich Rebehn wrote:
> 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.

I have found the solution myself, i forgot "-DIMAGE_FREEBSD", in fact i thought 
i set it at my 2nd try, but on the 2nd try, i had the floppy write protected, 
which i didn't notice.. :-(

Now the kernel gets loaded, last output from etherboot is "........done" and 
then the system reboots.. :-(

Heinrich
> 
> Thanks for any hints
> 
> Heinrich
> 
> 
> ------------------------------------------------------------------------
> 
> #
> # 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


-- 

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


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?3E64AC55.8040406>