summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2007-08-01 16:29:15 +0200
committerMichael Brown2007-08-01 16:29:15 +0200
commit24f32a1945537d7e1b5fbff1a09792a671b83bc3 (patch)
tree6ff0c070b6e708de13de5acb7b1107947c984587 /src/arch
parentAllow loading of multiple initramfs images. (diff)
downloadipxe-24f32a1945537d7e1b5fbff1a09792a671b83bc3.tar.gz
ipxe-24f32a1945537d7e1b5fbff1a09792a671b83bc3.tar.xz
ipxe-24f32a1945537d7e1b5fbff1a09792a671b83bc3.zip
Initrd concatenation now working
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/image/bzimage.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/arch/i386/image/bzimage.c b/src/arch/i386/image/bzimage.c
index 161d2675..0d01f6a0 100644
--- a/src/arch/i386/image/bzimage.c
+++ b/src/arch/i386/image/bzimage.c
@@ -186,10 +186,11 @@ static int bzimage_load_initrd ( struct image *image,
for_each_image ( initrd ) {
if ( initrd->type != &initrd_image_type )
continue;
- initrd_len = ( ( image->len + 0x0f ) & ~0x0f );
+ initrd_len = ( ( initrd->len + 0x0f ) & ~0x0f );
total_len += initrd_len;
}
+ /* Give up if no initrd images found */
if ( ! total_len )
return 0;
@@ -225,7 +226,7 @@ static int bzimage_load_initrd ( struct image *image,
for_each_image ( initrd ) {
if ( initrd->type != &initrd_image_type )
continue;
- initrd_len = ( ( image->len + 0x0f ) & ~0x0f );
+ initrd_len = ( ( initrd->len + 0x0f ) & ~0x0f );
DBGC ( image, "bzImage %p has initrd %p at [%lx,%lx)\n",
image, initrd, ( start + offset ),
( start + offset + initrd->len ) );