initramfs-live-boot: make it more generic and easy to use
The script was making some assumptions that enforced many requirement in the machine kernel configuration and usage, besides it were too while booting. Changes included: * fix indentation; * rdepends on udev; * allow use of isofs as module; * remove rootdelay param parsing as it was unused; * don't verbosely kill udevd and mknod; * mount devtmpfs into rootfs, if available, before swithing root; (From OE-Core rev: 3fc8cec53038f41d31344040c56d62aac90ba7e0) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
cd898bfd96
commit
e4953031de
|
@ -13,6 +13,11 @@ early_setup() {
|
|||
mkdir /sys
|
||||
mount -t proc proc /proc
|
||||
mount -t sysfs sysfs /sys
|
||||
|
||||
# support modular kernel
|
||||
modprobe isofs 2> /dev/null
|
||||
|
||||
mkdir /run
|
||||
udevd --daemon
|
||||
udevadm trigger --action=add
|
||||
}
|
||||
|
@ -25,21 +30,25 @@ read_args() {
|
|||
root=*)
|
||||
ROOT_DEVICE=$optarg ;;
|
||||
rootfstype=*)
|
||||
ROOT_FSTYPE=$optarg ;;
|
||||
rootdelay=*)
|
||||
rootdelay=$optarg ;;
|
||||
LABEL=*)
|
||||
label=$optarg ;;
|
||||
video=*)
|
||||
video_mode=$arg ;;
|
||||
vga=*)
|
||||
vga_mode=$arg ;;
|
||||
modprobe $optarg 2> /dev/null ;;
|
||||
LABEL=*)
|
||||
label=$optarg ;;
|
||||
video=*)
|
||||
video_mode=$arg ;;
|
||||
vga=*)
|
||||
vga_mode=$arg ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
boot_live_root() {
|
||||
killall udevd
|
||||
killall udevd 2>/dev/null
|
||||
|
||||
# use devtmpfs if available
|
||||
if grep -q devtmpfs /proc/filesystems; then
|
||||
mount -t devtmpfs devtmpfs $ROOT_MOUNT/dev
|
||||
fi
|
||||
|
||||
cd $ROOT_MOUNT
|
||||
exec switch_root -c /dev/console $ROOT_MOUNT /sbin/init
|
||||
}
|
||||
|
@ -78,7 +87,7 @@ done
|
|||
case $label in
|
||||
boot)
|
||||
mkdir $ROOT_MOUNT
|
||||
mknod /dev/loop0 b 7 0
|
||||
mknod /dev/loop0 b 7 0 2>/dev/null
|
||||
|
||||
if ! $MOUNT -o rw,loop,noatime,nodiratime /media/$i/$ISOLINUX/$ROOT_IMAGE $ROOT_MOUNT ; then
|
||||
fatal "Couldnt mount rootfs image"
|
||||
|
@ -97,4 +106,3 @@ case $label in
|
|||
fatal "Installation image failed"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
DESCRIPTION = "A live image init script"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
RDEPENDS = "udev"
|
||||
SRC_URI = "file://init-live.sh"
|
||||
|
||||
PR = "r6"
|
||||
PR = "r7"
|
||||
|
||||
do_install() {
|
||||
install -m 0755 ${WORKDIR}/init-live.sh ${D}/init
|
||||
|
|
Loading…
Reference in New Issue