summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Freihofer <adrian.freihofer@gmail.com>2021-11-12 23:29:18 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-11-13 16:11:28 +0000
commit9c3e6fd9b6d181c522f4cacff274599ad750c23a (patch)
treeedffe62fbc70ebe4c7233c5fb7e9d370056bcb17
parent7ca8dd76eaad52833f5e67d3c707966e19755e92 (diff)
downloadpoky-9c3e6fd9b6d181c522f4cacff274599ad750c23a.tar.gz
runqemu: support rootfs mounted ro
Optionally allow to set QB_KERNEL_ROOT to e.g. "/dev/vda ro" to mount the rootfs reay-only in Qemu. (From OE-Core rev: 448eb1fd21287ba16b17e9402ce040b86ae3638c) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/qemuboot.bbclass2
-rwxr-xr-xscripts/runqemu8
2 files changed, 9 insertions, 1 deletions
diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
index bf529e9aa4..8cdb544a94 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes/qemuboot.bbclass
@@ -36,6 +36,8 @@
36# in system mode, where system is experiencing entropy starvation 36# in system mode, where system is experiencing entropy starvation
37# 37#
38# QB_KERNEL_ROOT: kernel's root, e.g., /dev/vda 38# QB_KERNEL_ROOT: kernel's root, e.g., /dev/vda
39# By default "/dev/vda rw" gets passed to the kernel.
40# To mount the rootfs read-only QB_KERNEL_ROOT can be set to e.g. "/dev/vda ro".
39# 41#
40# QB_NETWORK_DEVICE: network device, e.g., "-device virtio-net-pci,netdev=net0,mac=@MAC@", 42# QB_NETWORK_DEVICE: network device, e.g., "-device virtio-net-pci,netdev=net0,mac=@MAC@",
41# it needs work with QB_TAP_OPT and QB_SLIRP_OPT. 43# it needs work with QB_TAP_OPT and QB_SLIRP_OPT.
diff --git a/scripts/runqemu b/scripts/runqemu
index d4f0888f8d..efb98ab9e0 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1266,7 +1266,13 @@ class BaseConfig(object):
1266 self.rootfs_options = vm_drive 1266 self.rootfs_options = vm_drive
1267 if not self.fstype in self.vmtypes: 1267 if not self.fstype in self.vmtypes:
1268 self.rootfs_options += ' -no-reboot' 1268 self.rootfs_options += ' -no-reboot'
1269 self.kernel_cmdline = 'root=%s rw' % (self.get('QB_KERNEL_ROOT')) 1269
1270 # By default, ' rw' is appended to QB_KERNEL_ROOT unless either ro or rw is explicitly passed.
1271 qb_kernel_root = self.get('QB_KERNEL_ROOT')
1272 qb_kernel_root_l = qb_kernel_root.split()
1273 if not ('ro' in qb_kernel_root_l or 'rw' in qb_kernel_root_l):
1274 qb_kernel_root += ' rw'
1275 self.kernel_cmdline = 'root=%s' % qb_kernel_root
1270 1276
1271 if self.fstype == 'nfs': 1277 if self.fstype == 'nfs':
1272 self.rootfs_options = '' 1278 self.rootfs_options = ''