diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2016-07-02 19:12:57 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2016-07-02 19:12:57 -0300 |
commit | 4e7b5ca4b492a72186840677b990b2b543a76900 (patch) | |
tree | d3d7062d0150ae225f7d53072c740a46a3c08be8 | |
parent | f1c55982006fa5e2a8706f7460a4cd16e9f767d3 (diff) | |
download | hydra-4e7b5ca4b492a72186840677b990b2b543a76900.tar.gz hydra-4e7b5ca4b492a72186840677b990b2b543a76900.tar.bz2 |
Bootless: enhanced bootfde and bootimg configs
-rw-r--r-- | share/config/templates/bootless/custom.cfg | 21 | ||||
-rw-r--r-- | share/config/templates/bootless/grub.cfg | 58 |
2 files changed, 63 insertions, 16 deletions
diff --git a/share/config/templates/bootless/custom.cfg b/share/config/templates/bootless/custom.cfg index 5eaf786..87de184 100644 --- a/share/config/templates/bootless/custom.cfg +++ b/share/config/templates/bootless/custom.cfg @@ -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} } diff --git a/share/config/templates/bootless/grub.cfg b/share/config/templates/bootless/grub.cfg index b4e9e25..3864c4a 100644 --- a/share/config/templates/bootless/grub.cfg +++ b/share/config/templates/bootless/grub.cfg @@ -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 |