mirror of
https://github.com/gryf/mkinitramfs.git
synced 2025-12-18 12:00:21 +01:00
Separate init script for modularity
This commit is contained in:
@@ -165,9 +165,11 @@ done
|
|||||||
if [ -z "${DEVICE}" ]; then
|
if [ -z "${DEVICE}" ]; then
|
||||||
echo "No LUKS device found to boot from! Giving up."
|
echo "No LUKS device found to boot from! Giving up."
|
||||||
sleep 3
|
sleep 3
|
||||||
reboot -f
|
exec reboot -f
|
||||||
fi
|
fi
|
||||||
|
"""
|
||||||
|
|
||||||
|
DECRYPT_KEYDEV = """
|
||||||
ret=1
|
ret=1
|
||||||
if [ -n ${KEYDEV} ]; then
|
if [ -n ${KEYDEV} ]; then
|
||||||
for i in 0 1 2 ; do
|
for i in 0 1 2 ; do
|
||||||
@@ -183,7 +185,9 @@ if [[ ${ret} -ne 0 && ! -f ${KEY} ]]; then
|
|||||||
sleep 3
|
sleep 3
|
||||||
reboot -f
|
reboot -f
|
||||||
fi
|
fi
|
||||||
|
"""
|
||||||
|
|
||||||
|
DECRYPT_PASSWORD = """
|
||||||
if [[ -z "${KEYDEV}" || ${ret} -ne 0 ]]; then
|
if [[ -z "${KEYDEV}" || ${ret} -ne 0 ]]; then
|
||||||
for i in 0 1 2 ; do
|
for i in 0 1 2 ; do
|
||||||
ccrypt -c $KEY | cryptsetup open --allow-discards $DEVICE root
|
ccrypt -c $KEY | cryptsetup open --allow-discards $DEVICE root
|
||||||
@@ -191,7 +195,9 @@ if [[ -z "${KEYDEV}" || ${ret} -ne 0 ]]; then
|
|||||||
[ ${ret} -eq 0 ] && break
|
[ ${ret} -eq 0 ] && break
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
"""
|
||||||
|
|
||||||
|
SWROOT = """
|
||||||
# get the tty back
|
# get the tty back
|
||||||
rm /dev/tty
|
rm /dev/tty
|
||||||
mv /dev/tty_bak /dev/tty
|
mv /dev/tty_bak /dev/tty
|
||||||
@@ -317,6 +323,10 @@ class Initramfs(object):
|
|||||||
if self._args.sdcard:
|
if self._args.sdcard:
|
||||||
fobj.write(INIT_SD)
|
fobj.write(INIT_SD)
|
||||||
fobj.write(INIT_OPEN)
|
fobj.write(INIT_OPEN)
|
||||||
|
if self._args.disk_label or self._args.sdcard:
|
||||||
|
fobj.write(DECRYPT_KEYDEV)
|
||||||
|
fobj.write(DECRYPT_PASSWORD)
|
||||||
|
fobj.write(SWROOT)
|
||||||
os.chmod('init', 0b111101101)
|
os.chmod('init', 0b111101101)
|
||||||
os.chdir(self.curdir)
|
os.chdir(self.curdir)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user