48 lines
1.2 KiB
Bash
Executable File
48 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. /lib/.config
|
|
. /lib/functions
|
|
|
|
if [ ! -e /lib/.escaped ]; then
|
|
SWITCH=/m
|
|
mkdir -p ${SWITCH}
|
|
mount -t tmpfs -o size="100%" tmpfs ${SWITCH}
|
|
cp -a /??* ${SWITCH} 2>/dev/null
|
|
cd ${SWITCH}
|
|
mount -t proc proc /proc
|
|
echo "0" >/proc/sys/kernel/printk
|
|
>lib/.escaped
|
|
d&&echo "[!] Reloading ${0}"
|
|
mount --move /proc proc
|
|
exec switch_root . ${0}
|
|
fi
|
|
mount -t devtmpfs devtmpfs /dev >/dev/null 2>&1
|
|
ln -sf /proc/self/fd /dev/fd
|
|
exec > >(tee -i /tmp/mlb.log) 2>&1
|
|
d&&echo "'debug' bootloader variable is set!"&&set -x
|
|
mount -t sysfs sysfs /sys >/dev/null 2>&1
|
|
mkdir -p ${UNION} ${DATAMNT} ${SYSTEM}
|
|
isShellEnabled
|
|
ln -sf /proc/mounts /etc/mtab
|
|
find /lib/modules/`uname -r` -name "*.ko" -type f | sed -r "s:^.*/|[.]ko\$::g" | xargs -n 1 modprobe >/dev/null 2>&1
|
|
sleep 3
|
|
mdev -s
|
|
debugShell
|
|
isZramEnabled
|
|
mdadm --assemble --scan >/dev/null 2>&1
|
|
sleep 0.5
|
|
debugShell
|
|
findData
|
|
debugShell
|
|
findModules
|
|
debugShell
|
|
persistentChanges ${SYSTEM} ${CHANGES_MNT}
|
|
mkdir -p ${CHANGES} ${WORK}
|
|
debugShell
|
|
mountOverlay >/dev/null 2>&1
|
|
debugShell
|
|
d&&echo "Starting ${DISTRO}"
|
|
d&&sleep 2
|
|
changeRoot "$UNION" || clear; echo "!!ERROR occured, you shouldn't be here.!!"; sleep 3
|
|
emergencyShell
|