[syslinux] Windows PE booting without chainloading ipxe

Ady ady-sf at hotmail.com
Mon Nov 24 18:01:53 PST 2014


> -----Original Message-----
> From: Luke Ledgerd 
> Sent: Monday, November 24, 2014 1:10 PM
> To: 'syslinux at zytor.com'
> Subject: Windows PE booting without chainloading ipxe
> 
> I have an interest in booting Windows PE from PXELinux, and it seems that wimboot from ipxe project is the solution.
> http://ipxe.org/wimboot
> 
> MENU LABEL Windows 8.1 Enterprise PE Rescue (wimboot)
> com32 linux.c32 /wimboot
> APPEND initrdfile=/windows/win81/bootmgr,/windows/win81/boot/bcd,/windows/win81/boot/boot.sdi,/windows/win81/sources/boot.wim
> 
> The initrdfile= is supported in Syslinux from patches to5.03 onwards on the mailing list but it seems wimboot has moved on from last year so the documentation on various blogs saying this can be done is obsolete.
> http://www.syslinux.org/archives/2012-October/018708.html
> 
> What I'm trying to do is outlined here:
> http://www.howtogeek.com/162070/it-geek-how-to-network-boot-pxe-the-winpe-recovery-disk-with-pxelinux-v5-wimboot/
> 
> Cmdline.c in wmiboot is not happy, it's freaking out at the presence of the initrdfile= option in the boot arguments.
> This I'll patch now and see what happens.
> I'm going to go onto the ipxe chainloading way of solving this problem if I can't patch wimboot into submission.
> 
> I just thought I'd let you know that it would be great if you developers could add an INITRDFILE option to the syslinux config that loads raw initrd disks the ipxe way, without appending stuff to the kernel boot argument. That way an unpatched wimboot from ipxe could be made to work.
> 
> Cheers,
> 
> Luke
> 
> 
> 
> 
> Luke Ledgerd / Internal IT
> 
> Add: 156 Xa Dan II, 14th Floor, 
>          Dong Da District, Hanoi, Vietnam.
> Mobile Vietnam: +84 (0) 995304270
> Email: luke.ledgerd at niteco.se
> Skype: luke-ledgerd-niteco
> Web: http://niteco.se
> 
> 
> 
> 
> 
> _______________________________________________
> Syslinux mailing list
> Submissions to Syslinux at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> 


> Adding an option for initrdfile= boot argument to be ignored by wimboot worked just fine.
> They can add this patch, which is probably most sane, or syslinux could add the INITRDFILE 
configuration option instead of having to append the option for linux.c32
> 
>    wimboot-2.4.0/src/cmdline.c @ Line ~107
>              } else if ( key == cmdline ) {
>                         /* Ignore unknown initial arguments, which may
>                          * be the program name.
>                          */
>                 } else if ( strcmp( key, "initrdfile") == 0 ) {
>                         /* Ignore this to make this kernel work with sylinux */
>                 } else {
>                         die ( "Unrecognised argument \"%s%s%s\"\n", key,
>                               ( value ? "=" : "" ), ( value ? value : "" ) );
>                 }
> 
> I can now boot Windows 8.1 Enterprise PE with Sysinux :)
> 
> Luke.
> 
> 
 
 
Just a minor "presentation" change, so perhaps Michael Brown would be more receptive to accept 
your patch.

AFAIK and FWIW, the syntax used in Syslinux ('append initrdfile=') used to work before wimboot 
2.00.

(PS: The "howtogeek" tutorial you linked-to has several issues. Let's not publicize it as being 
accurate.)

---
diff U3b a/src/cmdline.c b/src/cmdline.c
--- a/src/cmdline.c	Fri Nov 07 02:27:56 2014
+++ b/src/cmdline.c	Mon Nov 24 15:18:15 2014
@@ -104,6 +104,8 @@
 			/* Ignore unknown initial arguments, which may
 			 * be the program name.
 			 */
+		} else if ( strcmp( key, "initrdfile") == 0 ) {
+			/* Ignore this keyword so to make this kernel work with sylinux */
 		} else {
 			die ( "Unrecognised argument \"%s%s%s\"\n", key,
 			      ( value ? "=" : "" ), ( value ? value : "" ) );
--




More information about the Syslinux mailing list