diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2017-07-12 09:03:46 +0200 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2017-07-12 16:15:30 +0200 |
commit | 911a53a53f4898c386cbb7347daf928fae592fa3 (patch) | |
tree | 31ecfdb684d647ab728182bfb055f9776fdb87e5 /gnu/build | |
parent | 0bc6fe323d34aabc7f51fa80b8872a2c1770d32a (diff) |
build: Make ISO-9660 image bootable from USB flash drive.
* gnu/build/vm.scm (make-iso9660-image): Make image bootable from USB flash
drive.
Diffstat (limited to 'gnu/build')
-rw-r--r-- | gnu/build/vm.scm | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 2d41c5756b..d8c53ef37f 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" |