mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-15 07:41:45 +00:00
382 lines
15 KiB
Plaintext
382 lines
15 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:
|
|
#
|
|
# -DZPXE_SUFFIX_STRIP
|
|
# If the last 5 characters of the filename passed to Etherboot is
|
|
# ".zpxe" then strip it off. This is useful in cases where a DHCP server
|
|
# is not able to be configured to support conditionals. The way it works
|
|
# is that the DHCP server is configured with a filename like
|
|
# "foo.nbi.zpxe" so that when PXE asks for a filename it gets that, and
|
|
# loads Etherboot from that file. Etherboot then starts up and once
|
|
# again asks the DHCP server for a filename and once again gets
|
|
# foo.nbi.zpxe, but with this option turned on loads "foo.nbi" instead.
|
|
# This allows people to use Etherboot who might not otherwise be able to
|
|
# because their DHCP servers won't let them.
|
|
#
|
|
# -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
|
|
|
|
# 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=5 -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
|