david/ipxe
Archived
1
0
Commit Graph

57 Commits

Author SHA1 Message Date
Michael Brown
c5d9114064 Allow loading of multiple initramfs images. 2007-07-31 18:09:18 +01:00
Michael Brown
5e26df0325 Centralise construction of the DHCP request and response packets. 2007-07-31 03:02:21 +01:00
Holger Lubitz
9a4790667a make multiboot_load static 2007-07-27 22:01:23 +02:00
Holger Lubitz
dc38303ff9 make nbi_load static 2007-07-27 22:00:51 +02:00
Holger Lubitz
5ec4e2ad50 make eltorito_load static 2007-07-27 21:58:31 +02:00
Michael Brown
d5e39286f7 We probably shouldn't leave interrupts disabled when starting an OS. 2007-07-25 02:02:24 +01:00
Michael Brown
07e11f8af9 Minor debug improvement 2007-07-19 17:01:21 +01:00
Michael Brown
6d2e4e719c Move uninitialised .data16 variables to .bss16; saves around 2000
bytes of useless zeroes in the final image.
2007-07-16 13:22:12 +01:00
Michael Brown
89349d7fad Separated out initialisation functions from startup/shutdown functions. 2007-07-03 23:09:56 +01:00
Michael Brown
071356d976 Ensure that pxe_netdev is set before starting up PXE NBP. 2007-07-03 00:02:26 +01:00
Michael Brown
e42eba4af4 Use a common base-memory packet buffer for DHCP construction (as used
by PXE and NBI) and UNDI packets (as used by undinet and UNDI).
2007-07-02 18:33:41 +01:00
Michael Brown
5f17089b14 pxe_netdev now holds a reference to the network device.
Use generic fields in struct device_description rather than assuming
that the struct device * is contained within a pci_device or
isapnp_device; this assumption is broken when using the undionly
driver.

Add PXENV_UNDI_SET_STATION_ADDRESS.
2007-07-02 17:43:32 +01:00
Michael Brown
e1646b4080 Place the actual version string in .data16, rather than just the
pointer to it.
2007-06-30 21:36:54 +01:00
Michael Brown
8130443f9f Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
Implement PXENV_RESTART_TFTP.
2007-06-30 14:56:35 +01:00
Michael Brown
d71b116f54 Fix stack on return from PXE NBP so that we can return properly. 2007-06-28 23:37:49 +01:00
Michael Brown
0d9b3e2dd2 Add 32-bit support.
Generate DHCP data block for images.
2007-03-22 16:18:46 +00:00
Michael Brown
160e66dbb9 Typo 2007-03-20 18:55:00 +00:00
Michael Brown
5578d3b2de Support 32-bit (linear) NBI images. We don't yet provide a bootp data
block, so first32.c dies immediately.
2007-03-14 00:39:12 +00:00
Michael Brown
2cf1e33df1 Split bootsector execution code out into bootsector.c.
Added basic El Torito ISO image boot capability
2007-01-29 04:21:38 +00:00
Michael Brown
6a765fdc15 Use base "0" in strtoul for consistency with "mem=" 2007-01-24 22:54:08 +00:00
Michael Brown
99cb46943f "vga=" is specified in decimal, not hex. 2007-01-22 23:56:24 +00:00
Michael Brown
ebb00e032c Misread the definition of the type_of_loader field; it should include a
version.
2007-01-19 15:40:01 +00:00
Michael Brown
a5f6408d8e We can now load an initrd as well as a kernel 2007-01-14 16:09:01 +00:00
Michael Brown
b9f99858ab Make the getmemsize() prototype available in memsizes.h, for code that
doesn't want to go to the hassle of processing a full memory map.
2007-01-14 15:32:25 +00:00
Michael Brown
10c9b03cdb Actually, the initrd image should be architecture-independent. 2007-01-14 15:07:11 +00:00
Michael Brown
f92e04dea4 Add dummy "initrd" image format, just so that images can be marked as
initrds.
2007-01-14 15:03:39 +00:00
Michael Brown
8a490146bf Copy command line at execution time rather than load time.
Parse command line for "vga=" and "mem=" parameters
2007-01-14 14:29:30 +00:00
Michael Brown
3ccd7335f0 Split bzimage_load into separate functions 2007-01-14 13:36:33 +00:00
Michael Brown
97a3037f76 Can start a Linux kernel directly (albeit with no initrd support) 2007-01-14 12:34:35 +00:00
Michael Brown
784e10635a Can almost start a kernel now. It dies with "No setup signature found" 2007-01-14 06:36:20 +00:00
Michael Brown
b07161f397 Placeholder bzImage support 2007-01-14 04:27:25 +00:00
Michael Brown
797edf28b7 Replace image->entry with image->priv. 2007-01-14 04:04:28 +00:00
Michael Brown
3bdbfe1f00 Mostly updated. Won't work yet. 2007-01-14 03:49:07 +00:00
Michael Brown
7bc03d37a2 Select a PXE network device before starting PXE NBP.
Move pxe_boot() code to pxe_image.c
2007-01-14 02:20:10 +00:00
Michael Brown
55e6d7b70c Use debug autocolourisation.
Shut down before jumping to the multiboot image.
2007-01-14 00:57:43 +00:00
Michael Brown
f11900a9c6 I prefer IMAGE_XXX to XXX_IMAGE.
Add IMAGE_PXE to use the new image format framework.  "kernel pxelinux.0"
now works.
2007-01-13 17:28:51 +00:00
Michael Brown
bcd6ca3291 Place multiboot tables in base memory; at least some OSes won't see it
if we don't.
2007-01-12 16:25:05 +00:00
Michael Brown
0f29e0e46e Ensure multiboot modules are in ascending order of memory start
address, to work around OS bugs.
2007-01-12 12:03:19 +00:00
Michael Brown
53e948bba8 Fix the memory map. 2007-01-12 11:38:04 +00:00
Michael Brown
6fdc6c81a6 Force probing of multiboot before ELF. 2007-01-12 08:10:35 +00:00
Michael Brown
9debfed07a Place command-line inline, to save on memory allocation hassles. 2007-01-12 05:26:19 +00:00
Michael Brown
1d313234b3 Rename copy_user() to memcpy_user(). Add memmove_user() and
userptr_add().
2007-01-12 03:14:15 +00:00
Michael Brown
e4c6418ac0 We may be required to page-align modules, so let's make sure we catch
it if we don't.
2007-01-12 00:09:16 +00:00
Michael Brown
f59ad50504 Provide registration mechanism for loaded images, so that we can e.g.
refer to them by name from the command line, or build them into a
multiboot module list.

Use setting image->type to disambiguate between "not my image" and "bad
image"; this avoids relying on specific values of the error code.
2007-01-11 23:43:29 +00:00
Michael Brown
f31d91bce5 Populate multiboot information structure before calling OS. 2007-01-11 21:21:02 +00:00
Michael Brown
dc51af59a4 Capable of starting a multiboot kernel (albeit without the multiboot
information table yet).
2007-01-11 18:41:15 +00:00
Michael Brown
d488a172eb Capable of loading a multiboot image into memory 2007-01-11 17:44:42 +00:00
Michael Brown
4fc9333159 Move include/image.h to include/gpxe/image.h 2007-01-11 16:04:36 +00:00
Michael Brown
3634e705b7 Remove osloader.c and replace with a prep_segment() that uses userptr_t
and get_memmap() in image/segment.c
2007-01-11 14:32:26 +00:00
Michael Brown
e28db95de6 Obsolete 2007-01-04 19:37:31 +00:00