summaryrefslogtreecommitdiffstats
path: root/src/hci/commands
Commit message (Collapse)AuthorAgeFilesLines
...
* [cmdline] Add generic concat_args() functionMichael Brown2011-03-071-30/+15Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Clear the command line rather than setting an empty command lineMichael Brown2011-03-071-3/+6
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Simplify image managementMichael Brown2011-03-071-34/+30Star
| | | | | | | | | | | Refactor the {load,exec} image operations as {probe,exec}. This makes the probe mechanism cleaner, eliminates some forward declarations, avoids holding magic state in image->priv, eliminates the possibility of screwing up between the "load" and "exec" stages, and makes the documentation simpler since the concept of "loading" (as distinct from "executing") no longer needs to be explained. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [parseopt] Refer to online documentation for command helpMichael Brown2011-03-0416-62/+33Star
| | | | | | | | | | The online documentation (e.g. http://ipxe.org/cmd/ifopen), though not yet complete, is far more comprehensive than could be provided within the iPXE binary. Save around 200 bytes (compressed) by removing the command descriptions from the interactive help, and instead referring users directly to the web page describing the relevant command. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [autoboot] Connect SAN disk during a filename boot, if applicableMichael Brown2011-01-271-4/+16
| | | | | | | | | | | | | | | | | | | For performing installations direct to a SAN target, it can be very useful to hook a SAN disk and then proceed to perform a filename boot. For example, the user may wish to hook the (empty) SAN installation disk and then boot into the OS installer via TFTP. This provides an alternative mechanism to using "keep-san" and relying on the BIOS to fall through to boot from the installation media, which is unreliable on many BIOSes. When a root-path is specified in addition to a boot filename, attempt to hook the root-path as a SAN disk before booting from the specified filename. Since the root-path may be used for non-SAN purposes (e.g. an NFS root mount point), ignore the root-path if it contains a URI scheme that we do not support. Originally-implemented-by: Jarrod Johnson <jarrod.b.johnson@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [settings] Allow "set" command to take an empty valueMichael Brown2010-11-221-1/+1
| | | | | | | | | | Allow "set <variable>" to be used to set the variable to an empty value, if permitted by the setting type. Note that some settings backends do not differentiate between an empty value and a non-existent value, so this may or may not be equivalent to "clear <variable>". Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [autoboot] Merge "netboot" command into "autoboot"Michael Brown2010-11-221-64/+4Star
| | | | | | | | | | Allow "autoboot" to accept an optional list of network devices, and remove the "netboot" command. This saves around 130 bytes. The "netboot" command has existed for approximately 48 hours, so its removal should not cause backwards compatibility issues for anyone. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Add some missing FILE_LICENCE declarationsMichael Brown2010-11-223-0/+6
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Use generic option-parsing libraryMichael Brown2010-11-221-315/+156Star
| | | | | | Total saving: 548 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [login] Use generic option-parsing libraryMichael Brown2010-11-221-6/+50
| | | | | | Total cost: 7 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [route] Use generic option-parsing libraryMichael Brown2010-11-221-34/+17Star
| | | | | | Total saving: 71 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [san] Use generic option-parsing libraryMichael Brown2010-11-221-33/+41
| | | | | | Total saving: 73 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [time] Use generic option-parsing libraryMichael Brown2010-11-221-24/+58
| | | | | | Total saving: 88 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [lotest] Use generic option-parsing libraryMichael Brown2010-11-221-59/+42Star
| | | | | | Total saving: 145 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [gdb] Use generic option-parsing libraryMichael Brown2010-11-221-42/+50
| | | | | | Total saving: 42 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Use generic option-parsing libraryMichael Brown2010-11-221-105/+134
| | | | | | Total saving: 111 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [digest] Use generic option-parsing libraryMichael Brown2010-11-221-25/+25
| | | | | | Total saving: 68 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [dhcp] Use generic option-parsing libraryMichael Brown2010-11-221-120/+35Star
| | | | | | Total saving: 329 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ifmgmt] Use generic option-parsing libraryMichael Brown2010-11-222-94/+137
| | | | | | Total cost: 66 bytes Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [settings] Use generic option-parsing libraryMichael Brown2010-11-212-40/+201
| | | | | | Total cost: 75 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [autoboot] Use generic option-parsing libraryMichael Brown2010-11-211-32/+89
| | | | | | Total saving: 32 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [vlan] Use generic option-parsing libraryMichael Brown2010-11-211-99/+66Star
| | | | | | Total saving: 261 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [autoboot] Add "netboot" commandMichael Brown2010-11-201-3/+36
| | | | | Originally-implemented-by: michael-dev@fami-braun.de Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [vlan] Add support for IEEE 802.1Q VLANsMichael Brown2010-11-201-0/+174
| | | | | Originally-implemented-by: michael-dev@fami-braun.de Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [list] Add list_first_entry()Michael Brown2010-11-081-3/+2Star
| | | | | | | | | There are several points in the iPXE codebase where list_for_each_entry() is (ab)used to extract only the first entry from a list. Add a macro list_first_entry() to make this code easier to read. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [settings] Modify "set" command to allow space separated valuesMichael Brown2010-09-211-5/+25
| | | | | | | | | Allow multiple, space separated values (such as kernel arguments, passed via DHCP) to be assigned to an identifier using the "set" command. Originally-implemented-by: Aaron Brooks <aaron@brooks1.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [lotest] Add loopback testing commandsMichael Brown2010-09-211-0/+114
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Add Fibre Channel management commandsMichael Brown2010-09-151-0/+189
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [dhcp] Allow multiple interfaces in dhcp commandMichael Brown2010-08-161-22/+56
| | | | | | | | | | | | | | | | | | The "dhcp" command now accepts a list of interfaces to try until one succeeds. For example: iPXE> dhcp net0 net1 net2 If no interfaces are specified, all interfaces will be tried. Note that interfaces that fail to DHCP are closed in order to avoid memory exhaustion. This behavior differs from the previous "dhcp" command implementation but should not affect any existing scripts since a "dhcp" command failure would in any case cause the script to abort. Originally-implemented-by: Lars Kellogg-Stedman <lars@oddbit.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Rename gPXE to iPXEMichael Brown2010-04-2013-30/+30
| | | | | | | | | | | Access to the gpxe.org and etherboot.org domains and associated resources has been revoked by the registrant of the domain. Work around this problem by renaming project from gPXE to iPXE, and updating URLs to match. Also update README, LOG and COPYRIGHTS to remove obsolete information. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [iwmgmt] Add wireless management commands and text for common errorsJoshua Oreman2010-01-051-0/+69
| | | | | | | | Add commands `iwstat' (to list 802.11-specific status information for 802.11 devices) and `iwlist' (to scan for available networks and print a list along with security information). Signed-off-by: Marty Connor <mdc@etherboot.org>
* [ifmgmt] Move ifmgmt_cmd.h to include/hciMichael Brown2009-06-282-31/+1Star
|
* [ifmgmt] Optimise prototype for ifcommon_exec()Michael Brown2009-06-282-12/+12
| | | | | | | | | | ifcommon_exec() was long-ago marked as __attribute__((regparm(2))) in order to minimise the size of functions that call into it. Since then, gPXE has added -mregparm=3 as a general compilation option, and this "optimisation" is now counter-productive. Change (and simplify) the prototype to minimise code size given the current compilation conditions.
* [hci] Expose ifcommon_exec() in a local header so wireless commands can use itJoshua Oreman2009-06-242-1/+32
| | | | | | | | This keeps code size down, since the wireless interface management commands have the same command-line interface and overall structure as the wired commands. Signed-off-by: Michael Brown <mcb30@etherboot.org>
* [image] Modify imgfree command to accept an argumentJoshua Oreman2009-06-231-5/+18
| | | | | | | This resolves potential difficulties occurring when more than one script is used. Total cost: 88 bytes uncompressed. Signed-off-by: Michael Brown <mcb30@etherboot.org>
* [legal] Add a selection of FILE_LICENCE declarationsMichael Brown2009-05-189-0/+18
| | | | | Add FILE_LICENCE declarations to almost all files that make up the various standard builds of gPXE.
* [digest] md5sum and sha1sum commandsDaniel Verkamp2009-03-271-0/+120
| | | | | Modified-by: Michael Brown <mcb30@etherboot.org> Signed-off-by: Michael Brown <mcb30@etherboot.org>
* [time] Add the sleep commandShao Miller2009-03-261-0/+30
| | | | | | | Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Reviewed-by: Thomas Miletich <thomas.miletich@gmail.com> Modified-by: Michael Brown <mcb30@etherboot.org> Signed-off-by: Michael Brown <mcb30@etherboot.org>
* [time] Add the time commandDaniel Verkamp2009-03-061-0/+54
| | | | Signed-off-by: Michael Brown <mcb30@etherboot.org>
* [image] Allow for zero embedded imagesMichael Brown2009-02-241-4/+4
| | | | | | | | | | | | | | | | | | Having a default script containing #!gpxe autoboot can cause problems when entering commands to load and start a kernel manually; the default script image will still be present when the kernel is started and so will be treated as an initrd. It is possible to work around this by typing "imgfree" before any other commands, but this is counter-intuitive. Fix by allowing the embedded image list to be empty (in which case we just call autoboot()), and making this the default. Reported by alkisg@gmail.com.
* [image] Added "chain" command to fetch, load, and execute imageShao Miller2009-02-241-0/+20
| | | | | | | | | | | | The "chain" command combines the functions of "imgfetch", "imgload", and "boot". chain http://etherboot.org/gtest/gtest.gpxe is equivalent to: kernel http://etherboot.org/gtest/gtest.gpxe boot
* [login] Add "login" command and UIMichael Brown2009-02-171-0/+27
|
* [pxe] Obey lists of PXE Boot Servers and associated Discovery Control bitsMichael Brown2009-02-051-13/+4Star
| | | | | | | | Various combinations of options 43.6, 43.7 and 43.8 dictate which servers we send Boot Server Discovery requests to, and which servers we should accept responses from. Obey these options, and remove the explicit specification of a single Boot Server from start_pxebs() and dependent functions.
* [dhcp] Split PXE menuing code out of dhcp.cMichael Brown2009-02-011-5/+94
| | | | | | | | | 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.
* [commands] Fix config command to accept zero argumentsMichael Brown2008-10-121-1/+1
|
* [image] Fail "imgexec"/"boot" if the image to execute is ambiguousMichael Brown2008-07-081-1/+1
| | | | | | | | | | | | | | | If there is more than one loaded image, refuse to automatically select the image to execute. There are at least two possible cases, with different "correct" answers: 1. User loads image A by mistake, then loads image B and types "boot". User wants to execute image B. 2. User loads image A, then loads image B (which patches image A), then types "boot". User wants to execute image A. If a user actually wants to load multiple images, they must explicitly specify which image is to be executed.
* [settings] Allow "config" command to access root settings blockMichael Brown2008-07-081-7/+7
|
* [bzimage] Kill off the initrd image typeMichael Brown2008-07-081-22/+4Star
| | | | | | | We can just treat all non-kernel images as initrds, which matches our behaviour for multiboot kernels. This allows us to eliminate initrd as an image type, and treat the "initrd" command as just another synonym for "imgfetch".
* [GDB] Remote debugging over UDPStefan Hajnoczi2008-06-301-0/+105
| | | | | | | | | | | | | | | | | This commit implements GDB over UDP. Using UDP is more complex than serial and has required some restructuring. The GDB stub is now built using one or both of GDBSERIAL and GDBUDP config.h options. To enter the debugger, execute the gPXE shell command: gdbstub <transport> [<options>...] Where <transport> is "serial" or "udp". For "udp", the name of a configured network device is required: gdbstub udp net0 The GDB stub listens on UDP port 43770 by default.
* [cmdline] Fix image command-line construction for zero-length argument listsMichael Brown2008-06-271-5/+8
| | | | This fixes a bug introduced in commit 4c85017.