linux-live/initramfs/init

55 lines
1.1 KiB
Bash

#!/bin/sh
# Initial script for Linux Live Kit
# Author: Tomas M <http://www.linux-live.org/>
# This is needed to enable pivot_root
# We simply switch initramfs to mounted ramfs
if [ ! -r /lib/root_switched ]; then
echo "switch root from initramfs to ramfs"
SWITCH=/m
mkdir -p $SWITCH
mount -t ramfs ramfs $SWITCH
cp -a /* $SWITCH 2>/dev/null
cd $SWITCH
touch $SWITCH/lib/root_switched
exec switch_root -c /dev/console . $0
fi
MOUNTDIR=/mnt
CHANGES=$MOUNTDIR/changes
MEMORY=$MOUNTDIR/memory
UNION=$MOUNTDIR/union
DATAMNT=$MOUNTDIR/data
BUNDLES=$MOUNTDIR/bundles
export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin
. /lib/.config
. /lib/livekitlib
header "Starting $LIVEKITNAME ..."
init_proc
init_devs
init_aufs
init_zram
init_union "$CHANGES" "$UNION"
# find data dir with filesystem bundles
DATA="$(find_data $DATAMNT)"
# copy to RAM if needed
# add data to union
union_append_bundles "$DATA" "$BUNDLES" "$UNION"
# create empty fstab
fstab_create "$UNION"
header "Live Kit phase ends, starting $LIVEKITNAME"
change_root "$UNION"
header "!!ERROR!!"
/bin/sh