diff options
author | Phil Wise <phil@advancedtelematic.com> | 2017-04-21 09:57:01 +0200 |
---|---|---|
committer | Phil Wise <phil@advancedtelematic.com> | 2017-04-21 09:57:01 +0200 |
commit | 47921feae0a5eaa41b18c5d15da9c1f6619b40c5 (patch) | |
tree | 05e707e646281d0af228c511fed8dfeb0ca67099 | |
parent | c5ca4c893bf6336bb3675b2aa24dc8c6e44fc82f (diff) | |
download | meta-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.inc | 2 | ||||
-rw-r--r-- | recipes-sota/ostree-initrd/files/init.sh | 3 | ||||
-rw-r--r-- | recipes-sota/ostree-initrd/ostree-initrd.bb | 5 |
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" | |||
6 | WKS_FILE = "efiimage-sota.wks" | 6 | WKS_FILE = "efiimage-sota.wks" |
7 | IMAGE_BOOT_FILES = "" | 7 | IMAGE_BOOT_FILES = "" |
8 | 8 | ||
9 | OSTREE_KERNEL_ARGS ?= "ramdisk_size=16384 rw rootfstype=ext4 rootwait rootdelay=2 ostree_root=/dev/mmcblk2p2 console=ttyS0,115200 console=tty0" | 9 | OSTREE_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 | ||
38 | export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/lib/ostree | 39 | export 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 | ||
6 | S = "${WORKDIR}" | 6 | S = "${WORKDIR}" |
7 | 7 | ||
8 | PV = "2" | ||
9 | |||
8 | do_install() { | 10 | do_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 | ||
16 | inherit allarch | 18 | inherit allarch |
17 | 19 | ||
18 | FILES_${PN} += " /dev /etc/initrd-release /sbin/init " | 20 | FILES_${PN} += " /dev /etc/initrd-release /sbin/init " |
19 | |||