summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Wise <phil@advancedtelematic.com>2017-04-21 09:57:01 +0200
committerPhil Wise <phil@advancedtelematic.com>2017-04-21 09:57:01 +0200
commit47921feae0a5eaa41b18c5d15da9c1f6619b40c5 (patch)
tree05e707e646281d0af228c511fed8dfeb0ca67099
parentc5ca4c893bf6336bb3675b2aa24dc8c6e44fc82f (diff)
downloadmeta-updater-47921feae0a5eaa41b18c5d15da9c1f6619b40c5.tar.gz
Mount the root filesystem by label rather than path
Support identifying the root filesystem via a kernel command line like 'ostree_root=LABEL=mylabel'. Also make it mount a filesystem labeled 'otaroot' by default. This means it is possible to test the Minnowboard build in Qemu.
-rw-r--r--conf/include/local/sota_minnowboard.inc2
-rw-r--r--recipes-sota/ostree-initrd/files/init.sh3
-rw-r--r--recipes-sota/ostree-initrd/ostree-initrd.bb5
3 files changed, 6 insertions, 4 deletions
diff --git a/conf/include/local/sota_minnowboard.inc b/conf/include/local/sota_minnowboard.inc
index d39f4d3..36d1a17 100644
--- a/conf/include/local/sota_minnowboard.inc
+++ b/conf/include/local/sota_minnowboard.inc
@@ -6,4 +6,4 @@ EFI_PROVIDER = "grub-efi"
6WKS_FILE = "efiimage-sota.wks" 6WKS_FILE = "efiimage-sota.wks"
7IMAGE_BOOT_FILES = "" 7IMAGE_BOOT_FILES = ""
8 8
9OSTREE_KERNEL_ARGS ?= "ramdisk_size=16384 rw rootfstype=ext4 rootwait rootdelay=2 ostree_root=/dev/mmcblk2p2 console=ttyS0,115200 console=tty0" 9OSTREE_KERNEL_ARGS ?= "ramdisk_size=16384 rw rootfstype=ext4 rootwait rootdelay=2 console=ttyS0,115200 console=tty0"
diff --git a/recipes-sota/ostree-initrd/files/init.sh b/recipes-sota/ostree-initrd/files/init.sh
index 806a7b1..1814ca3 100644
--- a/recipes-sota/ostree-initrd/files/init.sh
+++ b/recipes-sota/ostree-initrd/files/init.sh
@@ -29,10 +29,11 @@ get_ostree_sysroot() {
29 for opt in `cat /proc/cmdline`; do 29 for opt in `cat /proc/cmdline`; do
30 arg=`echo $opt | cut -d'=' -f1` 30 arg=`echo $opt | cut -d'=' -f1`
31 if [ $arg == "ostree_root" ]; then 31 if [ $arg == "ostree_root" ]; then
32 echo $opt | cut -d'=' -f2 32 echo $opt | cut -d'=' -f2-
33 return 33 return
34 fi 34 fi
35 done 35 done
36 echo "LABEL=otaroot"
36} 37}
37 38
38export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/lib/ostree 39export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/lib/ostree
diff --git a/recipes-sota/ostree-initrd/ostree-initrd.bb b/recipes-sota/ostree-initrd/ostree-initrd.bb
index 5c85bee..b721405 100644
--- a/recipes-sota/ostree-initrd/ostree-initrd.bb
+++ b/recipes-sota/ostree-initrd/ostree-initrd.bb
@@ -5,15 +5,16 @@ SRC_URI = "file://init.sh"
5 5
6S = "${WORKDIR}" 6S = "${WORKDIR}"
7 7
8PV = "2"
9
8do_install() { 10do_install() {
9 install -dm 0755 ${D}/etc 11 install -dm 0755 ${D}/etc
10 touch ${D}/etc/initrd-release 12 touch ${D}/etc/initrd-release
11 install -dm 0755 ${D}/dev 13 install -dm 0755 ${D}/dev
12 install -dm 0755 ${D}/sbin 14 install -dm 0755 ${D}/sbin
13 install -m 0755 ${WORKDIR}/init.sh ${D}/sbin/init 15 install -m 0755 ${WORKDIR}/init.sh ${D}/sbin/init
14} 16}
15 17
16inherit allarch 18inherit allarch
17 19
18FILES_${PN} += " /dev /etc/initrd-release /sbin/init " 20FILES_${PN} += " /dev /etc/initrd-release /sbin/init "
19