]> gitweb.fluxo.info Git - hydra.git/commitdiff
Bootless: enhanced bootfde and bootimg configs
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 2 Jul 2016 22:12:57 +0000 (19:12 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 2 Jul 2016 22:12:57 +0000 (19:12 -0300)
share/config/templates/bootless/custom.cfg
share/config/templates/bootless/grub.cfg

index 5eaf7866be9b4217fd9beed7c4ec2f14c1ab24e0..87de18425805967ac92df884422728b65c730dec 100644 (file)
@@ -8,22 +8,19 @@ set menu_color_highlight=yellow/red
 # Example: imagens stored in the USB stick: just put your images under custom/debian/images.
 #
 menuentry 'Example: Darkstar' {
-  set    version=3.16.0-4
-  set    source=/dev/mapper/vg-root
-  set    target=root
-
-       echo     'Loading AMD64 Debian Desktop (Jessie)...'
-  linux  /boot/custom/debian/vmlinuz-${version}-amd64 root=/dev/mapper/root cryptopts=target=${target},source=${source} ro quiet apparmor=1 security=apparmor
-  echo   'Loading initial ramdisk ...'
-  initrd /boot/custom/debian/initrd.img-${version}-amd64
+  set     volume=/dev/sda5
+  set     version=3.16.0-4-amd64
+  set     target=sda5_crypt
+  set     rootfs=darkstar--vg-root
+  set     distro=debian
+  bootimg ${volume} ${version} ${source} ${target} ${distro}
 }
 
 #
 # Example: Full Disk Encryption: images are loaded from encrypted partition.
 #
 menuentry 'Example: Darkstar FDE' {
-  set machine=darkstar
-  set version=3.16.0-4
-
-  bootfde ${machine} ${version}
+  set     volume=darkstar
+  set     version=3.16.0-4-amd64
+  bootfde ${volume} ${version}
 }
index b4e9e256e513cacfc546c629b7e4130654849113..3864c4a77a2faffe642384bafe377c331a438ba1 100644 (file)
@@ -23,18 +23,66 @@ set menu_color_highlight=yellow/red
 
 #
 # Handles boot from fully encrypted /boot volumes.
+# Usage: bootfde <volume> <kernel-version> [source] [target]
 #
 function bootfde {
   insmod luks
   insmod lvm
 
-  cryptomount lvm/${1}-root
+  cryptomount lvm/${1}
   set root=(crypto0)
 
+  set volume=${1}
+  set version=${2}
+
+  if [ "${3}" ]; then
+    set source=${3}
+  else
+    set source=/dev/mapper/${1}
+  fi
+
+  if [ "${4}" ]; then
+    set target=${4}
+  else
+    set target=root
+  fi
+
+       echo     "Loading ${volume}..."
+  linux  /boot/vmlinuz-${version} root=/dev/mapper/${target} cryptopts=target=${target},source=${source} ro quiet
+  echo   'Loading initial ramdisk ...'
+  initrd /boot/initrd.img-${version}
+}
+
+#
+# Handles boot from images stored in the USB stick.
+# Usage: bootfde <volume> <kernel-version> [target] [rootfs] [distro]
+#
+function bootimg {
+  set volume=${1}
+  set version=${2}
+
+  if [ "${3}" ]; then
+    set target=${3}
+  else
+    set target=root
+  fi
+
+  if [ "${4}" ]; then
+    set rootfs=${4}
+  else
+    set rootfs=${target}
+  fi
+
+  if [ "${5}" ]; then
+    set distro=${5}
+  else
+    set distro=debian
+  fi
+
        echo     "Loading ${1}..."
-  linux  /boot/vmlinuz-${2}-amd64 root=/dev/mapper/root cryptopts=target=root,source=/dev/mapper/${1}-root ro quiet
+  linux  /boot/custom/${distro}/vmlinuz-${version} root=/dev/mapper/${rootfs} cryptopts=target=${target},source=${volume} ro quiet apparmor=1 security=apparmor
   echo   'Loading initial ramdisk ...'
-  initrd /boot/initrd.img-${2}-amd64
+  initrd /boot/custom/${distro}/initrd.img-${version}
 }
 
 #
@@ -48,5 +96,7 @@ menuentry "Memtest86+" {
 # Custom menu entries
 #
 if [ -e "/boot/custom/custom.cfg" ]; then
-  configfile /boot/custom/custom.cfg
+  menuentry "Custom configurations" {
+    configfile /boot/custom/custom.cfg
+  }
 fi