Message ID | 20210803110608.29342-1-Quirin.Gylstorff@siemens.com |
---|---|
State | Superseded, archived |
Headers | show |
Series | [v2] wic/rootfs-u-boot: Allow to set root with source_params | expand |
03.08.2021 14:06, Q. Gylstorff wrote: > From: Quirin Gylstorff <quirin.gylstorff@siemens.com> > > If the root device needs to be modified during boot it needs > to be set as source parameter in the wic file similar to efi > boot. > > Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> I think we also need to add a new platform with u-boot based wic image to have this functionality covered by CI.
On 11.08.21 15:44, Anton Mikanovich wrote: > 03.08.2021 14:06, Q. Gylstorff wrote: >> From: Quirin Gylstorff <quirin.gylstorff@siemens.com> >> >> If the root device needs to be modified during boot it needs >> to be set as source parameter in the wic file similar to efi >> boot. >> >> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com> > > I think we also need to add a new platform with u-boot based wic image > to have this functionality covered by CI. > Nope, we already have plenty of them: $ git grep -c rootfs-u-boot meta-isar/scripts/lib/wic/canned-wks/ meta-isar/scripts/lib/wic/canned-wks/bananapi.wks:1 meta-isar/scripts/lib/wic/canned-wks/de0-nano-soc.wks.in:1 meta-isar/scripts/lib/wic/canned-wks/nanopi-neo.wks.in:1 meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks:1 meta-isar/scripts/lib/wic/canned-wks/stm32mp15x.wks.in:1 Jan
11.08.2021 17:43, Jan Kiszka wrote: > On 11.08.21 15:44, Anton Mikanovich wrote: >> I think we also need to add a new platform with u-boot based wic image >> to have this functionality covered by CI. >> > Nope, we already have plenty of them: > > $ git grep -c rootfs-u-boot meta-isar/scripts/lib/wic/canned-wks/ > meta-isar/scripts/lib/wic/canned-wks/bananapi.wks:1 > meta-isar/scripts/lib/wic/canned-wks/de0-nano-soc.wks.in:1 > meta-isar/scripts/lib/wic/canned-wks/nanopi-neo.wks.in:1 > meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks:1 > meta-isar/scripts/lib/wic/canned-wks/stm32mp15x.wks.in:1 > > Jan > Adding root definition in sourceparams of any existing wks is also ok.
diff --git a/meta/scripts/lib/wic/plugins/source/rootfs-u-boot.py b/meta/scripts/lib/wic/plugins/source/rootfs-u-boot.py index 15acb57..0b4f9ee 100644 --- a/meta/scripts/lib/wic/plugins/source/rootfs-u-boot.py +++ b/meta/scripts/lib/wic/plugins/source/rootfs-u-boot.py @@ -60,6 +60,13 @@ class RootfsUBootPlugin(RootfsPlugin): (rootfs_dir, image_rootfs_dir)) real_rootfs_dir = image_rootfs_dir + root_dev = cr.rootdev + if not root_dev: + root_dev = source_params.get("root", None) + if not root_dev: + raise WicError("root not defined, exiting.") + root_dev = root_dev.replace(":", "=") + u_boot_script = os.path.join(real_rootfs_dir, "etc/default/u-boot-script") if not os.path.exists(u_boot_script): @@ -70,7 +77,7 @@ class RootfsUBootPlugin(RootfsPlugin): cfg.write('# Generated by wic, rootfs-u-boot plugin\n') cfg.write('ROOT_PARTITION="%d"\n' % part.realnum) cfg.write('KERNEL_ARGS="root=%s %s"\n' % \ - (cr.rootdev, cr.ks.bootloader.append or "")) + (root_dev, cr.ks.bootloader.append or "")) no_initrd = source_params.get('no_initrd') or '' cfg.write('NO_INITRD="%s"\n' % no_initrd) overlays = source_params.get('overlays') or ''