Hi, Curt Brune wrote:> At the risk of contributing to the 'urban legends' and the 'salads'I apologize to all communities who hand out correct info. :))> http://lukeluo.blogspot.com/2013/06/grub-how-to-2-make-boot-able-iso-with.htmlWell, the excursion on CD-DA is off topic and i would describe many aspects in different terms. Nice to see that at least one person read man xorriso. Whatever, no EFI stuff to see in this article.> http://lukeluo.blogspot.com/2013/06/grub-how-to-5-ubuntu-distributition-iso.htmlThis explains me how to create a Ec2 Linux server in Tokyo. Grrr ...> ubuntu-13.04-desktop-amd64.isoI have ubuntu-14.04-desktop-amd64.iso here. It's a ISOLINUX + GRUB2 isohybrid. Much like debian-7.7.0-amd64-netinst.iso . Of interest would be the production of /boot/grub/efi.img before it gets packed up by xorriso. Have a nice day :) Thomas
Just to be clear on the topic, I decided to do some tests from scratch on my MacBook Pro. This are the steps and results: 1. I've pick my USB pendrive and zeroed it, and after that created a new MBR partition scheme with fdisk and a VFAT partition of 32MB. Later I dd'd the file /usr/lib/syslinux/mbr/mbr.bin from SysLinux 6.03 and set the boot flag on the partition, so it could be able to boot SysLinux. 2. Copied all the files of my IsoHybrid image: - initram.gz - isolinux.bin - kernel.img - ldlinux.c32 - syslinux.cfg Obviously this would be booted by SysLinux MBR, so I've changed isolinux.bin for syslinux.c32 (from /usr/lib/syslinux/modules/bios). Now rEFInd show a new "Legacy OS" entry pointing to the USB "whole device". Now I should be able to boot on Legacy OS mode, but it didn't worked. 3. Created a /EFI/boot folder and put there the files syslinux.efi (from /usr/lib/SYSLINUX.EFi/efi64) and ldlinux.e64 (from /usr/lib/syslinux/modules/efi64). Didn't worked. 4. Renamed /EFI/boot/syslinux.efi to /EFI/boot/bootx64.efi. Didn't worked. 5. Set the esp flag on the partition. Now rEFInd show two entries, one for the Legacy OS and a new one for "Default fallback loader on 32 MiB device". Executing it, it loads the kernel and the initram but didn't loaded. 6. Renamed back /EFI/boot/bootx64.efi to /EFI/boot/syslinux.efi, just to be sure. The "Default fallback loader on 32 MiB device" entry has changed to "Syslinux on 32 MiB device". Executing it, it loads the kernel and the initram but didn't loaded. 7. Moved /EFI/boot/syslinux.efi and /EFI/boot/ldlinux.e64 to root folder of the partition, so now the files in the root partition are: - initram.gz - kernel.img - ldlinux.c32 - ldlinux.e64 - syslinux.c32 - syslinux.cfg - syslinux.efi The "Syslinux on 32 MiB device" entry is still there, so the theory that "syslinux" is hardcoded somewhere (the MBR code?) and the executable is searched in the partition the same way it happens with the syslinux.cfg file makes sense. Executing it, it loads the kernel and the initram but didn't loaded. So my conclusions are: 1. Just by having a MBR (and an active partition?) the Legacy OS appear, but it's not working on my MacBook while it does on my PCs. Maybe the MBR code is not being executed? Maybe it needs something on the partition boot sector? 2. EFI option only appear when a partition has the esp flag. Probably related, with the esp flag the partition is NOT automounted on my Ubuntu machine, I need to mount it by hand using the "mount" command. 3. The /EFI/boot/bootx64.efi path is the fallback one, but not necesarily the one needed to boot. In fact, my Ubuntu system on the MacBook doesn't have it (and it boot using EFI...). 4. The syslinux.efi executable is searched on the EFI partition, at least from /EFI/boot to /EFI to / the same way that happens with the syslinux.cfg file (that it was always on the root folder of the partition). The most annoying thing (to me) is that it doesn't boot at all on Legacy OS mode (MBR), while it should... :-/ 2015-04-05 22:58 GMT+02:00 Thomas Schmitt via Syslinux <syslinux at zytor.com>:> Hi, > > Curt Brune wrote: >> At the risk of contributing to the 'urban legends' and the 'salads' > > I apologize to all communities who hand out correct info. :)) > > >> http://lukeluo.blogspot.com/2013/06/grub-how-to-2-make-boot-able-iso-with.html > > Well, the excursion on CD-DA is off topic and i would > describe many aspects in different terms. Nice to see > that at least one person read man xorriso. > > Whatever, no EFI stuff to see in this article. > > >> http://lukeluo.blogspot.com/2013/06/grub-how-to-5-ubuntu-distributition-iso.html > > This explains me how to create a Ec2 Linux server in Tokyo. > Grrr ... > > >> ubuntu-13.04-desktop-amd64.iso > > I have ubuntu-14.04-desktop-amd64.iso here. > It's a ISOLINUX + GRUB2 isohybrid. Much like > debian-7.7.0-amd64-netinst.iso . > > Of interest would be the production of > /boot/grub/efi.img before it gets packed up by > xorriso. > > > Have a nice day :) > > Thomas > > _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux-- "Si quieres viajar alrededor del mundo y ser invitado a hablar en un monton de sitios diferentes, simplemente escribe un sistema operativo Unix." ? Linus Tordvals, creador del sistema operativo Linux
> The most annoying thing (to me) is that it doesn't boot at all on > Legacy OS mode (MBR), while it should... :-/No, it shouldn't. If you are initially booting in (U)EFI mode (into rEFInd, or some EFI shell or any other EFI boot loader or EFI boot manager), then generally speaking you are expected to boot in EFI mode. But some (U)EFI firmware _might_ be able to "automagically" boot some external media (e.g. USB flash drive) in CSM mode without having to set it in the firmware. To be clear, "recognizing" the USB device in the boot list is not the same as being able to boot from it. In general terms, you need to set your firmware in CSM mode so to be able to boot in such mode. But that's not the only reason your procedure is failing. The method you described in your prior email (copying some files and renaming them) is not enough so to make your USB device bootable by SYSLINUX. I don't even know where you read such instructions (and please don't interpret this as an invitation to point to some guide that has incorrect instructions; let's not propagate inadequate information). In your prior email you have not mentioned executing the 'syslinux' (or, alternatively, the 'extlinux') installer command, which is required to install SYSLINUX (on your MBR-partitioned with one FAT volume USB device) for BIOS systems. And this is only about BIOS booting, before even considering the UEFI-related issues. I would suggest reading: http://www.syslinux.org/wiki/index.php/Install Regards, Ady.
Hi,> 6. Renamed back /EFI/boot/bootx64.efi to /EFI/boot/syslinux.efi, just > to be sure. The "Default fallback loader on 32 MiB device" entry has > changed to "Syslinux on 32 MiB device".How the hell does it know that it is "Syslinux" ? The same file content does not cause that name if it is presented under the default name. Does EFI just guess "Syslinux" from "syslinux.efi" ?> 4. The syslinux.efi executable is searched on the EFI partition, at > least from /EFI/boot to /EFI to / the same way that happens with the > syslinux.cfg file (that it was always on the root folder of the > partition).I really cannot read this behavior from UEFI 2.4 specs. There may be a NVRAM variable which tells the file path, or there may be the fallback names which are to be used on removable media or in case that the path in the variable is empty. Have a nice day :) Thomas
For the sake of the discussion. Screenshots not included due size limit. ----- Forwarded message from syslinux-owner at zytor.com ----- Date: Sun, 05 Apr 2015 17:09:50 -0700 from: syslinux-owner at zytor.com To: syslinux-owner at zytor.com Subject: Syslinux post from piranna at gmail.com requires approval List: Syslinux at zytor.com From: piranna at gmail.com Subject: Re: [syslinux] Is efiboot.img required? Reason: El cuerpo del mensaje es demasiado grande: 8282739 bytes con un l?mite de 512 KB Date: Mon, 6 Apr 2015 02:09:10 +0200 from: "piranna at gmail.com" <piranna at gmail.com> To: Thomas Schmitt <scdbackup at gmx.net> Cc: syslinux at zytor.com Subject: Re: [syslinux] Is efiboot.img required? El 06/04/2015 01:37, "piranna at gmail.com" <piranna at gmail.com> escribi?:> Just to be clear on the topic, I decided to do some tests from scratch > on my MacBook Pro. This are the steps and results: > > 1. I've pick my USB pendrive and zeroed it, and after that created a > new MBR partition scheme with fdisk and a VFAT partition of 32MB. > Later I dd'd the file /usr/lib/syslinux/mbr/mbr.bin from SysLinux 6.03 > and set the boot flag on the partition, so it could be able to boot > SysLinux. > > 2. Copied all the files of my IsoHybrid image: > > - initram.gz > - isolinux.bin > - kernel.img > - ldlinux.c32 > - syslinux.cfg > > Obviously this would be booted by SysLinux MBR, so I've changed > isolinux.bin for syslinux.c32 (from /usr/lib/syslinux/modules/bios). > Now rEFInd show a new "Legacy OS" entry pointing to the USB "whole > device". Now I should be able to boot on Legacy OS mode, but it didn't > worked. > > 3. Created a /EFI/boot folder and put there the files syslinux.efi > (from /usr/lib/SYSLINUX.EFi/efi64) and ldlinux.e64 (from > /usr/lib/syslinux/modules/efi64). Didn't worked. > > 4. Renamed /EFI/boot/syslinux.efi to /EFI/boot/bootx64.efi. Didn't worked. > > 5. Set the esp flag on the partition. Now rEFInd show two entries, one > for the Legacy OS and a new one for "Default fallback loader on 32 MiB > device". Executing it, it loads the kernel and the initram but didn't > loaded. > > 6. Renamed back /EFI/boot/bootx64.efi to /EFI/boot/syslinux.efi, just > to be sure. The "Default fallback loader on 32 MiB device" entry has > changed to "Syslinux on 32 MiB device". Executing it, it loads the > kernel and the initram but didn't loaded. > > 7. Moved /EFI/boot/syslinux.efi and /EFI/boot/ldlinux.e64 to root > folder of the partition, so now the files in the root partition are: > > - initram.gz > - kernel.img > - ldlinux.c32 > - ldlinux.e64 > - syslinux.c32 > - syslinux.cfg > - syslinux.efi > > The "Syslinux on 32 MiB device" entry is still there, so the theory > that "syslinux" is hardcoded somewhere (the MBR code?) and the > executable is searched in the partition the same way it happens with > the syslinux.cfg file makes sense. Executing it, it loads the kernel > and the initram but didn't loaded. > > So my conclusions are: > > 1. Just by having a MBR (and an active partition?) the Legacy OS > appear, but it's not working on my MacBook while it does on my PCs. > Maybe the MBR code is not being executed? Maybe it needs something on > the partition boot sector? > 2. EFI option only appear when a partition has the esp flag. Probably > related, with the esp flag the partition is NOT automounted on my > Ubuntu machine, I need to mount it by hand using the "mount" command. > 3. The /EFI/boot/bootx64.efi path is the fallback one, but not > necesarily the one needed to boot. In fact, my Ubuntu system on the > MacBook doesn't have it (and it boot using EFI...). > 4. The syslinux.efi executable is searched on the EFI partition, at > least from /EFI/boot to /EFI to / the same way that happens with the > syslinux.cfg file (that it was always on the root folder of the > partition). > > The most annoying thing (to me) is that it doesn't boot at all on > Legacy OS mode (MBR), while it should... :-/ >After the previous mail I found the syslinux.sys was not between the files, so I tested the USB drive on my PC and didn't work, saying that's not a bootable image. I used the installed and it added it, so now it worked on my PC again, but not in the Mac. Only thing, rEFInd now it says "Linux on 32 MiB device" instead of "Legacy OS on 32 MiB device"... it's something! :-) But anyway, on Legacy OS mode it still don't boot and on EFI it sill load the kernel and the initramfs but doesn't boot, too. I've added some screenshots so you can see the output messages. ----- End forwarded message ----- Groeten Geert Stappers one the moderators of the Syslinux mailinglist -- Leven en laten leven