23 lines
505 B
Bash
Executable File
23 lines
505 B
Bash
Executable File
#!/bin/bash
|
|
# This script creates new initramdisk with LUKS config within
|
|
set -euo pipefail
|
|
|
|
old_initrd=$1
|
|
new_initrd=$2
|
|
|
|
# Unpacking existing initramdisk
|
|
workdir=$(mktemp -d -p /tmp se-initramfs-XXXXXX)
|
|
cd ${workdir}
|
|
gzip -cd ${old_initrd} | cpio -imd --quiet
|
|
|
|
# Adding LUKS root key and crypttab config
|
|
mkdir -p etc/luks
|
|
cp -f /etc/luks/root etc/luks/
|
|
cp -f /etc/crypttab etc/
|
|
|
|
# Creating new initramdisk image
|
|
find . | cpio --quiet -H newc -o | gzip -9 -n >> ${new_initrd}
|
|
|
|
# Cleanup
|
|
rm -rf ${workdir}
|