From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1aBpEK-0005us-H4 for mharc-grub-devel@gnu.org; Wed, 23 Dec 2015 14:37:48 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46040) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBpEJ-0005sc-4r for grub-devel@gnu.org; Wed, 23 Dec 2015 14:37:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aBpEI-0007KS-6X for grub-devel@gnu.org; Wed, 23 Dec 2015 14:37:47 -0500 Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]:37520) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBpEG-0007K0-7F; Wed, 23 Dec 2015 14:37:44 -0500 Received: by mail-wm0-x232.google.com with SMTP id p187so160558905wmp.0; Wed, 23 Dec 2015 11:37:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-type:content-transfer-encoding; bh=yy9k1aTO8LtBlC9bUCNUyz8hulUJ+phtNmREuJk/8kM=; b=DYQfO1viOUlnephYkNCq4ylVYjoSyS9Qn8S3nhK37H6EJmUX3I+RRWh7wSPySCB8xw C17mTlZ63Tw0yhWYGyju+uTLdAO2xM6FU2NnTdcLCoerIhq5cGbPIDSGxRtI0Bcd/MeI MQAlJ9x4BBdtu34ecRF9ofjOIat2nsmiMbij1EgUZ0vGhdQcOJgEnMQfxbUwp846Zznl uT1g26CX4W9FOiM7x6mQKL6L5xEaWBnrWEF0iUF6sqVyvAPftWOrQ7qD9QCG5054X32i yiB0Eu57Tzs3aRrTQmOMAdHzst1ZUgbiuJbARyZdq0rdjxQzB6gbnfB8/6pKdJDcfLCm x5Gg== X-Received: by 10.28.97.135 with SMTP id v129mr21997196wmb.78.1450899463225; Wed, 23 Dec 2015 11:37:43 -0800 (PST) Received: from ?IPv6:2001:470:28:8b0:96de:80ff:fe6f:9ad4? ([2001:470:28:8b0:96de:80ff:fe6f:9ad4]) by smtp.googlemail.com with ESMTPSA id z137sm4288087wmc.8.2015.12.23.11.37.41 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 23 Dec 2015 11:37:42 -0800 (PST) Subject: Re: [Bug-xorriso] grub-mkrescue does not boot on older Macs as USB stick To: Andrei Borzenkov , The development of GNU GRUB , bug-xorriso@gnu.org References: <5679AC5E.2080300@gmail.com> <567AEB71.7020208@gmail.com> From: "Alexander E. Patrakov" Message-ID: <567AF803.7080005@gmail.com> Date: Thu, 24 Dec 2015 00:37:39 +0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <567AEB71.7020208@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::232 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Dec 2015 19:37:48 -0000 23.12.2015 23:44, Andrei Borzenkov пишет: > 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? > I have byte-compared the boot sectors (because that's the only different things in the filesystems). So, here are the differences: Bytes 0x03 .. 0x0a represent the OEM ID (software that created the filesystem). mformat: "MTOO4018", mkfs.vfat: "mkfs.fat". Should not be significant. Bytes 0x11 .. 0x12: a WORD that represents the number of root directory entries. mformat: 240, mkfs.vfat: 224. This is settable via the -r parameter of mformat. Bytes 0x27 .. 0x2a: a DWORD with the serial number of the filesystem. Should not be significant. Bytes 0x3e .. 0x1fe: x86 bootstrap code, which is not executed and thus is likely not significant. If you make the number of root directory entries match (using -r 14), then there appears a difference in bytes 0x16 .. 0x17, which form a WORD that means the number of sectors per FAT. mformat -r 14: 16, mkfs.vfat: 9. But this is settable with -L. So, could you please run this? sudo mformat -C -f 2880 -L 9 -r 14 -i /dev/sdb1 :: If this fails, try giving mformat a known-good x86 boot sector using the -B option. -- Alexander E. Patrakov