diff options
author | Luca Bruno <lucabru@src.gnome.org> | 2014-11-08 13:09:08 +0100 |
---|---|---|
committer | Luca Bruno <lucabru@src.gnome.org> | 2014-11-08 14:33:27 +0100 |
commit | 7885c2ed12a353aa92da2087b2ba1e6adac7c069 (patch) | |
tree | 52e11d4dad0e2b19002fcf84f42db18d44799a9a /nixos/lib | |
parent | e3611709d6ab459be0ed16fe0fdeb7e4c4acc05d (diff) |
Revert "nixos: iso-image: use syslinux bootloader for USB booting support"
This reverts commit 455db168b30d53c903c96be80ef843b79e0744ae.
Diffstat (limited to 'nixos/lib')
-rw-r--r-- | nixos/lib/make-iso9660-image.nix | 13 | ||||
-rw-r--r-- | nixos/lib/make-iso9660-image.sh | 48 |
2 files changed, 11 insertions, 50 deletions
diff --git a/nixos/lib/make-iso9660-image.nix b/nixos/lib/make-iso9660-image.nix index b2409c6006bc..5ad546e9534d 100644 --- a/nixos/lib/make-iso9660-image.nix +++ b/nixos/lib/make-iso9660-image.nix @@ -1,4 +1,4 @@ -{ stdenv, perl, pathsFromGraph, xorriso, syslinux +{ stdenv, perl, cdrkit, pathsFromGraph , # The file name of the resulting ISO image. isoName ? "cd.iso" @@ -22,18 +22,12 @@ , # Whether this should be an efi-bootable El-Torito CD. efiBootable ? false -, # Wheter this should be an hybrid CD (bootable from USB as well as CD). - usbBootable ? false - , # The path (in the ISO file system) of the boot image. bootImage ? "" , # The path (in the ISO file system) of the efi boot image. efiBootImage ? "" -, # The path (outside the ISO file system) of the isohybrid-mbr image. - isohybridMbrImage ? "" - , # Whether to compress the resulting ISO image with bzip2. compressImage ? false @@ -44,14 +38,13 @@ assert bootable -> bootImage != ""; assert efiBootable -> efiBootImage != ""; -assert usbBootable -> isohybridMbrImage != ""; stdenv.mkDerivation { name = "iso9660-image"; builder = ./make-iso9660-image.sh; - buildInputs = [perl xorriso syslinux]; + buildInputs = [perl cdrkit]; - inherit isoName bootable bootImage compressImage volumeID pathsFromGraph efiBootImage efiBootable isohybridMbrImage usbBootable; + inherit isoName bootable bootImage compressImage volumeID pathsFromGraph efiBootImage efiBootable; # !!! should use XML. sources = map (x: x.source) contents; diff --git a/nixos/lib/make-iso9660-image.sh b/nixos/lib/make-iso9660-image.sh index c8522513aa23..675b5bb35148 100644 --- a/nixos/lib/make-iso9660-image.sh +++ b/nixos/lib/make-iso9660-image.sh @@ -31,20 +31,11 @@ if test -n "$bootable"; then fi done - isoBootFlags="-eltorito-boot ${bootImage} - -eltorito-catalog .boot.cat - -no-emul-boot -boot-load-size 4 -boot-info-table" -fi - -if test -n "$usbBootable"; then - usbBootFlags="-isohybrid-mbr ${isohybridMbrImage}" + bootFlags="-b $bootImage -c .boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table" fi if test -n "$efiBootable"; then - efiBootFlags="-eltorito-alt-boot - -e $efiBootImage - -no-emul-boot - -isohybrid-gpt-basdat" + bootFlags="$bootFlags -eltorito-alt-boot -e $efiBootImage -no-emul-boot" fi touch pathlist @@ -83,41 +74,18 @@ for ((n = 0; n < ${#objects[*]}; n++)); do fi done -# Escape filenames that contain '='. -# TODO: Handle this properly. This fails for filenames -# that contain multiple '=' symbols. +# !!! what does this do? cat pathlist | sed -e 's/=\(.*\)=\(.*\)=/\\=\1=\2\\=/' | tee pathlist.safer mkdir -p $out/iso - -xorriso="xorriso - -as mkisofs - -iso-level 3 - -volid ${volumeID} - -appid nixos - -publisher nixos - -graft-points - -full-iso9660-filenames - ${isoBootFlags} - ${usbBootFlags} - ${efiBootFlags} - -r - -path-list pathlist.safer - --sort-weight 0 / - --sort-weight 1 /isolinux" # Make sure isolinux is near the beginning of the ISO - -$xorriso -output $out/iso/$isoName - -if test -n "$usbBootable"; then - echo "Making image hybrid..." - isohybrid --uefi $out/iso/$isoName +genCommand="genisoimage -iso-level 4 -r -J $bootFlags -hide-rr-moved -graft-points -path-list pathlist.safer ${volumeID:+-V $volumeID}" +if test -z "$compressImage"; then + $genCommand -o $out/iso/$isoName +else + $genCommand | bzip2 > $out/iso/$isoName.bz2 fi -if test -n "$compressImage"; then - echo "Compressing image..." - bzip2 $out/iso/$isoName -fi mkdir -p $out/nix-support echo $system > $out/nix-support/system |