<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/image, branch v0.9.8</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.8</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/image?h=v0.9.8'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2009-06-03T09:13:29+00:00</updated>
<entry>
<title>[script] Allow for DOS-style line endings in scripts</title>
<updated>2009-06-03T09:13:29+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-06-03T09:13:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=4c5f00f8790ccea7c05aa116f580512c854a76a5'/>
<id>urn:sha1:4c5f00f8790ccea7c05aa116f580512c854a76a5</id>
<content type='text'>
Windows text editors such as Notepad tend to use CRLF line endings,
which breaks gPXE's signature detection for script images.  Since
scripts are usually very small, they end up falling back to being
detected as valid PXE executable images (since there are no signature
checks for PXE executables).  Executing text files as x86 machine code
tends not to work well.

Fix by allowing for any isspace() character to terminate the "#!gpxe"
signature, and by ensuring that CR characters get stripped during
command line parsing.

Suggested-by: Shao Miller &lt;Shao.Miller@yrdsb.edu.on.ca&gt;
</content>
</entry>
<entry>
<title>[legal] Add a selection of FILE_LICENCE declarations</title>
<updated>2009-05-18T07:33:25+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-05-01T14:41:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=c44a193d0d147ed6f98741124569864e516e9d4b'/>
<id>urn:sha1:c44a193d0d147ed6f98741124569864e516e9d4b</id>
<content type='text'>
Add FILE_LICENCE declarations to almost all files that make up the
various standard builds of gPXE.
</content>
</entry>
<entry>
<title>[elf] Work around entry point bug in NetBSD kernels</title>
<updated>2009-04-24T02:42:34+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-04-24T02:42:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=4b8e021161bbe43f81bb664cceb95d1758a51936'/>
<id>urn:sha1:4b8e021161bbe43f81bb664cceb95d1758a51936</id>
<content type='text'>
NetBSD kernels are multiboot ELF kernels with an entry point
incorrectly specified as a virtual address rather than a physical
address.

Work around this by looking for the segment that could plausibly
contain the entry point address (interpreted as either a physical or
virtual address), and using that to determine the eventual physical
entry point.

In the event of any ambiguity, precedence is given to interpretation
of the entry point as a physical address.
</content>
</entry>
<entry>
<title>[segment] Add "Requested memory not available" error message</title>
<updated>2009-03-31T03:38:48+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2009-03-31T03:38:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f7d2168c8eb23108e159a03416966b0f3c983320'/>
<id>urn:sha1:f7d2168c8eb23108e159a03416966b0f3c983320</id>
<content type='text'>
prep_segment() can sometimes fail because an image requests memory
that is already in use by gPXE.  This will happen if
e.g. undionly.kpxe is used to boot memtest86; the memtest86 image is
an old-format kernel that needs to be loaded at 9000:0000, but this
area of memory may well already be in use by the underlying PXE stack.

Add a human-friendly error message, so that the cause is more
immediately visible.
</content>
</entry>
<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>
</feed>
