ld -m elf_i386 -N -T arch/i386/core/etherboot.lds -o bin/filo.elf.rt bin/elfprefix.exit.o  bin/filo.rt.o<br>bin/filo.rt.o: In function `install_pxe_stack':<br>: undefined reference to `allot_base_memory'<br>bin/filo.rt.o: In function `install_pxe_stack':<br>: undefined reference to `e820mangler_size'<br>bin/filo.rt.o: In function `install_pxe_stack':<br>: undefined reference to `install_rm_callback_interface'<br>bin/filo.rt.o: In function `install_pxe_stack':<br>: undefined reference to `install_e820mangler'<br>bin/filo.rt.o: In function `use_undi_ds_for_rm_stack':<br>: undefined reference to `forget_real_mode_stack'<br>bin/filo.rt.o: In function `hook_pxe_stack':<br>: undefined reference to `hide_etherboot'<br>bin/filo.rt.o: In function `unhook_pxe_stack':<br>: undefined reference to `unhide_etherboot'<br>bin/filo.rt.o: In function `remove_pxe_stack':<br>: undefined reference to `forget_base_memory'<br>bin/filo.rt.o: In function `pxenv_restart_tftp':<br>: undefined
 reference to `get_free_base_memory'<br>make: *** [bin/filo.elf.rt] Error 1<br>rm bin/elfprefix.entry.o bin/filo.rt.o bin/elfprefix.exit.o bin/filo.o<br>----------------------------------------------------------------------------------------------------<br><br><br><br>src/Config<br># Select which buses etherboot should support<br>CFLAGS+=    -DCONFIG_PCI<br>CFLAGS+=    -DCONFIG_ISA<br># CFLAGS+=    -DCONFIG_PCMCIA<br><br># For prompting and default on timeout<br>CFLAGS+=    -DASK_BOOT=3 -DBOOT_FIRST=BOOT_NIC<br># If you would like to attempt to boot from other devices as well as the network.<br># CFLAGS+=    -DBOOT_SECOND=BOOT_FLOPPY<br># CFLAGS+=    -DBOOT_THIRD=BOOT_DISK<br># CFLAGS+=    -DBOOT_INDEX=0<br><br># If you prefer the old style rotating bar progress display<br># CFLAGS+=    -DBAR_PROGRESS<br><br># Show size indicator<br>#
 CFLAGS+=    -DSIZEINDICATOR<br><br># Enabling this creates non-standard images which use ports 1067 and 1068<br># for DHCP/BOOTP<br># CFLAGS+=    -DALTERNATE_DHCP_PORTS_1067_1068<br><br># Enabling this makes the boot ROM require a Vendor Class Identifier<br># of "Etherboot" in the Vendor Encapsulated Options<br># This can be used to reject replies from servers other than the one<br># we want to give out addresses to us, but it will prevent Etherboot<br># from getting an IP lease until you have configured DHCPD correctly<br># CFLAGS+=    -DREQUIRE_VCI_ETHERBOOT<br><br># EXPERIMENTAL! Set DHCP_CLIENT_ID to create a Client Identifier (DHCP<br># option 61, see RFC2132 section 9.14) when Etherboot sends the DHCP<br># DISCOVER and REQUEST packets.  This ID must UNIQUELY identify each<br># client on your local network.  Set DHCP_CLIENT_ID_TYPE to the<br># appropriate hardware type as described in RFC2132 / RFC1700; this<br>#
 almost certainly means using '1' if the Client ID is an Ethernet MAC<br># address and '0' otherwise. Set DHCP_CLIENT_ID_LEN to the length of<br># the Client ID in octets (this is not a null terminated C string, do<br># NOT add 1 for a terminator and do NOT add an extra 1 for the<br># hardware type octet).  Note that to identify your client using the<br># normal default MAC address of your NIC, you do NOT need to set this<br># option, as the MAC address is automatically used in the<br># hwtype/chaddr field; note also that this field only sets the DHCP<br># option: it does NOT change the MAC address used by the client.<br><br># CFLAGS+=    -DDHCP_CLIENT_ID="'C','L','I','E','N','T','0','0','1'" \<br>#        -DDHCP_CLIENT_ID_LEN=9 -DDHCP_CLIENT_ID_TYPE=0<br><br># CFLAGS+=    -DDHCP_CLIENT_ID="0xDE,0xAD,0xBE,0xEF,0xDE,0xAD" \<br>#        -DDHCP_CLIENT_ID_LEN=6
 -DDHCP_CLIENT_ID_TYPE=1<br><br># EXPERIMENTAL! Set DHCP_USER_CLASS to create a User Class option (see<br># RFC3004) when Etherboot sends the DHCP DISCOVER and REQUEST packets.<br># This can be used for classification of clients, typically so that a<br># DHCP server can send an appropriately tailored reply.  Normally, a<br># string identifies a class of to which this client instance belongs<br># which is useful in your network, such as a department ('FINANCE' or<br># 'MARKETING') or hardware type ('THINCLIENT' or 'KIOSK').  Set<br># DHCP_USER_CLASS_LEN to the length of DHCP_USER_CLASS in octets.<br># This is NOT a null terminated C string, do NOT add 1 for a<br># terminator.  RFC3004 advises how to lay out multiple User Class<br># options by using an octet for the length of each string, as in this<br># example.  It is, of course, up to the server to parse this.<br><br># CFLAGS+=   
 -DDHCP_USER_CLASS="'T','E','S','T','C','L','A','S','S'"    \<br>#        -DDHCP_USER_CLASS_LEN=9<br><br># CFLAGS+=    -DDHCP_USER_CLASS="5,'A','L','P','H','A',4,'B','E','T','A'" \<br>#        -DDHCP_USER_CLASS_LEN=11<br><br># for btext console support<br># CFLAGS+=    -DCONSOLE_BTEXT<br># for direct PC kbd support<br># CFLAGS+=    -DCONSOLE_PC_KBD<br># Set to enable FILO support<br># for FILO support it will make main call pci_init<br>INCLUDE_FILO=y<br>ifdef    INCLUDE_FILO<br>CFLAGS+=    -DCONFIG_FILO<br>endif<br><br># Enabling this causes Etherboot to ignore Etherboot-specific options<br># that are not within an Etherboot encapsulated options field.<br># This option should be enabled unless you have a legacy DHCP server<br># configuration from the bad old days before the use of<br># encapsulated Etherboot
 options.<br>CFLAGS+=    -DALLOW_ONLY_ENCAPSULATED<br><br># Disable DHCP support<br># CFLAGS+=    -DNO_DHCP_SUPPORT<br><br># Set to enable static boot information<br># CFLAGS+=    -DUSE_STATIC_BOOT_INFO<br><br># Specify the static boot values<br># All must be specified, if -DUSE_STATIC_BOOT_INFO is defined<br># CFLAGS+=    -DSTATIC_CLIENT_IP=\"192.168.25.25\"<br># CFLAGS+=    -DSTATIC_SUBNET_MASK=\"255.255.255.0\"<br># CFLAGS+=    -DSTATIC_SERVER_IP=\"192.168.25.101\"<br># CFLAGS+=    -DSTATIC_GATEWAY_IP=\"192.168.25.1\"<br># CFLAGS+=    -DSTATIC_BOOTFILE=\"tftp://192.168.25.101/pxelinux.0\"<br><br># Specify a default bootfile to be used if the DHCP server does not<br># provide the information.  If you do not specify this option, then<br># DHCP offers that do not contain bootfiles will be ignored.<br># CFLAGS+=   
 -DDEFAULT_BOOTFILE=\"tftp://192.168.1.254/lts/pxelinux.0\"<br><br># Exit if there is an error loading the boot file<br># CFLAGS+=    -DEXIT_ON_FILE_LOAD_ERROR<br><br># Limit the delay on packet loss/congestion to a more bearable value. See<br># description above.  If unset, do not limit the delay between resend.<br>CFLAGS+=    -DBACKOFF_LIMIT=7 -DCONGESTED<br><br># More optional features<br># CFLAGS+=    -DTRY_FLOPPY_FIRST=4<br># CFLAGS+=    -DEXIT_IF_NO_OFFER<br><br># For a serial console, which can run in parallel with FIRMWARE console<br># CFLAGS+=    -DCONSOLE_DUAL -DCOMCONSOLE=0x3F8 -DCONSPEED=9600<br><br># Enable tagged image, generic ELF, Multiboot ELF<br># or FreeBSD ELF/a.out boot image support<br>CFLAGS+=    -DTAGGED_IMAGE -DELF_IMAGE<br># CFLAGS+=    -DAOUT_IMAGE -DIMAGE_MULTIBOOT -DIMAGE_FREEBSD<br># CFLAGS+=    -DAOUT_IMAGE
 -DAOUT_LYNX_KDI<br># CFLAGS+=    -DCOFF_IMAGE<br># CFLAGS+=    -DRAW_IMAGE<br><br># Download files via TFTP<br>CFLAGS+=    -DDOWNLOAD_PROTO_TFTP<br># FSP support<br># CFLAGS+=    -DDOWNLOAD_PROTO_FSP -DDEFAULT_PROTO_FSP<br># Change download protocol to NFS, default is TFTP<br># CFLAGS+=    -DDOWNLOAD_PROTO_NFS<br># Change download protocol to HTTP, default is TFTP<br># CFLAGS+=    -DDOWNLOAD_PROTO_HTTP<br># Change default protocol to NFS<br># CFLAGS+=    -DDEFAULT_PROTO_NFS<br># Support to resolve hostnames in boot filename<br># CFLAGS+=    -DDNS_RESOLVER<br><br># Multicast Support<br># CFLAGS+=    -DALLMULTI -DMULTICAST_LEVEL1 -DMULTICAST_LEVEL2 -DDOWNLOAD_PROTO_TFTM<br><br># Etherboot as a PXE network protocol ROM<br># (Requires TFTP protocol support)<br>CFLAGS+=    -DPXE_IMAGE -DPXE_EXPORT<br># Etherboot stricter as a PXE
 network protocol ROM<br># CFLAGS+=    -DPXE_DHCP_STRICT<br><br># Support for PXE emulation. Works only with FreeBSD to load the kernel<br># via pxeboot, use only with DOWNLOAD_PROTO_NFS<br># CFLAGS+=    -DFREEBSD_PXEEMU<br><br># Include an auto-incrementing build serial number and optional build<br># ID string<br># CFLAGS+=    -DBUILD_SERIAL<br># CFLAGS+=    -DBUILD_SERIAL -DBUILD_ID=\"testing\"<br><br># Do not relocate<br># core/relocate.c should really be moved to an arch specific directory<br># but this is here for archs that don't support relocation<br># CFLAGS+=    -DNORELOCATE<br><br># you should normally not need to change these<br>HOST_CC=    gcc<br>CPP=        gcc -E -Wp,-Wall<br>RM=        rm -f<br>TOUCH=        touch<br>PERL=       
 /usr/bin/perl<br>CC=        gcc<br>AS=        as<br>LD=        ld<br>SIZE=        size<br>AR=        ar<br>RANLIB=        ranlib<br>OBJCOPY=    objcopy<br><br>CFLAGS+=    -Os -ffreestanding<br>CFLAGS+=    -Wall -W -Wno-format<br>CFLAGS+=    $(EXTRA_CFLAGS)<br>ASFLAGS+=    $(EXTRA_ASFLAGS)<br>LDFLAGS+=    $(EXTRA_LDFLAGS)<br># For debugging<br># LDFLAGS+=    -Map $@.map<br><br># Location to place generated binaries, and files<br>BIN=bin<br>-----------------------------------------------------------------------------<br>arch/i386/Confi<br><br># BIOS select don't change unless you know what you are doing<br>#CFLAGS+=    -DPCBIOS<br><br># Compile in k8/hammer
 support<br>CFLAGS+=    -DCONFIG_X86_64<br><br># Options to make a version of Etherboot that will work under linuxBIOS.<br>CFLAGS+=    -DLINUXBIOS<br>CFLAGS+=    -DCONFIG_TSC_CURRTICKS<br>CFLAGS+=    -DCONSOLE_SERIAL<br>CFLAGS+=    -DCOMCONSOLE=0x3f8<br>CFLAGS+=    -DCOMPRESERVE<br>CFLAGS+=    -DCONFIG_PCI_DIRECT<br>CFLAGS+=    -DELF_IMAGE<br>CFLAGS+=    -DCONSOLE_DIRECT_VGA<br><br># These options affect the loader that is prepended to the Etherboot image<br># LCONFIG+=    -DBBS_BUT_NOT_PNP_COMPLIANT<br># LCONFIG+=    -DBOOT_INT18H<br><br># Produce code that will work inside the Bochs emulator.  The pnic<br># driver is probably the best one to try.<br>CFLAGS+=    -DCONFIG_PCI_DIRECT<br><br># Produce code that will work with OpenBSD's pxeboot<br>#CFLAGS+=   
 -DFLATTEN_REAL_MODE<br><br>CFLAGS+= -fstrength-reduce -fomit-frame-pointer -march=i386<br># Squeeze the code in as little space as possible.<br># gcc3 needs a different syntax to gcc2 if you want to avoid spurious warnings.<br>GCC_VERSION     = $(subst ., ,$(shell $(CC) -dumpversion))<br>GCC_MAJORVERSION = $(firstword $(GCC_VERSION))<br>ifeq ($(GCC_MAJORVERSION),2)<br>CFLAGS+=    -malign-jumps=1 -malign-loops=1 -malign-functions=1<br>else<br>CFLAGS+=    -falign-jumps=1 -falign-loops=1 -falign-functions=1<br>endif<br>GCC_MINORVERSION = $(word 2, $(GCC_VERSION))<br>ifneq ($(GCC_MINORVERSION),4)<br>CFLAGS+=    -march=i386<br>endif<br><br>LDFLAGS+=    -N<br><br>ifeq "$(shell uname -s)" "FreeBSD"<br>CFLAGS+=    -DIMAGE_FREEBSD -DELF_IMAGE -DAOUT_IMAGE<br>endif<br><br># An alternate location for isolinux.bin can be set here<br>#
 ISOLINUX_BIN=/path/to/isolinux.bin<br>-----------------------------------------------------------------------------------<br>filo/Config<br>#AUTOBOOT_FILE = "hda3:/boot/vmlinuz root=/dev/hda3 console=tty0 console=ttyS0,115200"<br>AUTOBOOT_FILE = "hda2:/boot/vmlinuz initrd=/boot/initrd pci=noacpi ro root=/dev/hda2 console=tty0 console=ttyS0,115200"<br>#AUTOBOOT_FILE = "mem@0xfff80000"<br>#AUTOBOOT_FILE = "hde1@0"<br>#AUTOBOOT_FILE = "uda1:/ram0_2.5_2.6.5_k8.2_mydisk7.elf"<br>#AUTOBOOT_FILE = "hda5:/boot/vmlinuz initrd=/boot/initrd ro root=/dev/hda7 console=tty0 console=ttyS0,115200"<br><br># Time in second before booting AUTOBOOT_FILE<br>AUTOBOOT_DELAY = 2<br><br># Driver for hard disk, CompactFlash, and CD-ROM on IDE bus<br>IDE_DISK = 1<br><br># Driver for USB disk<br>USB_DISK = 1<br><br># Filesystems<br># To make filo.zelf < 32 k, You may not enable JFS, MINIX, XFS<br># Is anyone still using these file system? BY LYH<br>FSYS_EXT2FS = 1<br>FSYS_FAT = 1<br>#FSYS_JFS =
 1<br>#FSYS_MINIX = 1<br>FSYS_REISERFS = 1<br>#FSYS_XFS = 1<br>FSYS_ISO9660 = 1<br><br># Support for boot disk image in bootable CD-ROM (El Torito)<br>ELTORITO = 1<br><br># PCI support<br>SUPPORT_PCI = 1<br><br><br># Debugging<br>#DEBUG_ALL = 1<br>#DEBUG_ELFBOOT = 1<br>#DEBUG_ELFNOTE = 1<br>#DEBUG_LINUXBIOS = 1<br>#DEBUG_MALLOC = 1<br>#DEBUG_MULTIBOOT = 1<br>#DEBUG_SEGMENT = 1<br>#DEBUG_SYS_INFO = 1<br>#DEBUG_TIMER = 1<br>#DEBUG_BLOCKDEV = 1<br>#DEBUG_PCI = 1<br>#DEBUG_LINUXLOAD = 1<br>#DEBUG_IDE = 1<br>#DEBUG_USB = 1<br>#DEBUG_ELTORITO = 1<br><br># i386 options<br><br># Loader for standard Linux kernel image, a.k.a. /vmlinuz<br>LINUX_LOADER = 1<br><br># Boot FILO from Multiboot loader (eg. GRUB)<br># You need to modify i386/multiboot.c to use it. change mmrange to e820entries.<br># By LYH<br>#MULTIBOOT_IMAGE = 1<br><br># Use PCI Configuration Mechanism #1 (most boards)<br>PCI_CONFIG_1 = 1<br><p> __________________________________________________<br>Do You
 Yahoo!?<br>Tired of spam?  Yahoo! Mail has the best spam protection around <br>http://mail.yahoo.com <p> __________________________________________________<br>Do You Yahoo!?<br>Tired of spam?  Yahoo! Mail has the best spam protection around <br>http://mail.yahoo.com