Message ID | 1742544230-24109-1-git-send-email-nobuhiro1.iwamatsu@toshiba.co.jp (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [isar-cip-core,v2,1/2] kas/opt: Add option for not install kernel | expand |
On Fri, 2025-03-21 at 17:03 +0900, Nobuhiro Iwamatsu via lists.cip- project.org wrote: > This adds an option to create an image that does not contain the > kernel. Hi, can please elaborate a bit on the reason why an image without a kernel is needed? It also would be good to have this info somewhere documented (and added to the commit message). Best regards, Felix > > Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > > --- > > v2: > - Use KERNEL_NAME instead of IMAGE_INSTALL:remove > - Add build:qemu-riscv64-test-nokerne; pipeline > > .gitlab-ci.yml | 36 ++++++++++++++++++++++++++++- > kas/opt/no_kernel.yml | 17 ++++++++++++++ > scripts/deploy-cip-core.sh | 47 +++++++++++++++++++++++++++--------- > -- > 3 files changed, 86 insertions(+), 14 deletions(-) > create mode 100644 kas/opt/no_kernel.yml > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index ec9ec2e..a744cec 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -28,6 +28,7 @@ variables: > swupdate_version: default > test_function: swupdate > separate_home_partition: disable > + no_kernel: disable > > stages: > - build > @@ -69,9 +70,10 @@ default: > - if [ "${watchdog}" = "disable" ]; then > base_yaml="${base_yaml}:kas/opt/disable-watchdog.yml"; fi > - if [ "${security_test}" = "enable" ]; then > base_yaml="${base_yaml}:kas/opt/security_test.yml"; fi > - if [ "${swupdate_version}" = "2022.12" ]; then > base_yaml="${base_yaml}:kas/opt/swupdate-2022.12.yaml"; fi > + - if [ "${no_kernel}" = "enable" ]; then > base_yaml="${base_yaml}:kas/opt/no_kernel.yml"; fi > - echo "Building ${base_yaml}" > - kas build ${base_yaml} > - - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh > ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG} wic; > fi > + - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh > ${release} ${target} ${extension} ${no_kernel} ${dtb} > ${CI_COMMIT_REF_SLUG} wic; fi > - if [ "${build_swu_v2}" = "enable" ]; then > mkdir build/previous-image; > if [ "${extension}" = "security" ] || [ "${extension}" = > "ebg-secure-boot-snakeoil" ]; then > @@ -226,6 +228,38 @@ build:qemu-arm-test: > target: qemu-arm > extension: test > > +build:qemu-amd64-test-nokernel: > + extends: > + - .build_base > + variables: > + target: qemu-amd64 > + extension: test > + no_kernel: enable > + > +build:qemu-arm64-test-nokernel: > + extends: > + - .build_base > + variables: > + target: qemu-arm64 > + extension: test > + no_kernel: enable > + > +build:qemu-arm-test-nokernel: > + extends: > + - .build_base > + variables: > + target: qemu-arm > + extension: test > + no_kernel: enable > + > +build:qemu-riscv64-test-nokernel: > + extends: > + - .build_base > + variables: > + target: qemu-riscv64 > + extension: test > + no_kernel: enable > + > build:x86-uefi-secure-boot: > extends: > - .build_base > diff --git a/kas/opt/no_kernel.yml b/kas/opt/no_kernel.yml > new file mode 100644 > index 0000000..7bba6a5 > --- /dev/null > +++ b/kas/opt/no_kernel.yml > @@ -0,0 +1,17 @@ > +# > +# CIP Core, generic profile > +# > +# Copyright (c) Toshiba Corporation 2025 > +# > +# Authors: > +# Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> > +# > +# SPDX-License-Identifier: MIT > +# > + > +header: > + version: 14 > + > +local_conf_header: > + kernel-version: | > + KERNEL_NAME = "" > diff --git a/scripts/deploy-cip-core.sh b/scripts/deploy-cip-core.sh > index 6e4dfd7..6cb4968 100755 > --- a/scripts/deploy-cip-core.sh > +++ b/scripts/deploy-cip-core.sh > @@ -13,9 +13,10 @@ fi > RELEASE=$1 > TARGET=$2 > EXTENSION=$3 > -DTB=$4 > -REF=$5 > -DEPLOY=$6 > +NO_KERNEL=$4 > +DTB=$5 > +REF=$6 > +DEPLOY=$7 > > BASE_FILENAME=cip-core-image-cip-core-$RELEASE-$TARGET > if [ "${EXTENSION}" != "none" ]; then > @@ -29,6 +30,23 @@ fi > BASE_PATH=build/tmp/deploy/images/$TARGET/$BASE_FILENAME > S3_TARGET=s3://download2.cip-project.org/cip-core/$REF/$TARGET/ > > +if [ "${NO_KERNEL}" = "enable" ]; then > + __BASE_PATH=${BASE_PATH} > + BASE_PATH="${BASE_PATH}-nokernel" > + > + echo "Rename from ${BASE_FILENAME}.* to ${BASE_FILENAME}- > nokernel.*" > + > + if [ -f "${__BASE_PATH}.tar.gz" ]; then > + mv "${__BASE_PATH}.tar.gz" "${BASE_PATH}.tar.gz" > + fi > + if [ -f "${__BASE_PATH}.swu" ]; then > + mv "${__BASE_PATH}.swu" "${BASE_PATH}.swu" > + fi > + if [ -f "${__BASE_PATH}.wic" ]; then > + mv "${__BASE_PATH}.wic" "${BASE_PATH}.wic" > + fi > +fi > + > if [ -f "${BASE_PATH}.wic" ]; then > echo "Uploading artifacts..." > if [ "$DEPLOY" = "swu" ]; then > @@ -48,17 +66,20 @@ else > aws s3 cp --no-progress --acl public-read > "${BASE_PATH}.tar.gz" "${S3_TARGET}" > fi > > - KERNEL_IMAGE="$BASE_PATH-vmlinu[xz]" > - # iwg20m workaround > - if [ -f "build/tmp/deploy/images/$TARGET/zImage" ]; then > - KERNEL_IMAGE=build/tmp/deploy/images/$TARGET/zImage > - fi > - # shellcheck disable=SC2086 > - aws s3 cp --no-progress --acl public-read $KERNEL_IMAGE > "${S3_TARGET}" > - aws s3 cp --no-progress --acl public-read "${BASE_PATH}- > initrd.img" "${S3_TARGET}" > + if [ "$NO_KERNEL" = "false" ]; then > + KERNEL_IMAGE="$BASE_PATH-vmlinu[xz]" > + # iwg20m workaround > + if [ -f "build/tmp/deploy/images/$TARGET/zImage" ]; > then > + KERNEL_IMAGE=build/tmp/deploy/images/$TARGET > /zImage > + fi > > - if [ "$DTB" != "none" ]; then > - aws s3 cp --no-progress --acl public-read > build/tmp/deploy/images/*/"$DTB" "${S3_TARGET}" > + # shellcheck disable=SC2086 > + aws s3 cp --no-progress --acl public-read > $KERNEL_IMAGE "${S3_TARGET}" > + aws s3 cp --no-progress --acl public-read > "${BASE_PATH}-initrd.img" "${S3_TARGET}" > + > + if [ "$DTB" != "none" ]; then > + aws s3 cp --no-progress --acl public-read > build/tmp/deploy/images/*/"$DTB" "${S3_TARGET}" > + fi > fi > fi > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#18302): > https://lists.cip-project.org/g/cip-dev/message/18302 > Mute This Topic: https://lists.cip-project.org/mt/111824641/6879696 > Group Owner: cip-dev+owner@lists.cip-project.org > Unsubscribe: > https://lists.cip-project.org/g/cip-dev/leave/14031553/6879696/1106769196/xyzzy > [felix.moessbauer@siemens.com] > -=-=-=-=-=-=-=-=-=-=-=-
Hi, > -----Original Message----- > From: MOESSBAUER, Felix <felix.moessbauer@siemens.com> > Sent: Friday, March 21, 2025 5:13 PM > To: cip-dev@lists.cip-project.org; Kiszka, Jan <jan.kiszka@siemens.com> > Cc: iwamatsu nobuhiro(岩松 信洋 ○DITC□DIT○OST) > <nobuhiro1.iwamatsu@toshiba.co.jp> > Subject: Re: [cip-dev] [isar-cip-core][PATCH v2 1/2] kas/opt: Add option for > not install kernel > > On Fri, 2025-03-21 at 17:03 +0900, Nobuhiro Iwamatsu via lists.cip- project.org > wrote: > > This adds an option to create an image that does not contain the > > kernel. > > Hi, can please elaborate a bit on the reason why an image without a kernel is > needed? It also would be good to have this info somewhere documented (and > added to the commit message). Sure, I will update to v3. > > Best regards, > Felix Best regards, Nobuhiro
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ec9ec2e..a744cec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,6 +28,7 @@ variables: swupdate_version: default test_function: swupdate separate_home_partition: disable + no_kernel: disable stages: - build @@ -69,9 +70,10 @@ default: - if [ "${watchdog}" = "disable" ]; then base_yaml="${base_yaml}:kas/opt/disable-watchdog.yml"; fi - if [ "${security_test}" = "enable" ]; then base_yaml="${base_yaml}:kas/opt/security_test.yml"; fi - if [ "${swupdate_version}" = "2022.12" ]; then base_yaml="${base_yaml}:kas/opt/swupdate-2022.12.yaml"; fi + - if [ "${no_kernel}" = "enable" ]; then base_yaml="${base_yaml}:kas/opt/no_kernel.yml"; fi - echo "Building ${base_yaml}" - kas build ${base_yaml} - - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${dtb} ${CI_COMMIT_REF_SLUG} wic; fi + - if [ "${deploy}" = "enable" ]; then scripts/deploy-cip-core.sh ${release} ${target} ${extension} ${no_kernel} ${dtb} ${CI_COMMIT_REF_SLUG} wic; fi - if [ "${build_swu_v2}" = "enable" ]; then mkdir build/previous-image; if [ "${extension}" = "security" ] || [ "${extension}" = "ebg-secure-boot-snakeoil" ]; then @@ -226,6 +228,38 @@ build:qemu-arm-test: target: qemu-arm extension: test +build:qemu-amd64-test-nokernel: + extends: + - .build_base + variables: + target: qemu-amd64 + extension: test + no_kernel: enable + +build:qemu-arm64-test-nokernel: + extends: + - .build_base + variables: + target: qemu-arm64 + extension: test + no_kernel: enable + +build:qemu-arm-test-nokernel: + extends: + - .build_base + variables: + target: qemu-arm + extension: test + no_kernel: enable + +build:qemu-riscv64-test-nokernel: + extends: + - .build_base + variables: + target: qemu-riscv64 + extension: test + no_kernel: enable + build:x86-uefi-secure-boot: extends: - .build_base diff --git a/kas/opt/no_kernel.yml b/kas/opt/no_kernel.yml new file mode 100644 index 0000000..7bba6a5 --- /dev/null +++ b/kas/opt/no_kernel.yml @@ -0,0 +1,17 @@ +# +# CIP Core, generic profile +# +# Copyright (c) Toshiba Corporation 2025 +# +# Authors: +# Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> +# +# SPDX-License-Identifier: MIT +# + +header: + version: 14 + +local_conf_header: + kernel-version: | + KERNEL_NAME = "" diff --git a/scripts/deploy-cip-core.sh b/scripts/deploy-cip-core.sh index 6e4dfd7..6cb4968 100755 --- a/scripts/deploy-cip-core.sh +++ b/scripts/deploy-cip-core.sh @@ -13,9 +13,10 @@ fi RELEASE=$1 TARGET=$2 EXTENSION=$3 -DTB=$4 -REF=$5 -DEPLOY=$6 +NO_KERNEL=$4 +DTB=$5 +REF=$6 +DEPLOY=$7 BASE_FILENAME=cip-core-image-cip-core-$RELEASE-$TARGET if [ "${EXTENSION}" != "none" ]; then @@ -29,6 +30,23 @@ fi BASE_PATH=build/tmp/deploy/images/$TARGET/$BASE_FILENAME S3_TARGET=s3://download2.cip-project.org/cip-core/$REF/$TARGET/ +if [ "${NO_KERNEL}" = "enable" ]; then + __BASE_PATH=${BASE_PATH} + BASE_PATH="${BASE_PATH}-nokernel" + + echo "Rename from ${BASE_FILENAME}.* to ${BASE_FILENAME}-nokernel.*" + + if [ -f "${__BASE_PATH}.tar.gz" ]; then + mv "${__BASE_PATH}.tar.gz" "${BASE_PATH}.tar.gz" + fi + if [ -f "${__BASE_PATH}.swu" ]; then + mv "${__BASE_PATH}.swu" "${BASE_PATH}.swu" + fi + if [ -f "${__BASE_PATH}.wic" ]; then + mv "${__BASE_PATH}.wic" "${BASE_PATH}.wic" + fi +fi + if [ -f "${BASE_PATH}.wic" ]; then echo "Uploading artifacts..." if [ "$DEPLOY" = "swu" ]; then @@ -48,17 +66,20 @@ else aws s3 cp --no-progress --acl public-read "${BASE_PATH}.tar.gz" "${S3_TARGET}" fi - KERNEL_IMAGE="$BASE_PATH-vmlinu[xz]" - # iwg20m workaround - if [ -f "build/tmp/deploy/images/$TARGET/zImage" ]; then - KERNEL_IMAGE=build/tmp/deploy/images/$TARGET/zImage - fi - # shellcheck disable=SC2086 - aws s3 cp --no-progress --acl public-read $KERNEL_IMAGE "${S3_TARGET}" - aws s3 cp --no-progress --acl public-read "${BASE_PATH}-initrd.img" "${S3_TARGET}" + if [ "$NO_KERNEL" = "false" ]; then + KERNEL_IMAGE="$BASE_PATH-vmlinu[xz]" + # iwg20m workaround + if [ -f "build/tmp/deploy/images/$TARGET/zImage" ]; then + KERNEL_IMAGE=build/tmp/deploy/images/$TARGET/zImage + fi - if [ "$DTB" != "none" ]; then - aws s3 cp --no-progress --acl public-read build/tmp/deploy/images/*/"$DTB" "${S3_TARGET}" + # shellcheck disable=SC2086 + aws s3 cp --no-progress --acl public-read $KERNEL_IMAGE "${S3_TARGET}" + aws s3 cp --no-progress --acl public-read "${BASE_PATH}-initrd.img" "${S3_TARGET}" + + if [ "$DTB" != "none" ]; then + aws s3 cp --no-progress --acl public-read build/tmp/deploy/images/*/"$DTB" "${S3_TARGET}" + fi fi fi
This adds an option to create an image that does not contain the kernel. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> --- v2: - Use KERNEL_NAME instead of IMAGE_INSTALL:remove - Add build:qemu-riscv64-test-nokerne; pipeline .gitlab-ci.yml | 36 ++++++++++++++++++++++++++++- kas/opt/no_kernel.yml | 17 ++++++++++++++ scripts/deploy-cip-core.sh | 47 +++++++++++++++++++++++++++----------- 3 files changed, 86 insertions(+), 14 deletions(-) create mode 100644 kas/opt/no_kernel.yml