22.12.2015 23:02, Andrei Borzenkov пишет: > I tested stock grub-mkrescue on MacBook 3,1 (late 2007, Core 2 Duo) and > iMac 9.1 (2009, same CPU) as USB stick. Neither boots; moreover, > inserting USB stick when boot manager is shown hangs system (it stops > reacting to mouse/keyboard); if stick is inserted during boot it never > gets as far as even showing boot manager. > > Alexander reported something similar for 2007 Macs. > > Stick is not detected even when inserted under OS X. MacBook runs 10.7 > and reports that USB stick is not readable and suggests to iniitialize > it; iMac runs 10.9 and simply ignores it (may be I do not know where to > look). > > I tried two different USB and one of them boots fine here on Dell > Latitude E5450 as EFI so I do not think both of them are defect. Of > course, they are not of finest quality ... > > Same image as CD boots (I tried only MacBook but do not have reasons to > think that iMac will not boot). It presents three choices - two EFI and > one Windows. Windows ends up in presenting 1, 2 menu (without any > additional explanation) and not accepting any input. This is known > problem with legacy El Torito boot. First EFI boots; checking $cmdpath > it boots from HFS+ partition. Second EFI does not boot and falls through > to default boot order. When I try to chainload bootx64.efi manually (I > have dual OS X/openSUSE on it) it actually boots fine. I /think/ it > tries to load \EFI\Boot\boot.efi which is 32 bit only. I need to test > with removed boot.efi and with fat image. >
It is red herring. Mac correctly loads bootx64.efi and does not need or use startup.nsh (I do not think it even has EFI Shell which interprets this file). > I do not know if mkrescue image ever booted as USB on Mac. Alexander > says it does on modern Mac; anyone ever tried it on earlier models? > OK, it turned out to be not related to xorriso, but for the record ... Mac does not like FAT created by mformat. I can reproduce it easily by creating single MSDOS partition on USB stick of type 0xef size 2880K, formatting it with same options as grub-mkrescue: sudo mformat -C -f 2880 -L 16 -i /dev/sdb1 :: and copying bootx64.efi into \EFI\BOOT on it. The same partition formatted with mkfs -t fat works like a charm. Both Porteus and openSUSE CD (which correctly boot) have ESP created by mkfs.fat. TBH I think that precreating FAT once and shipping image with GRUB is the most simple solution. It can be empty, we can dd files later. Ideas? _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel