aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2012-10-13 22:52:42 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2012-10-13 22:52:42 +0000
commitbddbeeb8874bd22b8b60e27dd366bc5f3a8d1cee (patch)
tree407f40c12eaa99a17bf52e75fb05cd9b9656b4f9 /defaults
parentBug #336170: amd74xx was long-replaced by pata_amd. (diff)
downloadgenkernel-bddbeeb8874bd22b8b60e27dd366bc5f3a8d1cee.tar.gz
genkernel-bddbeeb8874bd22b8b60e27dd366bc5f3a8d1cee.tar.bz2
genkernel-bddbeeb8874bd22b8b60e27dd366bc5f3a8d1cee.zip
Bug #351873: More livecd control, and initramfs livecd argument documentation.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Diffstat (limited to 'defaults')
-rwxr-xr-xdefaults/initrd.defaults7
-rwxr-xr-xdefaults/initrd.scripts2
-rwxr-xr-xdefaults/linuxrc6
3 files changed, 11 insertions, 4 deletions
diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 73fe4c9..90f73f4 100755
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -67,12 +67,15 @@ else
fi
REAL_ROOT=''
+CONSOLE='/dev/console'
+NEW_ROOT='/newroot'
CDROOT='0'
CDROOT_DEV=''
CDROOT_TYPE='auto'
-NEW_ROOT='/newroot'
CDROOT_PATH='/mnt/cdrom'
-CONSOLE='/dev/console'
+# This is the file that the cdroot will be checked for as a
+# marker. It must exist RELATIVE to the cdroot.
+CDROOT_MARKER='/livecd'
LOOPS='/livecd.loop /zisofs /livecd.squashfs /image.squashfs /livecd.gcloop'
diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 03e61e0..227fc99 100755
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -159,7 +159,7 @@ bootstrapCD() {
# a bunch of extra devices
[ -n "${CDROOT_DEV}" ] && DEVICES="${CDROOT_DEV}"
- findmediamount "cdrom" "${SUBDIR}/livecd" "REAL_ROOT" "${CDROOT_PATH}" ${DEVICES}
+ findmediamount "cdrom" "${SUBDIR}/${CDROOT_MARKER}" "REAL_ROOT" "${CDROOT_PATH}" ${DEVICES}
}
bootstrapKey() {
diff --git a/defaults/linuxrc b/defaults/linuxrc
index 011505c..54a57c6 100755
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -39,6 +39,7 @@ FAKE_ROOT=''
REAL_ROOTFLAGS=''
ROOTFSTYPE='auto'
CRYPT_SILENT=0
+
mkdir -p /etc/cmdline /etc/modprobe.d
for x in ${CMDLINE}
do
@@ -69,6 +70,9 @@ do
cdroot_type=*)
CDROOT_TYPE=${x#*=}
;;
+ cdroot_marker=*)
+ CDROOT_MARKER=${x#*=}
+ ;;
# Start livecd loop, looptype options
loop=*)
LOOP=${x#*=}
@@ -657,7 +661,7 @@ then
# If encrypted, find key and mount, otherwise mount as usual
if [ -n "${CRYPT_ROOT}" ]
then
- CRYPT_ROOT_KEY="$(head -n 1 "${CDROOT_PATH}"/livecd)"
+ CRYPT_ROOT_KEY="$(head -n 1 "${CDROOT_PATH}"/${CDROOT_MARKER})"
CRYPT_ROOT='/dev/loop0'
good_msg 'You booted an encrypted livecd' "${CRYPT_SILENT}"