1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 00:20:08 +00:00

initrdscripts: init can now launch the installation script

Depending on the boot label ("boot" or "install"), init will either 
chroot into the rootfs image (live boot path), or launch the 
installation script (installation path).


git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5457 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Samuel Ortiz
2008-10-08 14:34:50 +00:00
parent 460d93416d
commit 62ece10eb1
+31 -10
View File
@@ -7,7 +7,9 @@ UMOUNT="/bin/umount"
early_setup() { early_setup() {
mkdir /proc mkdir /proc
mkdir /sys
mount -t proc proc /proc mount -t proc proc /proc
mount -t sysfs sysfs /sys
udevd --daemon udevd --daemon
} }
@@ -22,6 +24,12 @@ read_args() {
ROOT_FSTYPE=$optarg ;; ROOT_FSTYPE=$optarg ;;
rootdelay=*) rootdelay=*)
rootdelay=$optarg ;; rootdelay=$optarg ;;
LABEL=*)
label=$optarg ;;
video=*)
video_mode=$optarg ;;
vga=*)
vga_mode=$optarg ;;
esac esac
done done
} }
@@ -38,14 +46,13 @@ fatal() {
exec sh exec sh
} }
echo "Starting initramfs boot..."
early_setup early_setup
[ -z "$CONSOLE" ] && CONSOLE="/dev/console" [ -z "$CONSOLE" ] && CONSOLE="/dev/console"
read_args read_args
echo "Waiting for Live image to show up..." echo "Waiting for removable media..."
while true while true
do do
for i in `ls /media 2>/dev/null`; do for i in `ls /media 2>/dev/null`; do
@@ -59,12 +66,26 @@ do
sleep 1 sleep 1
done done
mkdir $ROOT_MOUNT case $label in
mknod /dev/loop0 b 7 0 boot)
mkdir $ROOT_MOUNT
mknod /dev/loop0 b 7 0
if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ROOT_IMAGE $ROOT_MOUNT ; then
fatal "Couldnt mount rootfs image"
else
boot_live_root
fi
;;
install)
if [ -f /media/$i/$ROOT_IMAGE ] ; then
./install.sh $i $ROOT_IMAGE $video_mode $vga
else
fatal "Couldnt find install script"
fi
# If we're getting here, we failed...
fatal "Installation image failed"
;;
esac
if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ROOT_IMAGE $ROOT_MOUNT
then
fatal "Couldnt mount rootfs image"
else
boot_live_root
fi