summaryrefslogtreecommitdiffstats
path: root/src/usr/autoboot.c
Commit message (Collapse)AuthorAgeFilesLines
* [dhcp] Await link-up before starting DHCPJoshua Oreman2009-06-241-7/+0Star
| | | | | Modified-by: Michael Brown <mcb30@etherboot.org> Signed-off-by: Michael Brown <mcb30@etherboot.org>
* [ifmgmt] Move link-up status messages from autoboot() to iflinkwait()Joshua Oreman2009-06-241-5/+1Star
| | | | | | | | | | | | With the addition of link status codes, we can now display a detailed error indication if iflinkwait() fails. Putting the error output in iflinkwait avoids code duplication, and gains symmetry with the other interface management routines; ifopen() already prints an error directly if it cannot open its interface. Modified-by: Michael Brown <mcb30@etherboot.org> Signed-off-by: Michael Brown <mcb30@etherboot.org>
* [legal] Add a selection of FILE_LICENCE declarationsMichael Brown2009-05-181-0/+2
| | | | | Add FILE_LICENCE declarations to almost all files that make up the various standard builds of gPXE.
* [tables] Redefine methods for accessing linker tablesMichael Brown2009-03-131-8/+1Star
| | | | | | | | | | | | | | | Intel's C compiler (icc) chokes on the zero-length arrays that we currently use as part of the mechanism for accessing linker table entries. Abstract away the zero-length arrays, to make a port to icc easier. Introduce macros such as for_each_table_entry() to simplify the common case of iterating over all entries in a linker table. Represent table names as #defined string constants rather than unquoted literals; this avoids visual confusion between table names and C variable or type names, and also allows us to force a compilation error in the event of incorrect table names.
* [image] Allow multiple embedded imagesMichael Brown2009-02-161-30/+0Star
| | | | | | | | | | This patch extends the embedded image feature to allow multiple embedded images instead of just one. gPXE now always boots the first embedded image on startup instead of doing the hardcoded DHCP boot (aka autoboot). Based heavily upon a patch by Stefan Hajnoczi <stefanha@gmail.com>.
* [pxe] Skip PXE boot server discovery if directed to do soMichael Brown2009-02-051-6/+15
| | | | | Option 43.6 can direct us to skip PXE boot server discovery and just perform a standard DHCP filename boot.
* [dhcp] Split PXE menuing code out of dhcp.cMichael Brown2009-02-011-2/+13
| | | | | | | | | The DHCP client code now implements only the mechanism of the DHCP and PXE Boot Server protocols. Boot Server Discovery can be initiated manually using the "pxebs" command. The menuing code is separated out into a user-level function on a par with boot_root_path(), and is entered in preference to a normal filename boot if the DHCP vendor class is "PXEClient" and the PXE boot menu option exists.
* [sanboot] Quick and dirty hack to make SAN boot protocols selectableMichael Brown2008-10-131-6/+14
|
* [autoboot] Retain initial-slash (if present) when constructing TFTP URIsMichael Brown2008-07-311-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we boot from a DHCP-supplied filename, we previously relied on the fact that the current working URI is set to tftp://[next-server]/ in order to resolve the filename into a full tftp:// URI. However, this process will eliminate the distinction between filenames with and without initial slashes: cwuri="tftp://10.0.0.1/" filename="vmlinuz" => URI="tftp://10.0.0.1/vmlinuz" cwuri="tftp://10.0.0.1/" filename="/vmlinuz" => URI="tftp://10.0.0.1/vmlinuz" This distinction is important for some TFTP servers. We now explicitly construct a string of the form "tftp://[next-server]/filename" so that a filename with an initial slash will result in a URI containing a double-slash, e.g. "tftp://10.0.0.1//vmlinuz" The TFTP code always strips a single initial slash, and so ends up presenting the correct path to the server. URIs entered explicitly by users at the command line must include a double slash if they want an initial slash presented to the TFTP server: "kernel tftp://10.0.0.1/vmlinuz" => filename="vmlinuz" "kernel tftp://10.0.0.1//vmlinuz" => filename="/vmlinuz"
* [iSCSI] Support Windows Server 2008 direct iSCSI installationMichael Brown2008-07-171-0/+3
| | | | | | | | | | | | | Add yet another ugly hack to iscsiboot.c, this time to allow the user to inhibit the shutdown/removal of the iSCSI INT13 device (and the network devices, since they are required for the iSCSI device to function). On the plus side, the fact that shutdown() now takes flags to differentiate between shutdown-for-exit and shutdown-for-boot means that another ugly hack (to allow returning via the PXE stack on BIOSes that have broken INT 18 calls) will be easier. I feel dirty.
* [NETDEV] Add notion of link stateMichael Brown2008-04-221-0/+11
| | | | | | | | | | | Add ability for network devices to flag link up/down state to the networking core. Autobooting code will now wait for link-up before attempting DHCP. IPoIB reflects the Infiniband link state as the network device link state (which is not strictly correct; we also need a succesful IPoIB IPv4 broadcast group join), but is probably more informative.
* [Settings] Remove assumption that all settings have DHCP tag valuesMichael Brown2008-03-251-2/+2
| | | | | | | | | | | | Allow for settings to be described by something other than a DHCP option tag if desirable. Currently used only for the MAC address setting. Separate out fake DHCP packet creation code from dhcp.c to fakedhcp.c. Remove notion of settings from dhcppkt.c. Rationalise dhcp.c to use settings API only for final registration of the DHCP options, rather than using {store,fetch}_setting throughout.
* [Settings] Convert code in src/usr to use settings API.Michael Brown2008-03-211-4/+3Star
|
* [Command] Add "sanboot" command.Michael Brown2008-03-041-1/+1
|
* Added the embedded pxelinux payload patch from hpa.Michael Brown2008-01-081-0/+30
|
* Display name and status of each file as it is downloaded.Michael Brown2007-08-031-4/+9
|
* Error message cleanups.Michael Brown2007-08-021-1/+1
|
* Allow images to hold references to the originating URI.Michael Brown2007-08-021-13/+3Star
| | | | Some shuffling around of the image management code; this needs tidying up.
* Quick hack to get AoE back in to the tree, on a par with the currentMichael Brown2007-07-291-4/+7
| | | | iSCSI hack.
* make netboot() staticHolger Lubitz2007-07-271-1/+1
|
* Fix up iscsiboot missing prototype warningsMichael Brown2007-07-091-0/+1
|
* Ready to start testingMichael Brown2007-07-081-26/+66
|
* Warnings purge: src/arch/i386, src/core/disk.c, ramdisk, autobootMarty Connor2007-07-031-28/+0Star
|
* Quick hack to get image booting working againMichael Brown2007-06-281-1/+9
|
* TypoMichael Brown2007-03-201-2/+2
|
* Use stdio.h instead of vsprintf.hMichael Brown2007-01-191-1/+1
|
* Use dhcp(), imgfetch() etc. to boot rather than dhcp_test().Michael Brown2007-01-121-5/+35
|
* Add route() function to display routing table.Michael Brown2007-01-101-0/+3
|
* Try booting from the "boot" network device first (i.e. the one which weMichael Brown2007-01-101-7/+80
| | | | | were loaded from). The code to identify this device isn't present yet, but the code to act upon the knowledge is.
* Move header file for usr/autoboot.c to include/usrMichael Brown2007-01-101-1/+3
|
* Added network interface management commandsMichael Brown2007-01-101-13/+9Star
|
* Add "name" field to network device, to facilitate netdev commands.Michael Brown2007-01-101-1/+1
|
* Make open() and close() an official part of the netdevice API.Michael Brown2007-01-041-3/+15
| | | | Call netdevice's poll() and transmit() methods only when device is open.
* Split the (quick hack) boot logic out from main.c to autoboot.c, add aMichael Brown2006-12-201-0/+40
"boot" command to attempt booting from within the command shell, fall back to shell if boot fails for any reason.