From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35202) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dVHwx-0005QG-UB for guix-patches@gnu.org; Wed, 12 Jul 2017 09:45:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dVHws-0002Mp-Sy for guix-patches@gnu.org; Wed, 12 Jul 2017 09:45:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:60454) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dVHws-0002Mi-Pf for guix-patches@gnu.org; Wed, 12 Jul 2017 09:45:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dVHws-0002KC-IO for guix-patches@gnu.org; Wed, 12 Jul 2017 09:45:02 -0400 Subject: [bug#27661] [PATCH v2] build: Make ISO-9660 image bootable from USB flash drive. Resent-Message-ID: From: Danny Milosavljevic Date: Wed, 12 Jul 2017 15:44:05 +0200 Message-Id: <20170712134405.25274-1-dannym@scratchpost.org> In-Reply-To: <87d195etic.fsf@gnu.org> References: <87d195etic.fsf@gnu.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 27661@debbugs.gnu.org * gnu/build/vm.scm (make-iso9660-image): Make image bootable from USB flash drive. --- gnu/build/vm.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 2d41c5756..d8c53ef37 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -367,6 +367,19 @@ Grub configuration and OS-DRV as the stuff in it." "var=/tmp/root/var" "run=/tmp/root/run" "--" + ;; Store two copies of the headers. + ;; The resulting ISO-9660 image has a DOS MBR and + ;; one protective partition (with type 0xCD). + ;; Because GuixSD only uses actual partitions + ;; rather than what /proc/partitions returns, work + ;; around it by storing the primary volume + ;; descriptor twice, once where it should be and + ;; once in the partition. + ;; Allegedly, otherwise, many other GNU tools + ;; (automounters etc) would also be confused by + ;; the extra partition so it makes sense to + ;; store two copies in any case. + "-boot_image" "any" "partition_offset=16" "-volid" ,(string-upcase volume-id) ,@(if volume-uuid `("-volume_date" "uuid"