* [PATCH 0/5] Support multiple image types in one build @ 2021-09-13 14:58 Uladzimir Bely 2021-09-13 14:58 ` [PATCH 1/5] image: Make WORKDIR and STAMPs unrelated to IMAGE_TYPE Uladzimir Bely ` (4 more replies) 0 siblings, 5 replies; 10+ messages in thread From: Uladzimir Bely @ 2021-09-13 14:58 UTC (permalink / raw) To: isar-users The patchset makes possible to build several image types for the specific target by listing all them in IMG_FSTYPES variable. This also deprecates using IMG_TYPE variable. Uladzimir Bely (5): image: Make WORKDIR and STAMPs unrelated to IMAGE_TYPE wic-img: Set weak default value for WKS_FILE start_vm: Use the first image type to start VM meta-isar: Rework mc:qemuamd64-buster configs api: Rename IMAGE_TYPE to IMAGE_FSTYPES RECIPE-API-CHANGELOG.md | 5 ++++ doc/user_manual.md | 23 +++++++++++-------- meta-isar/conf/local.conf.sample | 1 - meta-isar/conf/machine/bananapi.conf | 2 +- meta-isar/conf/machine/container-amd64.conf | 2 +- meta-isar/conf/machine/de0-nano-soc.conf | 2 +- meta-isar/conf/machine/hikey.conf | 2 +- meta-isar/conf/machine/nand-ubi-demo.conf | 2 +- meta-isar/conf/machine/nanopi-neo.conf | 2 +- meta-isar/conf/machine/qemuamd64.conf | 2 +- meta-isar/conf/machine/qemuarm.conf | 2 +- meta-isar/conf/machine/qemuarm64.conf | 2 +- meta-isar/conf/machine/qemui386.conf | 2 +- meta-isar/conf/machine/qemumipsel.conf | 2 +- meta-isar/conf/machine/qemuriscv64.conf | 2 +- meta-isar/conf/machine/rpi.conf | 2 +- meta-isar/conf/machine/sifive-fu540.conf | 2 +- meta-isar/conf/machine/stm32mp15x.conf | 2 +- .../multiconfig/qemuamd64-buster-tgz.conf | 9 -------- .../conf/multiconfig/qemuamd64-buster.conf | 2 ++ meta/classes/image.bbclass | 12 ++++++---- meta/classes/wic-img.bbclass | 3 +++ scripts/ci_build.sh | 1 - scripts/start_vm | 8 ++++--- testsuite/start_vm.py | 2 +- 25 files changed, 52 insertions(+), 44 deletions(-) delete mode 100644 meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf -- 2.20.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/5] image: Make WORKDIR and STAMPs unrelated to IMAGE_TYPE 2021-09-13 14:58 [PATCH 0/5] Support multiple image types in one build Uladzimir Bely @ 2021-09-13 14:58 ` Uladzimir Bely 2021-09-13 14:58 ` [PATCH 2/5] wic-img: Set weak default value for WKS_FILE Uladzimir Bely ` (3 subsequent siblings) 4 siblings, 0 replies; 10+ messages in thread From: Uladzimir Bely @ 2021-09-13 14:58 UTC (permalink / raw) To: isar-users If we want to support several image types listed in IMAGE_TYPE, we should remove this part from WORKDIR and STAMP and STAMPCLEAN. This leads to sharing the same directories by parallel builds like mc:qemuamd64-buster and mc:qemuamd64-buster-tgz that differs only in used image type. Technically, this commit reverts the commit 6374a763c988 (image: Make WORKDIR and STAMPs IMAGE_TYPE-specific). Signed-off-by: Uladzimir Bely <ubely@ilbers.de> --- meta/classes/image.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index ec93cab..eecada3 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -2,9 +2,9 @@ # Copyright (C) 2015-2017 ilbers GmbH # Make workdir and stamps machine-specific without changing common PN target -WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}-${IMAGE_TYPE}/${PV}-${PR}" -STAMP = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}-${IMAGE_TYPE}/${PV}-${PR}" -STAMPCLEAN = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}-${IMAGE_TYPE}/*-*" +WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}/${PV}-${PR}" +STAMP = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}/${PV}-${PR}" +STAMPCLEAN = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}/*-*" IMAGE_INSTALL ?= "" IMAGE_TYPE ?= "ext4-img" -- 2.20.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/5] wic-img: Set weak default value for WKS_FILE 2021-09-13 14:58 [PATCH 0/5] Support multiple image types in one build Uladzimir Bely 2021-09-13 14:58 ` [PATCH 1/5] image: Make WORKDIR and STAMPs unrelated to IMAGE_TYPE Uladzimir Bely @ 2021-09-13 14:58 ` Uladzimir Bely 2021-09-13 14:58 ` [PATCH 3/5] start_vm: Use the first image type to start VM Uladzimir Bely ` (2 subsequent siblings) 4 siblings, 0 replies; 10+ messages in thread From: Uladzimir Bely @ 2021-09-13 14:58 UTC (permalink / raw) To: isar-users In case user lists "wic-img" in IMAGE_TYPE variable, bitbake fails at early parsing stages because WKS_FILE is not defined at this moment. Signed-off-by: Uladzimir Bely <ubely@ilbers.de> --- meta/classes/wic-img.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass index 170b83e..562d474 100644 --- a/meta/classes/wic-img.bbclass +++ b/meta/classes/wic-img.bbclass @@ -6,6 +6,9 @@ WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}')}" +# In case user has chosen wic-img in local.conf without mandatory WKS_FILE, define default +WKS_FILE ??= "sdimage-efi" + do_copy_wks_template[file-checksums] += "${WKS_FILE_CHECKSUM}" do_copy_wks_template () { cp -f '${WKS_TEMPLATE_PATH}' '${WORKDIR}/${WKS_TEMPLATE_FILE}' -- 2.20.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/5] start_vm: Use the first image type to start VM 2021-09-13 14:58 [PATCH 0/5] Support multiple image types in one build Uladzimir Bely 2021-09-13 14:58 ` [PATCH 1/5] image: Make WORKDIR and STAMPs unrelated to IMAGE_TYPE Uladzimir Bely 2021-09-13 14:58 ` [PATCH 2/5] wic-img: Set weak default value for WKS_FILE Uladzimir Bely @ 2021-09-13 14:58 ` Uladzimir Bely 2021-09-13 14:58 ` [PATCH 4/5] meta-isar: Rework mc:qemuamd64-buster configs Uladzimir Bely 2021-09-13 14:58 ` [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES Uladzimir Bely 4 siblings, 0 replies; 10+ messages in thread From: Uladzimir Bely @ 2021-09-13 14:58 UTC (permalink / raw) To: isar-users If there are several image types listed in IMAGE_TYPE, we need to use the only to start VM. Let first one be the default. Signed-off-by: Uladzimir Bely <ubely@ilbers.de> --- scripts/start_vm | 2 ++ testsuite/start_vm.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/start_vm b/scripts/start_vm index 28ada30..77c4244 100755 --- a/scripts/start_vm +++ b/scripts/start_vm @@ -110,6 +110,8 @@ readonly MACHINE_CONF=$ISARROOT/meta-isar/conf/machine/qemu$ARCH.conf eval "$(egrep 'MACHINE_SERIAL|QEMU_' $MACHINE_CONF |bb2sh)" eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "\(^IMAGE_TYPE=\|^IMAGE_FULLNAME=\)") +# Take first image type for VM if there are several defined +IMAGE_TYPE=$(echo "$IMAGE_TYPE" | sed -e 's/\s.*$//') case "$IMAGE_TYPE" in ext4-img) readonly ROOTFS_IMAGE=$IMAGE_FULLNAME.ext4.img diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index a3e32ac..06fc935 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -28,7 +28,7 @@ def format_qemu_cmdline(arch, build, distro): extra_args = '' cpu = [''] - image_type = get_bitbake_var(bb_output, 'IMAGE_TYPE') + image_type = get_bitbake_var(bb_output, 'IMAGE_TYPE').split()[0] deploy_dir_image = get_bitbake_var(bb_output, 'DEPLOY_DIR_IMAGE') if image_type == 'ext4-img': rootfs_image = 'isar-image-base-debian-' + distro + '-qemu' + arch + '.ext4.img' -- 2.20.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/5] meta-isar: Rework mc:qemuamd64-buster configs 2021-09-13 14:58 [PATCH 0/5] Support multiple image types in one build Uladzimir Bely ` (2 preceding siblings ...) 2021-09-13 14:58 ` [PATCH 3/5] start_vm: Use the first image type to start VM Uladzimir Bely @ 2021-09-13 14:58 ` Uladzimir Bely 2021-09-13 14:58 ` [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES Uladzimir Bely 4 siblings, 0 replies; 10+ messages in thread From: Uladzimir Bely @ 2021-09-13 14:58 UTC (permalink / raw) To: isar-users We remove mc:qemuamd64-buster-tgz config that explicitly creates tgz-img, but add this image type (and ext4-img also) to mc:qemuamd64-buster config. This gives several output image types for this machine and allows to test this feature in CI. Signed-off-by: Uladzimir Bely <ubely@ilbers.de> --- meta-isar/conf/local.conf.sample | 1 - meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf | 9 --------- meta-isar/conf/multiconfig/qemuamd64-buster.conf | 2 ++ scripts/ci_build.sh | 1 - 4 files changed, 2 insertions(+), 11 deletions(-) delete mode 100644 meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample index 96a8beb..f354b70 100644 --- a/meta-isar/conf/local.conf.sample +++ b/meta-isar/conf/local.conf.sample @@ -49,7 +49,6 @@ BBMULTICONFIG = " \ qemui386-bullseye \ qemuamd64-stretch \ qemuamd64-buster \ - qemuamd64-buster-tgz \ qemuamd64-bullseye \ container-amd64-stretch \ container-amd64-buster \ diff --git a/meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf b/meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf deleted file mode 100644 index 17de338..0000000 --- a/meta-isar/conf/multiconfig/qemuamd64-buster-tgz.conf +++ /dev/null @@ -1,9 +0,0 @@ -# This software is a part of ISAR. -# Copyright (c) Siemens AG, 2018 -# -# SPDX-License-Identifier: MIT - -MACHINE ?= "qemuamd64" -DISTRO ?= "debian-buster" - -IMAGE_TYPE ?= "targz-img" diff --git a/meta-isar/conf/multiconfig/qemuamd64-buster.conf b/meta-isar/conf/multiconfig/qemuamd64-buster.conf index 3fabd67..14aec13 100644 --- a/meta-isar/conf/multiconfig/qemuamd64-buster.conf +++ b/meta-isar/conf/multiconfig/qemuamd64-buster.conf @@ -2,3 +2,5 @@ MACHINE ?= "qemuamd64" DISTRO ?= "debian-buster" + +IMAGE_TYPE ?= "wic-img ext4-img targz-img" diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh index 837cd67..53d3d6d 100755 --- a/scripts/ci_build.sh +++ b/scripts/ci_build.sh @@ -36,7 +36,6 @@ TARGETS_SET="\ mc:qemui386-buster:isar-image-base \ mc:qemuamd64-stretch:isar-image-base \ mc:qemuamd64-buster:isar-image-base \ - mc:qemuamd64-buster-tgz:isar-image-base \ mc:qemuamd64-buster:isar-initramfs \ mc:qemumipsel-stretch:isar-image-base \ mc:qemumipsel-buster:isar-image-base \ -- 2.20.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES 2021-09-13 14:58 [PATCH 0/5] Support multiple image types in one build Uladzimir Bely ` (3 preceding siblings ...) 2021-09-13 14:58 ` [PATCH 4/5] meta-isar: Rework mc:qemuamd64-buster configs Uladzimir Bely @ 2021-09-13 14:58 ` Uladzimir Bely 2021-09-13 18:27 ` Jan Kiszka 4 siblings, 1 reply; 10+ messages in thread From: Uladzimir Bely @ 2021-09-13 14:58 UTC (permalink / raw) To: isar-users The variable is renamed to get closer to OpenEmbedded/Poky variables naming. If user still uses IMAGE_TYPE, it will be used with the deprecation warning shown. Signed-off-by: Uladzimir Bely <ubely@ilbers.de> --- RECIPE-API-CHANGELOG.md | 5 ++++ doc/user_manual.md | 23 +++++++++++-------- meta-isar/conf/machine/bananapi.conf | 2 +- meta-isar/conf/machine/container-amd64.conf | 2 +- meta-isar/conf/machine/de0-nano-soc.conf | 2 +- meta-isar/conf/machine/hikey.conf | 2 +- meta-isar/conf/machine/nand-ubi-demo.conf | 2 +- meta-isar/conf/machine/nanopi-neo.conf | 2 +- meta-isar/conf/machine/qemuamd64.conf | 2 +- meta-isar/conf/machine/qemuarm.conf | 2 +- meta-isar/conf/machine/qemuarm64.conf | 2 +- meta-isar/conf/machine/qemui386.conf | 2 +- meta-isar/conf/machine/qemumipsel.conf | 2 +- meta-isar/conf/machine/qemuriscv64.conf | 2 +- meta-isar/conf/machine/rpi.conf | 2 +- meta-isar/conf/machine/sifive-fu540.conf | 2 +- meta-isar/conf/machine/stm32mp15x.conf | 2 +- .../conf/multiconfig/qemuamd64-buster.conf | 2 +- meta/classes/image.bbclass | 6 +++-- scripts/start_vm | 8 +++---- testsuite/start_vm.py | 2 +- 21 files changed, 44 insertions(+), 32 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 806c291..785b034 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -292,3 +292,8 @@ Migrate your patches so they can be applied with "git am", or Kernel image name for arm64 platforms is vmlinux now. Image format was not changed (uncompressed executable) but now it is named correctly. + +### Rename IMAGE_TYPE to IMAGE_FSTYPES + +The variable is renamed to get closer to OE/Poky variables naming. The old naming +will still also work, but with deprecation warning shown. diff --git a/doc/user_manual.md b/doc/user_manual.md index 1da0e9d..c455862 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -209,7 +209,10 @@ tmp/deploy/images/rpi/isar-image-base.rpi-sdimg ### Generate full disk image -A bootable disk image is generated if you set IMAGE_TYPE to 'wic-img'. Behind the scenes a tool called `wic` is used to assemble the images. It is controlled by a `.wks` file which you can choose with changing WKS_FILE. Some examples in the tree use that feature already. +A bootable disk image is generated if you set IMAGE_FSTYPES to 'wic-img'. +Behind the scenes a tool called `wic` is used to assemble the images. +It is controlled by a `.wks` file which you can choose with changing WKS_FILE. +Some examples in the tree use that feature already. ``` # Generate an image for the `i386` target architecture $ bitbake mc:qemui386-buster:isar-image-base @@ -245,7 +248,7 @@ https://github.com/intel/bmap-tools ### Generate container image with root filesystem -A runnable container image is generated if you set IMAGE_TYPE to +A runnable container image is generated if you set IMAGE_FSTYPES to 'container-img'. Getting a container image can be the main purpose of an Isar configuration, but not only. @@ -286,8 +289,8 @@ The resulting container image archives (only for `docker-archive` and For one-shot builds (use `local.conf` otherwise): ``` -export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE IMAGE_TYPE CONTAINER_FORMAT" -export IMAGE_TYPE="container-img" +export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE IMAGE_FSTYPES CONTAINER_FORMAT" +export IMAGE_FSTYPES="container-img" export CONTAINER_FORMAT="docker-archive" ``` @@ -448,7 +451,9 @@ Please refer to `Add a Custom Application` section for more information about wr ## Image Type Selection -Isar can generate various images types for specific machine. The type of the image to be generated may be specified through the `IMAGE_TYPE` variable. Currently, the following image types are provided: +Isar can generate various images types for specific machine. The type of the +image to be generated may be specified through the `IMAGE_FSTYPES` variable. +Currently, the following image types are provided: - `ext4` - Raw ext4 filesystem image (default option for `qemuarm` machine). - `rpi-sdimg` - A complete, partitioned Raspberry Pi SD card image (default option for the `rpi` machine). @@ -506,7 +511,7 @@ Every machine is described in its configuration file. The file defines the follo - `KERNEL_IMAGE` - The name of kernel binary that it installed to `/boot` folder in target filesystem. This variable is used by Isar to extract the kernel binary and put it into the deploy folder. This makes sense for embedded devices, where kernel and root filesystem are written to different flash partitions. This variable is optional. - `INITRD_IMAGE` - The name of `ramdisk` binary. The meaning of this variable is similar to `KERNEL_IMAGE`. This variable is optional. - `MACHINE_SERIAL` - The name of serial device that will be used for console output. - - `IMAGE_TYPE` - The type of images to be generated for this machine. + - `IMAGE_FSTYPES` - The type of images to be generated for this machine. Below is an example of machine configuration file for `Raspberry Pi` board: ``` @@ -515,7 +520,7 @@ IMAGE_PREINSTALL = "linux-image-rpi-rpfv \ KERNEL_IMAGE = "vmlinuz-4.4.0-1-rpi" INITRD_IMAGE = "initrd.img-4.4.0-1-rpi" MACHINE_SERIAL = "ttyAMA0" -IMAGE_TYPE = "rpi-sdimg" +IMAGE_FSTYPES = "rpi-sdimg" ``` To add new machine user should perform the following steps: @@ -548,7 +553,7 @@ The user may use `meta-isar/recipes-core/images` as a template for new image rec ### General Information The image recipe in Isar creates a folder with target root filesystem. Its default location is: ``` -tmp/work/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}-${IMAGE_TYPE}/${PV}-${PR}/rootfs +tmp/work/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}-${IMAGE_FSTYPES}/${PV}-${PR}/rootfs ``` Every image type in Isar is implemented as a `bitbake` class. The goal of these classes is to pack root filesystem folder to appropriate format. @@ -571,7 +576,7 @@ The content of `do_my_image` function can be implemented either in shell or in P In the machine configuration file, set the following: ``` -IMAGE_TYPE = "my-image" +IMAGE_FSTYPES = "my-image" ``` ### Reference Classes diff --git a/meta-isar/conf/machine/bananapi.conf b/meta-isar/conf/machine/bananapi.conf index cec8057..dd3a066 100644 --- a/meta-isar/conf/machine/bananapi.conf +++ b/meta-isar/conf/machine/bananapi.conf @@ -9,6 +9,6 @@ KERNEL_NAME ?= "armmp" IMAGE_INSTALL += "u-boot-script" -IMAGE_TYPE ?= "wic-img" +IMAGE_FSTYPES ?= "wic-img" WKS_FILE ?= "bananapi" IMAGER_INSTALL += "u-boot-sunxi" diff --git a/meta-isar/conf/machine/container-amd64.conf b/meta-isar/conf/machine/container-amd64.conf index d2978c4..1f7669a 100644 --- a/meta-isar/conf/machine/container-amd64.conf +++ b/meta-isar/conf/machine/container-amd64.conf @@ -4,4 +4,4 @@ # SPDX-License-Identifier: MIT DISTRO_ARCH ?= "amd64" -IMAGE_TYPE ?= "container-img" +IMAGE_FSTYPES ?= "container-img" diff --git a/meta-isar/conf/machine/de0-nano-soc.conf b/meta-isar/conf/machine/de0-nano-soc.conf index 5e35602..f822e24 100644 --- a/meta-isar/conf/machine/de0-nano-soc.conf +++ b/meta-isar/conf/machine/de0-nano-soc.conf @@ -11,7 +11,7 @@ PREFERRED_PROVIDER_u-boot-de0-nano-soc = "u-boot-de0-nano-soc" U_BOOT_CONFIG_de0-nano-soc = "socfpga_de0_nano_soc_defconfig" U_BOOT_BIN_de0-nano-soc = "u-boot-with-spl.sfp" -IMAGE_TYPE ?= "wic-img" +IMAGE_FSTYPES ?= "wic-img" WKS_FILE ?= "de0-nano-soc.wks.in" IMAGER_INSTALL += "u-boot-de0-nano-soc" IMAGER_BUILD_DEPS += "u-boot-de0-nano-soc" diff --git a/meta-isar/conf/machine/hikey.conf b/meta-isar/conf/machine/hikey.conf index 09dfaf4..615d674 100644 --- a/meta-isar/conf/machine/hikey.conf +++ b/meta-isar/conf/machine/hikey.conf @@ -7,7 +7,7 @@ DISTRO_ARCH = "arm64" KERNEL_NAME ?= "mainline" -IMAGE_TYPE = "wic-img" +IMAGE_FSTYPES = "wic-img" WKS_FILE ?= "hikey" IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}" diff --git a/meta-isar/conf/machine/nand-ubi-demo.conf b/meta-isar/conf/machine/nand-ubi-demo.conf index 25ec72f..5be337f 100644 --- a/meta-isar/conf/machine/nand-ubi-demo.conf +++ b/meta-isar/conf/machine/nand-ubi-demo.conf @@ -8,6 +8,6 @@ BAUDRATE_TTY ?= "115200" MKUBIFS_ARGS := "-m 0x1000 -e 0x3e000 -c 1500" UBINIZE_ARGS = "-vv -m 0x1000 -p 0x40000" -IMAGE_TYPE ?= "ubi-ubifs-img" +IMAGE_FSTYPES ?= "ubi-ubifs-img" DTB_FILES = "imx6q-sabrelite.dtb" diff --git a/meta-isar/conf/machine/nanopi-neo.conf b/meta-isar/conf/machine/nanopi-neo.conf index 703b4f4..2475ce9 100644 --- a/meta-isar/conf/machine/nanopi-neo.conf +++ b/meta-isar/conf/machine/nanopi-neo.conf @@ -7,7 +7,7 @@ DISTRO_ARCH ?= "armhf" KERNEL_NAME ?= "armmp" -IMAGE_TYPE ?= "wic-img" +IMAGE_FSTYPES ?= "wic-img" WKS_FILE ?= "nanopi-neo.wks.in" IMAGE_INSTALL += "u-boot-script" diff --git a/meta-isar/conf/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf index 238bc90..fd2b8e5 100644 --- a/meta-isar/conf/machine/qemuamd64.conf +++ b/meta-isar/conf/machine/qemuamd64.conf @@ -6,7 +6,7 @@ DISTRO_ARCH ?= "amd64" KERNEL_NAME ?= "amd64" KERNEL_NAME_ubuntu-focal ?= "generic" -IMAGE_TYPE ?= "wic-img" +IMAGE_FSTYPES ?= "wic-img" WKS_FILE ?= "sdimage-efi" IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}" diff --git a/meta-isar/conf/machine/qemuarm.conf b/meta-isar/conf/machine/qemuarm.conf index fbbdc23..20a71ea 100644 --- a/meta-isar/conf/machine/qemuarm.conf +++ b/meta-isar/conf/machine/qemuarm.conf @@ -5,7 +5,7 @@ DISTRO_ARCH ?= "armhf" KERNEL_NAME ?= "armmp" -IMAGE_TYPE ?= "ext4-img" +IMAGE_FSTYPES ?= "ext4-img" QEMU_ROOTFS_DEV ?= "vda" diff --git a/meta-isar/conf/machine/qemuarm64.conf b/meta-isar/conf/machine/qemuarm64.conf index e5e762f..ca23cef 100644 --- a/meta-isar/conf/machine/qemuarm64.conf +++ b/meta-isar/conf/machine/qemuarm64.conf @@ -6,7 +6,7 @@ DISTRO_ARCH ?= "arm64" KERNEL_NAME ?= "arm64" KERNEL_NAME_ubuntu-focal ?= "generic" -IMAGE_TYPE ?= "ext4-img" +IMAGE_FSTYPES ?= "ext4-img" QEMU_ROOTFS_DEV ?= "vda" diff --git a/meta-isar/conf/machine/qemui386.conf b/meta-isar/conf/machine/qemui386.conf index e6afb06..17cff1e 100644 --- a/meta-isar/conf/machine/qemui386.conf +++ b/meta-isar/conf/machine/qemui386.conf @@ -4,7 +4,7 @@ DISTRO_ARCH ?= "i386" KERNEL_NAME ?= "686-pae" -IMAGE_TYPE ?= "wic-img" +IMAGE_FSTYPES ?= "wic-img" WKS_FILE ?= "directdisk-isar" IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}" diff --git a/meta-isar/conf/machine/qemumipsel.conf b/meta-isar/conf/machine/qemumipsel.conf index 85178ee..b34e46d 100644 --- a/meta-isar/conf/machine/qemumipsel.conf +++ b/meta-isar/conf/machine/qemumipsel.conf @@ -5,7 +5,7 @@ DISTRO_ARCH ?= "mipsel" KERNEL_NAME ?= "4kc-malta" -IMAGE_TYPE ?= "ext4-img" +IMAGE_FSTYPES ?= "ext4-img" QEMU_ROOTFS_DEV ?= "sda" diff --git a/meta-isar/conf/machine/qemuriscv64.conf b/meta-isar/conf/machine/qemuriscv64.conf index f4f5312..5c687a0 100644 --- a/meta-isar/conf/machine/qemuriscv64.conf +++ b/meta-isar/conf/machine/qemuriscv64.conf @@ -8,7 +8,7 @@ DISTRO_ARCH ?= "riscv64" KERNEL_NAME ?= "riscv64" -IMAGE_TYPE ?= "ext4-img" +IMAGE_FSTYPES ?= "ext4-img" QEMU_ROOTFS_DEV ?= "vda" diff --git a/meta-isar/conf/machine/rpi.conf b/meta-isar/conf/machine/rpi.conf index 31f2219..61852a9 100644 --- a/meta-isar/conf/machine/rpi.conf +++ b/meta-isar/conf/machine/rpi.conf @@ -4,4 +4,4 @@ MACHINE_SERIAL ?= "ttyAMA0" BAUDRATE_TTY ?= "9600" -IMAGE_TYPE ?= "rpi-sdimg" +IMAGE_FSTYPES ?= "rpi-sdimg" diff --git a/meta-isar/conf/machine/sifive-fu540.conf b/meta-isar/conf/machine/sifive-fu540.conf index c815f4a..d73f047 100644 --- a/meta-isar/conf/machine/sifive-fu540.conf +++ b/meta-isar/conf/machine/sifive-fu540.conf @@ -7,7 +7,7 @@ DISTRO_ARCH = "riscv64" KERNEL_NAME ?= "mainline" -IMAGE_TYPE ?= "wic-img" +IMAGE_FSTYPES ?= "wic-img" WKS_FILE ?= "sifive-fu540" IMAGER_INSTALL += "opensbi-sifive-fu540" IMAGER_BUILD_DEPS += "opensbi-sifive-fu540" diff --git a/meta-isar/conf/machine/stm32mp15x.conf b/meta-isar/conf/machine/stm32mp15x.conf index e963d08..22e88ea 100644 --- a/meta-isar/conf/machine/stm32mp15x.conf +++ b/meta-isar/conf/machine/stm32mp15x.conf @@ -11,7 +11,7 @@ PREFERRED_PROVIDER_u-boot-stm32mp15x = "u-boot-stm32mp15x" U_BOOT_CONFIG_stm32mp15x = "stm32mp15_trusted_defconfig" U_BOOT_BIN_stm32mp15x = "u-boot.stm32" -IMAGE_TYPE ?= "wic-img" +IMAGE_FSTYPES ?= "wic-img" WKS_FILE ?= "stm32mp15x.wks.in" IMAGER_INSTALL += "trusted-firmware-a-stm32mp15x optee-os-stm32mp15x u-boot-stm32mp15x" IMAGER_BUILD_DEPS += "trusted-firmware-a-stm32mp15x optee-os-stm32mp15x u-boot-stm32mp15x" diff --git a/meta-isar/conf/multiconfig/qemuamd64-buster.conf b/meta-isar/conf/multiconfig/qemuamd64-buster.conf index 14aec13..3371cb5 100644 --- a/meta-isar/conf/multiconfig/qemuamd64-buster.conf +++ b/meta-isar/conf/multiconfig/qemuamd64-buster.conf @@ -3,4 +3,4 @@ MACHINE ?= "qemuamd64" DISTRO ?= "debian-buster" -IMAGE_TYPE ?= "wic-img ext4-img targz-img" +IMAGE_FSTYPES ?= "wic-img ext4-img targz-img" diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index eecada3..e923318 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -7,7 +7,7 @@ STAMP = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}/${PV}-${PR}" STAMPCLEAN = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}-${MACHINE}/*-*" IMAGE_INSTALL ?= "" -IMAGE_TYPE ?= "ext4-img" +IMAGE_FSTYPES ?= "${@ d.getVar("IMAGE_TYPE", True) if d.getVar("IMAGE_TYPE", True) else "ext4-img"}" IMAGE_ROOTFS ?= "${WORKDIR}/rootfs" IMAGE_INSTALL += "${@ ("linux-image-" + d.getVar("KERNEL_NAME", True)) if d.getVar("KERNEL_NAME", True) else ""}" @@ -36,6 +36,8 @@ BUILDROOT_WORK = "${BUILDCHROOT_DIR}${PP_WORK}" python(){ if (d.getVar('IMAGE_TRANSIENT_PACKAGES')): bb.warn("IMAGE_TRANSIENT_PACKAGES is set and no longer supported") + if (d.getVar('IMAGE_TYPE')): + bb.warn("IMAGE_TYPE is deprecated, please switch to IMAGE_FSTYPES") } def cfg_script(d): @@ -220,4 +222,4 @@ EOSUDO addtask rootfs_finalize before do_rootfs after do_rootfs_postprocess # Last so that the image type can overwrite tasks if needed -inherit ${IMAGE_TYPE} +inherit ${IMAGE_FSTYPES} diff --git a/scripts/start_vm b/scripts/start_vm index 77c4244..5717c7c 100755 --- a/scripts/start_vm +++ b/scripts/start_vm @@ -109,10 +109,10 @@ readonly ISARROOT="$(dirname "$0")"/.. readonly MACHINE_CONF=$ISARROOT/meta-isar/conf/machine/qemu$ARCH.conf eval "$(egrep 'MACHINE_SERIAL|QEMU_' $MACHINE_CONF |bb2sh)" -eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "\(^IMAGE_TYPE=\|^IMAGE_FULLNAME=\)") +eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "\(^IMAGE_FSTYPES=\|^IMAGE_FULLNAME=\)") # Take first image type for VM if there are several defined -IMAGE_TYPE=$(echo "$IMAGE_TYPE" | sed -e 's/\s.*$//') -case "$IMAGE_TYPE" in +IMAGE_FSTYPES=$(echo "$IMAGE_FSTYPES" | sed -e 's/\s.*$//') +case "$IMAGE_FSTYPES" in ext4-img) readonly ROOTFS_IMAGE=$IMAGE_FULLNAME.ext4.img @@ -135,7 +135,7 @@ case "$IMAGE_TYPE" in EXTRA_ARGS="$EXTRA_ARGS -snapshot" ;; *) - echo "IMAGE_TYPE \"$IMAGE_TYPE\" not supported" + echo "IMAGE_FSTYPES \"$IMAGE_FSTYPES\" not supported" exit 1 ;; esac diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index 06fc935..bbbd2e3 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -28,7 +28,7 @@ def format_qemu_cmdline(arch, build, distro): extra_args = '' cpu = [''] - image_type = get_bitbake_var(bb_output, 'IMAGE_TYPE').split()[0] + image_type = get_bitbake_var(bb_output, 'IMAGE_FSTYPES').split()[0] deploy_dir_image = get_bitbake_var(bb_output, 'DEPLOY_DIR_IMAGE') if image_type == 'ext4-img': rootfs_image = 'isar-image-base-debian-' + distro + '-qemu' + arch + '.ext4.img' -- 2.20.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES 2021-09-13 14:58 ` [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES Uladzimir Bely @ 2021-09-13 18:27 ` Jan Kiszka 2021-09-14 7:08 ` Uladzimir Bely 0 siblings, 1 reply; 10+ messages in thread From: Jan Kiszka @ 2021-09-13 18:27 UTC (permalink / raw) To: Uladzimir Bely, isar-users On 13.09.21 16:58, Uladzimir Bely wrote: > The variable is renamed to get closer to OpenEmbedded/Poky > variables naming. If user still uses IMAGE_TYPE, it will be used > with the deprecation warning shown. IMAGE_FSTYPES [1] != IMAGE_TYPES [2]. Jan [1] https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAGE_FSTYPES [2] https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAGE_TYPES -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES 2021-09-13 18:27 ` Jan Kiszka @ 2021-09-14 7:08 ` Uladzimir Bely 2021-09-14 7:39 ` Jan Kiszka 0 siblings, 1 reply; 10+ messages in thread From: Uladzimir Bely @ 2021-09-14 7:08 UTC (permalink / raw) To: isar-users, Jan Kiszka In the email from понедельник, 13 сентября 2021 г. 21:27:47 +03 user Jan Kiszka wrote: > On 13.09.21 16:58, Uladzimir Bely wrote: > > The variable is renamed to get closer to OpenEmbedded/Poky > > variables naming. If user still uses IMAGE_TYPE, it will be used > > with the deprecation warning shown. > > IMAGE_FSTYPES [1] != IMAGE_TYPES [2]. > > Jan > > [1] > https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAG > E_FSTYPES [2] > https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAG > E_TYPES Yes, in OE there are two variables: IMAGE_TYPES - full list of supported image types IMAGE_FSTYPES - image types to build In Isar a completely different vaiable name - IMAGE_TYPE - is currently used. That's why we could rename it to IMAGE_FSTYPES to be closer to OE semantic. -- Uladzimir Bely Promwad Ltd. External service provider of ilbers GmbH Maria-Merian-Str. 8 85521 Ottobrunn, Germany +49 (89) 122 67 24-0 Commercial register Munich, HRB 214197 General Manager: Baurzhan Ismagulov ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES 2021-09-14 7:08 ` Uladzimir Bely @ 2021-09-14 7:39 ` Jan Kiszka 2021-09-14 7:50 ` Jan Kiszka 0 siblings, 1 reply; 10+ messages in thread From: Jan Kiszka @ 2021-09-14 7:39 UTC (permalink / raw) To: Uladzimir Bely, isar-users On 14.09.21 09:08, Uladzimir Bely wrote: > In the email from понедельник, 13 сентября 2021 г. 21:27:47 +03 user Jan > Kiszka wrote: >> On 13.09.21 16:58, Uladzimir Bely wrote: >>> The variable is renamed to get closer to OpenEmbedded/Poky >>> variables naming. If user still uses IMAGE_TYPE, it will be used >>> with the deprecation warning shown. >> >> IMAGE_FSTYPES [1] != IMAGE_TYPES [2]. >> >> Jan >> >> [1] >> https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAG >> E_FSTYPES [2] >> https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAG >> E_TYPES > > Yes, in OE there are two variables: > IMAGE_TYPES - full list of supported image types > IMAGE_FSTYPES - image types to build > This is wrong, read the above manual again. Jan -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES 2021-09-14 7:39 ` Jan Kiszka @ 2021-09-14 7:50 ` Jan Kiszka 0 siblings, 0 replies; 10+ messages in thread From: Jan Kiszka @ 2021-09-14 7:50 UTC (permalink / raw) To: Uladzimir Bely, isar-users On 14.09.21 09:39, Jan Kiszka wrote: > On 14.09.21 09:08, Uladzimir Bely wrote: >> In the email from понедельник, 13 сентября 2021 г. 21:27:47 +03 user Jan >> Kiszka wrote: >>> On 13.09.21 16:58, Uladzimir Bely wrote: >>>> The variable is renamed to get closer to OpenEmbedded/Poky >>>> variables naming. If user still uses IMAGE_TYPE, it will be used >>>> with the deprecation warning shown. >>> >>> IMAGE_FSTYPES [1] != IMAGE_TYPES [2]. >>> >>> Jan >>> >>> [1] >>> https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAG >>> E_FSTYPES [2] >>> https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAG >>> E_TYPES >> >> Yes, in OE there are two variables: >> IMAGE_TYPES - full list of supported image types >> IMAGE_FSTYPES - image types to build >> > > This is wrong, read the above manual again. > Err, sorry, I was wrong: IMAGE_FSTYPES talks about the "root filesystem" but actually covers the whole image. In that case, FSTYPE is also correct for us. Jan -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-09-14 7:50 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-13 14:58 [PATCH 0/5] Support multiple image types in one build Uladzimir Bely 2021-09-13 14:58 ` [PATCH 1/5] image: Make WORKDIR and STAMPs unrelated to IMAGE_TYPE Uladzimir Bely 2021-09-13 14:58 ` [PATCH 2/5] wic-img: Set weak default value for WKS_FILE Uladzimir Bely 2021-09-13 14:58 ` [PATCH 3/5] start_vm: Use the first image type to start VM Uladzimir Bely 2021-09-13 14:58 ` [PATCH 4/5] meta-isar: Rework mc:qemuamd64-buster configs Uladzimir Bely 2021-09-13 14:58 ` [PATCH 5/5] api: Rename IMAGE_TYPE to IMAGE_FSTYPES Uladzimir Bely 2021-09-13 18:27 ` Jan Kiszka 2021-09-14 7:08 ` Uladzimir Bely 2021-09-14 7:39 ` Jan Kiszka 2021-09-14 7:50 ` Jan Kiszka
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox