<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/image, branch v0.9.7</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/image?h=v0.9.7</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/image?h=v0.9.7'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2009-02-24T05:57:56+00:00</updated>
<entry>
<title>[image] Allow for zero embedded images</title>
<updated>2009-02-24T05:57:56+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-02-24T05:51:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=4f3bab1a55359a2623e098a6ed61e8d82145af77'/>
<id>urn:sha1:4f3bab1a55359a2623e098a6ed61e8d82145af77</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>[comboot] Allow for tail recursion of COMBOOT images</title>
<updated>2009-02-17T00:47:35+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-02-17T00:47:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=8904cd55f128941d53d9a8beef71fb32a920a92d'/>
<id>urn:sha1:8904cd55f128941d53d9a8beef71fb32a920a92d</id>
<content type='text'>
Multi-level menus via COMBOOT rely on the COMBOOT program being able
to exit and invoke a new COMBOOT program (the next menu).  This works,
but rapidly (within about five iterations) runs out of space in gPXE's
internal stack, since each new image is executed in a new function
context.

Fix by allowing tail recursion between images; an image can now
specify a replacement image for itself, and image_exec() will perform
the necessary tail recursion.
</content>
</entry>
<entry>
<title>[image] Avoid claiming zero-length images as valid</title>
<updated>2009-02-16T00:30:48+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-02-16T00:30:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=24e948f030405df945e7c0290793586d6152b5ed'/>
<id>urn:sha1:24e948f030405df945e7c0290793586d6152b5ed</id>
<content type='text'>
Both the script and PXE images types will claim a zero-length image.
Inhibit this to avoid end-user surprises.
</content>
</entry>
<entry>
<title>[image] Allow multiple embedded images</title>
<updated>2009-02-16T00:30:36+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-02-16T00:28:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=076154a1c6ca987f84450c0225c190c9cdd77c59'/>
<id>urn:sha1:076154a1c6ca987f84450c0225c190c9cdd77c59</id>
<content type='text'>
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 &lt;stefanha@gmail.com&gt;.
</content>
</entry>
<entry>
<title>[i386] Add explicit flags and type on all .section declarations</title>
<updated>2009-02-15T10:59:53+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-02-15T10:54:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=c9e5b12473b6d1cfffb78c500b3cd91416d47f84'/>
<id>urn:sha1:c9e5b12473b6d1cfffb78c500b3cd91416d47f84</id>
<content type='text'>
Try to avoid future problems caused by implicit section flags and/or
type information by instituting a policy that all .section
declarations must explicitly state the flags and type.

Most of this change was achieved using

    perl -pi \
      -e 's/".text"$/".text", "ax", \@progbits/ ; ' \
      -e 's/".text16"$/".text16", "ax", \@progbits/ ; ' \
      -e 's/".text16.null"$/".text16.null", "ax", \@progbits/ ; ' \
      -e 's/".text16.data"$/".text16.data", "aw", \@progbits/ ; ' \
      -e 's/".data"$/".data", "aw", \@progbits/ ; ' \
      -e 's/".data16"$/".data16", "aw", \@progbits/ ; ' \
      -e 's/".bss"$/".bss", "aw", \@nobits/ ; ' \
      -e 's/".bss16"$/".bss16", "aw", \@nobits/ ; ' \
      -e 's/".prefix"$/".prefix", "ax", \@progbits/ ; ' \
      -e 's/".prefix.lib"$/".prefix.lib", "awx", \@progbits/ ; ' \
      -e 's/".prefix.data"$/".prefix.data", "aw", \@progbits/ ; ' \
      -e 's/".weak"$/".weak", "a", \@nobits/ ; ' \
      `git grep -l '\.section'`
</content>
</entry>
<entry>
<title>[efi] Add efi_strerror()</title>
<updated>2008-11-19T19:22:49+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-11-19T03:45:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=3f85626fa95cb356a655d3538db6f05231f07003'/>
<id>urn:sha1:3f85626fa95cb356a655d3538db6f05231f07003</id>
<content type='text'>
EFI_STATUS is defined as an INTN, which maps to UINT32 (i.e. unsigned
int) on i386 and UINT64 (i.e. unsigned long) on x86_64.  This would
require a cast each time the error status is printed.

Add efi_strerror() to avoid this ickiness and simultaneously enable
prettier reporting of EFI status codes.
</content>
</entry>
<entry>
<title>[i386] Change [u]int32_t to [unsigned] int, rather than [unsigned] long</title>
<updated>2008-11-19T19:15:44+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-11-19T02:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=b59e0cc56eb6d5f3b6f934722931f6919309ffd2'/>
<id>urn:sha1:b59e0cc56eb6d5f3b6f934722931f6919309ffd2</id>
<content type='text'>
This brings us in to line with Linux definitions, and also simplifies
adding x86_64 support since both platforms have 2-byte shorts, 4-byte
ints and 8-byte long longs.
</content>
</entry>
<entry>
<title>[efi] Add EFI image format and basic runtime environment</title>
<updated>2008-10-13T09:24:14+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-10-12T00:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=81d92c6d34f9ce68f7c2bbd5b92352b3a631bcd0'/>
<id>urn:sha1:81d92c6d34f9ce68f7c2bbd5b92352b3a631bcd0</id>
<content type='text'>
We have EFI APIs for CPU I/O, PCI I/O, timers, console I/O, user
access and user memory allocation.

EFI executables are created using the vanilla GNU toolchain, with the
EXE header handcrafted in assembly and relocations generated by a
custom efilink utility.
</content>
</entry>
<entry>
<title>[pcbios] Add extra debugging messages relating to the system memory map</title>
<updated>2008-09-07T20:38:41+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-09-07T20:38:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=18aa0e79d233862f5cbd39853ac062af59c9d47b'/>
<id>urn:sha1:18aa0e79d233862f5cbd39853ac062af59c9d47b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[bzimage] Kill off the initrd image type</title>
<updated>2008-07-08T00:30:11+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2008-07-08T00:30:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=dbe9269f3a04267b27bd5528715e79bacc356703'/>
<id>urn:sha1:dbe9269f3a04267b27bd5528715e79bacc356703</id>
<content type='text'>
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".
</content>
</entry>
</feed>
