On Nov 15, 2013, at 9:10 AM, David F. <df7...@gmail.com> wrote: > Hi, > > I've noticed many systems (at least HP, Acer, Asus P67 and Z77 boards, and > users reporting consistent too) when booting a CD-RW or DVD+RW disc using > shim to load grub which then goes to load the kernel ends up with an error > reading sector 0x600 on device fd0. as a test, I modified grub logic to > better pick the device as a test and got it to read error on sector 0x600 on > cd0. I also output the UEFI error code which is 7 (device error). The > interesting thing is you can boot that same kernel file in legacy boot mode > (just choosing the different cd boot option from the device boot selection > menu) using isolinux no problem so nothing wrong with the disc. Also it's > always sector 0x600 on all the systems it fails on. Another interesting fact > is if you create a CD-R, DVD-R or DVD-RW (burned like DVD-R which puts it in > that mode) it will boot fine in UEFI mode. > > Any ideas? I would guess it's probably a bug in the UEFI firmware from > whoever is providing HP, Asus and Acer their UEFI BIOS? isn't the firmware > supposed to be based on the EDK? >
It is just a starting point. Implementations can vary. > Anyway, any idea? > All CD/DVD/BD disks boot using El Torito (subset of ISO-9660). The BIOS is going to use the initial/Default entry in the booting catalog to point to a blob on the disk that is the OS loader. It will get loaded at the magic address under 1MB and it is real mode code, etc.. EFI would be the 2nd - Nth entry and the boot image, and the bootable disk image is a binary image of a FAT files system. The EFI partition driver knows this and produces the Block IO protocol for it when it sees it, and the FAT File System driver layers on top. Then you boot from the magic removable media files like USB. The El Torito spec is very primitive if you want to poke around the CD format. Sectors 16 (Primary Volume Descriptor) & 17 (Boot Record) contain all the info you need. The EFI code that does this lives here: https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c You should be able to boot to the EFI Shell and poke around. Is sector 0x600 the offset on the CD, or the offset from the start of the Bootable Disk Image (Block IO created by partition driver)? It is useful to know in case there is an off-by-one bug in the CD layout, or CD cracking code in the Firmware. Thanks, Andrew Fish > TIA!! (that's Thanks in Advance) > > > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk_______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel