mirror of
				https://github.com/xcat2/xNBA.git
				synced 2025-10-31 03:12:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			377 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			377 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ##############################################################################
 | |
| ##############################################################################
 | |
| #
 | |
| # IMPORTANT!
 | |
| # 
 | |
| # The use of this file to set options that affect only single object
 | |
| # files is deprecated, because changing anything in this file results
 | |
| # in a complete rebuild, which is slow.  All options are gradually
 | |
| # being migrated to config.h, which does not suffer from this problem.
 | |
| # 
 | |
| # Only options that affect the entire build (e.g. overriding the $(CC)
 | |
| # Makefile variable) should be placed in here.
 | |
| #
 | |
| ##############################################################################
 | |
| ##############################################################################
 | |
| 
 | |
| 
 | |
| #
 | |
| # 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 (N)etwork ... or (Q)uit? " 
 | |
| #			at startup, timeout after n seconds (0 = no timeout).
 | |
| #			If unset or negative, don't ask and boot immediately
 | |
| #			using the default.
 | |
| #	-DBOOT_FIRST
 | |
| #	-DBOOT_SECOND
 | |
| #	-DBOOT_THIRD
 | |
| #			On timeout or Return key from previous
 | |
| #			question, selects the order to try to boot from
 | |
| #			various devices.
 | |
| #			(alternatives: BOOT_NIC, BOOT_DISK,
 | |
| #			 BOOT_FLOPPY, BOOT_NOTHING)
 | |
| #			See etherboot.h for prompt and answer strings.
 | |
| #			BOOT_DISK and BOOT_FLOPPY work only where a driver
 | |
| #			exists, e.g. in LinuxBIOS.
 | |
| #			They have no effect on PCBIOS.
 | |
| #	-DBOOT_INDEX	The device to boot from 0 == any device.
 | |
| #			1 == The first nic found.
 | |
| #			2 == The second nic found
 | |
| #			...
 | |
| #			BOOT_INDEX only applies to the BOOT_FIRST.  BOOT_SECOND 
 | |
| #			and BOOT_THIRD search through all of the boot devices.
 | |
| #	-DBAR_PROGRESS
 | |
| #			Use rotating bar instead of sequential dots
 | |
| #			to indicate an IP packet transmitted.
 | |
| #
 | |
| #	Boot order options:
 | |
| #
 | |
| #	-DBOOT_CLASS_FIRST
 | |
| #	-DBOOT_CLASS_SECOND
 | |
| #	-DBOOT_CLASS_THIRD
 | |
| #			Select the priority of the boot classes
 | |
| #			Valid values are:
 | |
| #				BOOT_NIC
 | |
| #				BOOT_DISK
 | |
| #				BOOT_FLOPPY
 | |
| #	BOOT_DISK and BOOT_FLOPPY work only where a driver exists,
 | |
| #	e.g. in LinuxBIOS.  They have no effect on PCBIOS.
 | |
| #
 | |
| #	Boot autoconfiguration protocol options:
 | |
| #
 | |
| #	-DALTERNATE_DHCP_PORTS_1067_1068
 | |
| #			Use ports 1067 and 1068 for DHCP instead of 67 and 68.
 | |
| #			As these ports are non-standard, you need to configure
 | |
| #			your DHCP server to use them. This option gets around
 | |
| #			existing DHCP servers which cannot be touched, for
 | |
| #			one reason or another, at the cost of non-standard
 | |
| #			boot images.
 | |
| #	-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.
 | |
| #	-DDHCP_CLIENT_ID=\"Identifier\"
 | |
| #	-DDHCP_CLIENT_ID_LEN=<Client ID length in octets>
 | |
| #	-DDHCP_CLIENT_ID_TYPE=<Client ID type>
 | |
| #			Specify a RFC2132 Client Identifier option, length and type.
 | |
| #			Requires DHCP support.
 | |
| #	-DDHCP_USER_CLASS=\"UserClass\"
 | |
| #	-DDHCP_USER_CLASS_LEN=<User Class length in octets>
 | |
| # 			Specify a RFC3004 User Class option and length. Use this
 | |
| #			option to set a UC (or multiple UCs) rather than munge the
 | |
| #			client Vendor Class ID.
 | |
| #			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.
 | |
| #	-DDEFAULT_BOOTFILE=\"default_bootfile_name\"
 | |
| #			Define a default bootfile for the case where your DHCP
 | |
| #			server does not provide the information.  Example:
 | |
| #			  -DDEFAULT_BOOTFILE="tftp:///tftpboot/kernel"
 | |
| #			If you do not specify this option, then DHCP offers that
 | |
| #			do not specify bootfiles will be ignored.
 | |
| #
 | |
| #	NIC tuning parameters:
 | |
| #
 | |
| #	-DALLMULTI
 | |
| #			Turns on multicast reception in the NICs.
 | |
| #
 | |
| #	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.
 | |
| #	-DTIMEOUT=n
 | |
| #			Use with care!! See above.
 | |
| #			Sets the base of RFC2131 sleep interval to n.
 | |
| #			This can be used with -DBACKOFF_LIMIT=0 to get a small
 | |
| #			and constant (predictable) retry interval for embedded
 | |
| #			devices. This is to achieve short boot delays if both
 | |
| #			the DHCP Server and the embedded device will be powered
 | |
| #			on the same time. Otherwise if the DHCP server is ready
 | |
| #			the client could sleep the next exponentially timeout,
 | |
| #			e.g. 70 seconds or more. This is not what you want.
 | |
| #			n should be a multiple of TICKS_PER_SEC (18).
 | |
| #
 | |
| #	Boot device options:
 | |
| #
 | |
| #	-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.
 | |
| #	-DEXIT_IF_NO_OFFER
 | |
| #			If no IP offer is obtained, exit and
 | |
| #			let the BIOS continue.
 | |
| #			The accessibility of the TFTP server has no effect,
 | |
| #			so configure your DHCP/BOOTP server properly.
 | |
| #			You should probably reduce MAX_BOOTP_RETRIES
 | |
| #			to a small number like 3.
 | |
| #
 | |
| #	Boot image options:
 | |
| #
 | |
| #	-DFREEBSD_KERNEL_ENV
 | |
| #			Pass in FreeBSD kernel environment
 | |
| #	-DAOUT_LYNX_KDI
 | |
| #			Add Lynx a.out KDI support
 | |
| #	-DMULTICAST_LEVEL1
 | |
| #			Support for sending multicast packets
 | |
| #	-DMULTICAST_LEVEL2
 | |
| #			Support for receiving multicast packets
 | |
| #
 | |
| #	Interface export options:
 | |
| #
 | |
| #	-DPXE_EXPORT
 | |
| #			Export a PXE API interface.  This is work in
 | |
| #			progress.  Note that you won't be able to load
 | |
| #			PXE NBPs unless you also use -DPXE_IMAGE.
 | |
| #	-DPXE_STRICT
 | |
| #			Strict(er) compliance with the PXE
 | |
| #			specification as published by Intel.  This may
 | |
| #                       or may not be a good thing depending on your
 | |
| #			view of the spec...
 | |
| #	-DPXE_DHCP_STRICT
 | |
| #			Strict compliance of the DHCP request packets
 | |
| #			with the PXE specification as published by
 | |
| #			Intel.  This may or may not be a good thing
 | |
| #			depending on your view of whether requesting
 | |
| #			vendor options which don't actually exist is
 | |
| #			pointless or not. You probably want this
 | |
| #			option if you intend to use Windows RIS or
 | |
| #			similar.
 | |
| #
 | |
| #	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.
 | |
| #
 | |
| # @/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.
 | |
| 
 | |
| 
 | |
| # For prompting and default on timeout
 | |
| CFLAGS+=	-DASK_BOOT=3 -DBOOT_FIRST=BOOT_NIC
 | |
| # If you would like to attempt to boot from other devices as well as the network.
 | |
| # CFLAGS+=	-DBOOT_SECOND=BOOT_FLOPPY
 | |
| # CFLAGS+=	-DBOOT_THIRD=BOOT_DISK
 | |
| # CFLAGS+=	-DBOOT_INDEX=0
 | |
| 
 | |
| # If you prefer the old style rotating bar progress display
 | |
| # CFLAGS+=	-DBAR_PROGRESS
 | |
| 
 | |
| # Show size indicator
 | |
| # CFLAGS+=	-DSIZEINDICATOR
 | |
| 
 | |
| # Enabling this creates non-standard images which use ports 1067 and 1068
 | |
| # for DHCP/BOOTP
 | |
| # CFLAGS+=	-DALTERNATE_DHCP_PORTS_1067_1068
 | |
| 
 | |
| # 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
 | |
| # CFLAGS+=	-DREQUIRE_VCI_ETHERBOOT
 | |
| 
 | |
| # EXPERIMENTAL! Set DHCP_CLIENT_ID to create a Client Identifier (DHCP
 | |
| # option 61, see RFC2132 section 9.14) when Etherboot sends the DHCP
 | |
| # DISCOVER and REQUEST packets.  This ID must UNIQUELY identify each
 | |
| # client on your local network.  Set DHCP_CLIENT_ID_TYPE to the
 | |
| # appropriate hardware type as described in RFC2132 / RFC1700; this
 | |
| # almost certainly means using '1' if the Client ID is an Ethernet MAC
 | |
| # address and '0' otherwise. Set DHCP_CLIENT_ID_LEN to the length of
 | |
| # the Client ID in octets (this is not a null terminated C string, do
 | |
| # NOT add 1 for a terminator and do NOT add an extra 1 for the
 | |
| # hardware type octet).  Note that to identify your client using the
 | |
| # normal default MAC address of your NIC, you do NOT need to set this
 | |
| # option, as the MAC address is automatically used in the
 | |
| # hwtype/chaddr field; note also that this field only sets the DHCP
 | |
| # option: it does NOT change the MAC address used by the client.
 | |
| 
 | |
| # CFLAGS+=	-DDHCP_CLIENT_ID="'C','L','I','E','N','T','0','0','1'" \
 | |
| #		-DDHCP_CLIENT_ID_LEN=9 -DDHCP_CLIENT_ID_TYPE=0
 | |
| 
 | |
| # CFLAGS+=	-DDHCP_CLIENT_ID="0xDE,0xAD,0xBE,0xEF,0xDE,0xAD" \
 | |
| #		-DDHCP_CLIENT_ID_LEN=6 -DDHCP_CLIENT_ID_TYPE=1
 | |
| 
 | |
| # EXPERIMENTAL! Set DHCP_USER_CLASS to create a User Class option (see
 | |
| # RFC3004) when Etherboot sends the DHCP DISCOVER and REQUEST packets.
 | |
| # This can be used for classification of clients, typically so that a
 | |
| # DHCP server can send an appropriately tailored reply.  Normally, a
 | |
| # string identifies a class of to which this client instance belongs
 | |
| # which is useful in your network, such as a department ('FINANCE' or
 | |
| # 'MARKETING') or hardware type ('THINCLIENT' or 'KIOSK').  Set
 | |
| # DHCP_USER_CLASS_LEN to the length of DHCP_USER_CLASS in octets.
 | |
| # This is NOT a null terminated C string, do NOT add 1 for a
 | |
| # terminator.  RFC3004 advises how to lay out multiple User Class
 | |
| # options by using an octet for the length of each string, as in this
 | |
| # example.  It is, of course, up to the server to parse this.
 | |
| 
 | |
| # CFLAGS+=	-DDHCP_USER_CLASS="'T','E','S','T','C','L','A','S','S'"	\
 | |
| #		-DDHCP_USER_CLASS_LEN=9
 | |
| 
 | |
| # CFLAGS+=	-DDHCP_USER_CLASS="5,'A','L','P','H','A',4,'B','E','T','A'" \
 | |
| #		-DDHCP_USER_CLASS_LEN=11
 | |
| 
 | |
| # Set to enable FILO support
 | |
| # for FILO support it will make main call pci_init
 | |
| # INCLUDE_FILO=y
 | |
| ifdef	INCLUDE_FILO
 | |
| CFLAGS+=	-DCONFIG_FILO
 | |
| endif
 | |
| 
 | |
| # 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.
 | |
| CFLAGS+=	-DALLOW_ONLY_ENCAPSULATED
 | |
| 
 | |
| # Disable DHCP support
 | |
| # CFLAGS+=	-DNO_DHCP_SUPPORT
 | |
| 
 | |
| # Specify a default bootfile to be used if the DHCP server does not
 | |
| # provide the information.  If you do not specify this option, then
 | |
| # DHCP offers that do not contain bootfiles will be ignored.
 | |
| # CFLAGS+=	-DDEFAULT_BOOTFILE=\"tftp:///tftpboot/kernel\"
 | |
| 
 | |
| # Limit the delay on packet loss/congestion to a more bearable value. See
 | |
| # description above.  If unset, do not limit the delay between resend.
 | |
| CFLAGS+=	-DBACKOFF_LIMIT=7 -DCONGESTED
 | |
| 
 | |
| # More optional features
 | |
| # CFLAGS+=	-DTRY_FLOPPY_FIRST=4
 | |
| # CFLAGS+=	-DEXIT_IF_NO_OFFER
 | |
| 
 | |
| 
 | |
| # Multicast Support
 | |
| # CFLAGS+=	-DALLMULTI -DMULTICAST_LEVEL1 -DMULTICAST_LEVEL2
 | |
| 
 | |
| # Etherboot as a PXE network protocol ROM
 | |
| CFLAGS+=	-DPXE_IMAGE -DPXE_EXPORT
 | |
| # Etherboot stricter as a PXE network protocol ROM
 | |
| # CFLAGS+=	-DPXE_DHCP_STRICT
 | |
| 
 | |
| # Support for PXE emulation. Works only with FreeBSD to load the kernel
 | |
| # via pxeboot, use only with DOWNLOAD_PROTO_NFS
 | |
| # CFLAGS+=	-DFREEBSD_PXEEMU
 | |
| 
 | |
| 
 | |
| 
 | |
| # Garbage from Makefile.main temporarily placed here until a home can
 | |
| # be found for it.
 | |
| 
 | |
| # NS8390 options:
 | |
| #	-DINCLUDE_NE	- Include NE1000/NE2000 support
 | |
| #	-DNE_SCAN=list	- Probe for NE base address using list of
 | |
| #			  comma separated hex addresses
 | |
| #	-DINCLUDE_3C503 - Include 3c503 support
 | |
| #	  -DT503_SHMEM	- Use 3c503 shared memory mode (off by default)
 | |
| #	-DINCLUDE_WD	- Include Western Digital/SMC support
 | |
| #	-DWD_DEFAULT_MEM- Default memory location for WD/SMC cards
 | |
| #	-DWD_790_PIO    - Read/write to WD/SMC 790 cards in PIO mode (default
 | |
| #			  is to use shared memory) Try this if you get "Bogus
 | |
| #			  packet, ignoring" messages, common on ISA/PCI hybrid
 | |
| #			  systems.
 | |
| #	-DCOMPEX_RL2000_FIX
 | |
| #
 | |
| #	If you have a Compex RL2000 PCI 32-bit (11F6:1401),
 | |
| #	and the bootrom hangs in "Probing...[NE*000/PCI]",
 | |
| #	try enabling this fix... it worked for me :).
 | |
| #	In the first packet write somehow it somehow doesn't
 | |
| #	get back the expected data so it is stuck in a loop.
 | |
| #	I didn't bother to investigate what or why because it works
 | |
| #	when I interrupt the loop if it takes more then COMPEX_RL2000_TRIES.
 | |
| #	The code will notify if it does a abort.
 | |
| #	SomniOne - somnione@gmx.net
 | |
| #
 | |
| # 3C90X options:
 | |
| #	Warning Warning Warning
 | |
| #	If you use any of the XCVR options below, please do not complain about
 | |
| #	the behaviour with Linux drivers to the kernel developers. You are
 | |
| #	on your own if you do this. Please read 3c90x.txt to understand
 | |
| #	what they do. If you don't understand them, ask for help on the
 | |
| #	Etherboot mailing list. And please document what you did to the NIC
 | |
| #	on the NIC so that people after you won't get nasty surprises.
 | |
| #
 | |
| #	-DCFG_3C90X_PRESERVE_XCVR - Reset the transceiver type to the value it
 | |
| #			  had initially just before the loaded code is started.
 | |
| #	-DCFG_3C90X_XCVR - Hardcode the tranceiver type Etherboot uses.
 | |
| #	-DCFG_3C90X_BOOTROM_FIX - If you have a 3c905B with buggy ROM
 | |
| #			  interface, setting this option might "fix" it.  Use
 | |
| #			  with caution and read the docs in 3c90x.txt!
 | |
| #
 | |
| #	See the documentation file 3c90x.txt for more details.
 | |
| #
 | |
| # CS89X0 (optional) options:
 | |
| #	-DISA_PROBE_ADDRS=list	
 | |
| #			  Probe for CS89x0 base address using list of
 | |
| #			  comma separated hex addresses; increasing the
 | |
| #			  address by one (0x300 -> 0x301) will force a
 | |
| #			  more aggressive probing algorithm. This might
 | |
| #			  be neccessary after a soft-reset of the NIC.
 | |
| 
 | |
| 
 | |
| CFLAGS_3c503	= -DINCLUDE_3C503 # -DT503_SHMEM
 | |
| CFLAGS_ne	= -DINCLUDE_NE -DNE_SCAN=0x300,0x280,0x320,0x340,0x380
 | |
| CFLAGS_ns8390	= -DINCLUDE_NS8390	# NE2000/PCI!
 | |
| CFLAGS_wd	= -DINCLUDE_WD -DWD_DEFAULT_MEM=0xCC000
 |