aboutsummaryrefslogtreecommitdiffstats
path: root/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh')
-rw-r--r--meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh196
1 files changed, 0 insertions, 196 deletions
diff --git a/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh b/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh
deleted file mode 100644
index 1807ec7b..00000000
--- a/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh
+++ /dev/null
@@ -1,196 +0,0 @@
-#!/bin/sh
-
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-CONSOLE="/dev/console"
-
-TARGET_ROOT_MOUNT="/target_rootfs"
-
-# LUKS-enabled devices
-TARGET_ROOTFS_NAME="rootfs"
-TARGET_LOGFS_NAME="logfs"
-TARGET_ROOTFS_DEVICE="/dev/mapper/${TARGET_ROOTFS_NAME}"
-
-LOG_FILE="${TARGET_BOOT_MOUNT}/boot.log"
-
-# log <error-level> <msg>
-function log {
- if [ "$#" -ne "2" ]; then
- echo "${FUNCNAME} <error-level> <msg>"
- fi
-
- local level="$1";
- local msg="$2";
-
- date=`date`;
-
- if [ -n "${SYSTEMD_ENV}" ] && [ "${SYSTEMD_ENV}" -eq "1" ]; then
- echo -e "${level} ${msg}"
- else
- echo -e "# ${date} ${level} ${msg}"
- fi
-
- echo "# ${date} ${level} ${msg}" >> ${LOG_FILE}
-
- if [ "${level}" == "error" ]; then
- local frame=0
- local stacktrace="";
-
- while true; do
- stacktrace+=`caller $frame`
- if [ "$?" -ne 0 ]; then
- break
- fi
-
- _ret=$?
- stacktrace+=$'\n'
- ((frame++));
- done
-
- stacktrace=`echo ${stacktrace} |cut -f1-2 -d' ' |tr ' ' ':'`
-
- echo "Stacktrace: "
- echo "${stacktrace}"
- echo "Stacktrace: " >> ${LOG_FILE}
- echo "${stacktrace}" >> ${LOG_FILE}
- fi;
-}
-
-udev_daemon() {
- OPTIONS="/sbin/udev/udevd /sbin/udevd /lib/udev/udevd /lib/systemd/systemd-udevd"
-
- for o in $OPTIONS; do
- if [ -x "$o" ]; then
- echo $o
- return 0
- fi
- done
-
- return 1
-}
-
-_UDEV_DAEMON=`udev_daemon`
-
-
-early_setup() {
- mkdir -p /proc
- mkdir -p /sys
- mount -t proc proc /proc
- mount -t sysfs sysfs /sys
- mount -n -o mode=0755 -t devtmpfs none /dev
-
-
- mkdir -p /run
- mkdir -p /var/run
- $_UDEV_DAEMON --daemon
- udevadm trigger --action=add
- udevadm settle --timeout=3
- return 0
-}
-
-read_args() {
- for arg in $CMDLINE; do
- optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'`
- case $arg in
- LABEL=*)
- label=$optarg
- ;;
- ROOT_PART=*)
- ROOT_PART=$optarg
- ;;
- esac
- done
-}
-
-do_boot() {
- echo "Boot procedure ..."
-
- if [ -z "${ROOT_PART}" ]; then
- log "error" "ROOT_PART not set"
- return 1
- fi
-
- # rootfs
- sleep 4s
- echo -ne "\n\n Open Encrypted root filesystem...\n"
- cmd="cryptsetup -v open ${ROOT_PART} ${TARGET_ROOTFS_NAME}"
- output=`eval ${cmd}`
- ret=$?
- if [ ${ret} -ne 0 ]; then
- log "error" "failed to open LUKS device ${ROOT_PART} as ${TARGET_ROOTFS_NAME}"
- log "error" "${cmd} (${ret}): ${output}"
- return 1
- fi;
-
- # TODO check filesystems
-
- # Watches the udev event queue, and exits if all current events are handled
- udevadm settle --timeout=3
- killall "${_UDEV_DAEMON##*/}" 2>/dev/null
-
- cmd="mkdir -p ${TARGET_ROOT_MOUNT}"
- output=`eval ${cmd}`
- ret=$?
- if [ ${ret} -ne 0 ]; then
- log "error" "${cmd} (${ret}): ${output}"
- return 1
- fi;
-
- cmd="mount -t ext4 ${TARGET_ROOTFS_DEVICE} ${TARGET_ROOT_MOUNT}"
- output=`eval ${cmd}`
- ret=$?
- if [ ${ret} -ne 0 ]; then
- log "error" "${cmd} (${ret}): ${output}"
- return 1
- fi;
-
- cd ${TARGET_ROOT_MOUNT}
- exec switch_root ${TARGET_ROOT_MOUNT} /sbin/init $CMDLINE
-}
-
-do_console() {
- echo "Starting console ..."
-
- # get name of active terminal
- CONSOLE=`cat /sys/devices/virtual/tty/console/active | cut -d " " -f2`
-
- # run shell on active terminal
- setsid sh -c "exec sh </dev/$CONSOLE >/dev/$CONSOLE 2>&1"
-}
-
-# Main
-
-early_setup
-if [ "$?" -ne "0" ]; then
- log "error" "early_setup failed"
- do_console
-fi;
-
-if [ $# -ne 0 ]; then
- CMDLINE="$@"
-else
- CMDLINE=`cat /proc/cmdline`
-fi;
-
-read_args
-case $label in
- boot)
- do_boot
- if [ "$?" -ne "0" ]; then
- log "error" "boot failed, rebooting in 10 sec"
- sleep 10
- reboot -f
- fi;
- ;;
-
- console)
- do_console
- ;;
- *)
- echo "Unrecognized option ${label}"
- ;;
-
-esac