Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ipxe usb only + wimboot
2019-01-01, 06:06
Post: #8
RE: ipxe usb only + wimboot
In reverse order of the previous post. I compiled in the axge driver in with the other drivers, and then a version with just the axge driver.

Both times(booting from syslinux) it just hung at initializing devices.

I got some great feedback on the list and it turns out my syslinux configuration was incorrect.

Wimboot patched with the patches submitted to the dev list in Nov 2018 can be booted from Syslinux with the following configuration
Code:
LABEL wimboot
    com32 linux.c32
    APPEND /wimboot initrdfile=bcd,boot.sdi,boot.wim rawwim
Thanks to Alif on the mailing list and Frienrick for the patches.

Alif has suggested that this is the more correct configuration
Code:
label wimboot
        com32 linux.c32 /wimboot initrdfile=bcd,boot.sdi,boot.wim
        append rawwim
-------------
Starting with a blank flash drive. In Linux(or something with fdisk), find the identifier for you your flash drive. I'm going to use /dev/sdX and an Ubuntu 18.04.01 x64 VM
Install the following packages:
Code:
sudo apt install syslinux-common syslinux-legacy syslinux-efi

Code:
sudo fdisk -l
o <enter>
n <enter>
p <enter>
1 <enter>
<enter>
<enter>
t <enter>
0b <enter>
a <enter>
w <enter>

Then format the drive
Code:
mkfs.vfat /dev/sdX1

Put the Syslinux bios bootloader on the drive.
Code:
syslinux -i /dev/sdX1
dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdX
mount -o umask=000 /dev/sdX1 /mnt
mkdir -p /mnt/EFI/boot/
cp /usr/lib/SYSLINUX.EFI/efi64/syslinux.efi /mnt/EFI/boot/bootx64.efi

The following files need to be copied from /usr/lib/syslinux/modules/bios/ to the root of the flash drive
Code:
chain.c32
ldlinux.c32
libcom32.c32
libutil.c32
linux.c32
menu.c32
syslinux.c32
vesamenu.c32

The following files need to be copied from /usr/lib/syslinux/modules/efi64/ to /mnt/EFI/boot
Code:
ldlinux.e64
chain.c32
libcom32.c32
libutil.c32
linux.c32
menu.c32
syslinux.c32
vesamenu.c32

Create syslinux.cfg in the root of the flash drive with the following:
Code:
PROMPT 0
TIMEOUT 0
DEFAULT wimboot

LABEL wimboot
    com32 linux.c32
    append /wimboot initrdfile=/bcd,/boot.sdi,/boot.wim,/segmono_boot.ttf,/segoe_slboot.ttf,/segoen_slboot.ttf gui

Note, I couldn't get this to boot without the GUI argument in the second build for this guide. I may have been using an argument that doesn't exist rawwim vs rawbcd.

Create syslinux.cfg in EFI/boot/ folder on the flash drive with the following contents
Code:
PROMPT 0
TIMEOUT 0

INCLUDE /syslinux.cfg

Copy the patched version of wimboot to the root of the flash drive along with:
Code:
bcd
boot.sdi
boot.wim
segmono_boot.ttf
segoe_slboot.ttf
segoen_slboot.ttf

This now should be bootable both as bios and EFIx64. It may not be the best config with regard to syslinux, but it works and I'm tired of testing to reductions for now.

This came together with help from folks on the Dev list, NiKiZe in multiple places, ndeineko on GitHub, and the syslinux wiki.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
ipxe usb only + wimboot - dontlook - 2018-12-29, 09:26
RE: ipxe usb only + wimboot - NiKiZe - 2018-12-29, 13:09
RE: ipxe usb only + wimboot - NiKiZe - 2018-12-29, 21:34
RE: ipxe usb only + wimboot - dontlook - 2019-01-01 06:06



User(s) browsing this thread: 1 Guest(s)