[syslinux] Isohybrid wiki page and UEFI
Bruno Cornec
Bruno.Cornec at hpe.com
Sun Oct 25 04:32:12 PDT 2015
Hello,
Gene Cumm said on Thu, Oct 22, 2015 at 06:39:44PM -0400:
>On Thu, Oct 22, 2015 at 1:56 PM, Bruno Cornec via Syslinux
><syslinux at zytor.com> wrote:
>
>> 3/ Using syslinux.efi in a FAT32 image (similar to the previous 2
>> confs) stored on a iso9660 media by genisoimage and its
>> -eltorito-alt-boot -efi-boot $imagefile -no-emul-boot option doesn't
>> work. I get a red screen with debug info (attached). However, I'm not
>> trying to access anything outside of the FAT32 FS. I thought it
>> wouldn't be related to iso9660 in that use case. (I use wirtual media
>> method mounted via iLO URL CD feature if that matters)
>
>I'd suggest using the latest general-purpose test binaries I've published.
>https://sites.google.com/site/genecsyslinux/sl604p0g18-x64.tgz?attredirects=0&d=1
I've made a test this morning (sorry no time before). Result is the same
type of red messages on the console for the server (with No image
information).
To give more background info, I'm using a master system running RHEL 7.1
(to have a kernel and initrd at hand) and use the following script to
generate the ISO image:
------------------------------------------------------------------------
#!/bin/bash
TMPDIR=/tmp/uefi.$$
imagefile=$TMPDIR/1.img
mkdir -p $TMPDIR/mnt
dd if=/dev/zero of=$imagefile bs=1k count=80000
mkfs.vfat $imagefile
mount -t vfat -o loop $imagefile $TMPDIR/mnt
dest=$TMPDIR/mnt/boot/efi
mkdir -p $dest
cp /boot/vmlinuz-3.10.0-229.el7.x86_64 $TMPDIR
cp /boot/initramfs-3.10.0-229.el7.x86_64.img $TMPDIR
cp /usr/share/syslinux/efi64/* $dest
cp /usr/share/syslinux/isolinux.bin $TMPDIR
cat > $dest/syslinux.cfg << EOF
PROMPT 0
MENU TITLE PXE UEFI Special Boot Menu
MENU AUTOBOOT Starting Local System in # seconds
LABEL bootlocal
MENU LABEL ^Boot on local HDD
MENU DEFAULT
LOCALBOOT 0
TIMEOUT 80
TOTALTIMEOUT 9000
LABEL RHEL 7.1
MENU LABEL ^RHEL 7.1
KERNEL vmlinuz-3.10.0-229.el7.x86_64
APPEND initrd=initramfs-3.10.0-229.el7.x86_64.img
EOF
umount $TMPDIR/mnt
cd $TMPDIR
/usr/bin/mkisofs -U -J -r -v -p Mindi -publisher http://www.mondorescue.org -A Mindi -V Mindi_Image -o testuefi.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -efi-boot 1.img -no-emul-boot .
pwd
ls -al `pwd`
------------------------------------------------------------------------
Which produces the folloing output:
------------------------------------------------------------------------
80000+0 records in
80000+0 records out
81920000 bytes (82 MB) copied, 0.207685 s, 394 MB/s
mkfs.fat 3.0.20 (12 Jun 2013)
Warning: creating filesystem that does not conform to ISO-9660.
I: -input-charset not specified, using utf-8 (detected in locale
settings)
genisoimage 1.1.11 (Linux)
Scanning .
Scanning ./mnt
Writing: Initial Padblock Start Block 0
Done with: Initial Padblock Block(s) 16
Writing: Primary Volume Descriptor Start Block 16
Done with: Primary Volume Descriptor Block(s) 1
Writing: Eltorito Volume Descriptor Start Block 17
Size of boot image is 4 sectors -> No emulation
Size of boot image is 160000 sectors -> No emulation
Done with: Eltorito Volume Descriptor Block(s) 1
Writing: Joliet Volume Descriptor Start Block 18
Done with: Joliet Volume Descriptor Block(s) 1
Writing: End Volume Descriptor Start Block 19
Done with: End Volume Descriptor Block(s) 1
Writing: Version block Start Block 20
Done with: Version block Block(s) 1
Writing: Path table Start Block 21
Done with: Path table Block(s) 4
Writing: Joliet path table Start Block 25
Done with: Joliet path table Block(s) 4
Writing: Directory tree Start Block 29
Done with: Directory tree Block(s) 2
Writing: Joliet directory tree Start Block 31
Done with: Joliet directory tree Block(s) 2
Writing: Directory tree cleanup Start Block 33
Done with: Directory tree cleanup Block(s) 0
Writing: Extension record Start Block 33
Done with: Extension record Block(s) 1
Writing: The File(s) Start Block 34
9.69% done, estimate finish Sun Oct 25 12:06:18 2015
19.34% done, estimate finish Sun Oct 25 12:06:18 2015
29.02% done, estimate finish Sun Oct 25 12:06:18 2015
38.67% done, estimate finish Sun Oct 25 12:06:18 2015
48.36% done, estimate finish Sun Oct 25 12:06:18 2015
58.01% done, estimate finish Sun Oct 25 12:06:18 2015
67.69% done, estimate finish Sun Oct 25 12:06:18 2015
77.34% done, estimate finish Sun Oct 25 12:06:18 2015
87.03% done, estimate finish Sun Oct 25 12:06:18 2015
96.70% done, estimate finish Sun Oct 25 12:06:18 2015
Total translation table size: 2048
Total rockridge attributes bytes: 827
Total directory bytes: 2048
Path table size(bytes): 22
Done with: The File(s) Block(s) 51538
Writing: Ending Padblock Start Block 51572
Done with: Ending Padblock Block(s) 150
Max brk space used 0
51722 extents written (101 MB)
/tmp/uefi.2667
total 206532
drwxr-xr-x. 3 root root 4096 Oct 25 12:06 .
drwxrwxrwt. 29 root root 4096 Oct 25 12:06 ..
-rw-r--r--. 1 root root 81920000 Oct 25 12:06 1.img
-rw-r--r--. 1 root root 18557142 Oct 25 12:06 initramfs-3.10.0-229.el7.x86_64.img
-rw-r--r--. 1 root root 40960 Oct 25 12:06 isolinux.bin
drwxr-xr-x. 2 root root 4096 Oct 25 12:06 mnt
-rw-r--r--. 1 root root 105926656 Oct 25 12:06 testuefi.iso
-rwxr-xr-x. 1 root root 5026624 Oct 25 12:06 vmlinuz-3.10.0-229.el7.x86_64
------------------------------------------------------------------------
I then boot another server using the iLO remote console and give to the
server a virtual media pointing to the ISO image testuefi.iso which i
have copied to my deployment server which served it through http to it.
For now that image is not booted automatically (that's another issue I
need to solve, but that's not blocking for now), so I use the UEFI menu
to go onto the MBR partition of the bootable ISO, into boot/efi and
select syslinux.efi to execute. That's where the red screen occurs.
I think it's reproduceable by other people provinding you have a Linux
system with mkfs.fvat, syslinux 6.03 (or your version for the efi files),
and a mksisofs/genisoimage supporting efi boot (at least pretending to
;-). For other non RHEL systems, it could be possible to use other
options such as -eltorito-platform 0xEF -eltorito-boot instead of
-efi-boot from what I read.
Hope this clarifies what I'm trying to do, and feel free to point me to
error I could have made in the usage of syslinux.
Thanks again for your help and return,
Bruno.
--
Open Source Profession, Linux Community Lead WW http://opensource.hp.com
HP EMEA EG Open Source Technology Strategist http://hpintelco.net
FLOSS projects: http://mondorescue.org http://project-builder.org
Musique ancienne? http://www.musique-ancienne.org http://www.medieval.org
More information about the Syslinux
mailing list