diff mbox series

[isar-cip-core] Add bookworm

Message ID 20230130113412.628646-1-Quirin.Gylstorff@siemens.com (mailing list archive)
State Superseded
Headers show
Series [isar-cip-core] Add bookworm | expand

Commit Message

Quirin Gylstorff Jan. 30, 2023, 11:34 a.m. UTC
From: Quirin Gylstorff <quirin.gylstorff@siemens.com>

This will add prelimitary support for the debian 12 aka bookworm.

Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
---
 .gitlab-ci.yml                       | 45 ++++++++++++++++++++++++++++
 Kconfig                              |  5 ++++
 conf/distro/cip-core-bookworm.conf   | 17 +++++++++++
 kas/opt/bookworm.yml                 | 15 ++++++++++
 recipes-core/images/efibootguard.inc |  6 ++--
 recipes-core/images/swupdate.inc     |  6 +++-
 6 files changed, 91 insertions(+), 3 deletions(-)
 create mode 100644 conf/distro/cip-core-bookworm.conf
 create mode 100644 kas/opt/bookworm.yml

Comments

Felix Moessbauer Jan. 30, 2023, 12:37 p.m. UTC | #1
On Mon, 2023-01-30 at 12:34 +0100, Quirin Gylstorff wrote:
> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> 
> This will add prelimitary support for the debian 12 aka bookworm.
> 
> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> ---
>  .gitlab-ci.yml                       | 45
> ++++++++++++++++++++++++++++
>  Kconfig                              |  5 ++++
>  conf/distro/cip-core-bookworm.conf   | 17 +++++++++++
>  kas/opt/bookworm.yml                 | 15 ++++++++++
>  recipes-core/images/efibootguard.inc |  6 ++--
>  recipes-core/images/swupdate.inc     |  6 +++-
>  6 files changed, 91 insertions(+), 3 deletions(-)
>  create mode 100644 conf/distro/cip-core-bookworm.conf
>  create mode 100644 kas/opt/bookworm.yml
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index f7c8c88..2b9505d 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -37,6 +37,7 @@ default:
>      - if [ "${targz}" = "enable" ]; then
> base_yaml="${base_yaml}:kas/opt/targz-img.yml"; fi
>      - if [ "${release}" = "buster" ]; then
> base_yaml="${base_yaml}:kas/opt/buster.yml"; fi
>      - if [ "${release}" = "bullseye" ]; then
> base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi
> +    - if [ "${release}" = "bookworm" ]; then
> base_yaml="${base_yaml}:kas/opt/bookworm.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}; fi
> @@ -281,3 +282,47 @@ build:qemu-amd64-secure-boot-buster:
>      use_rt: disable
>      wic_targz: disable
>      deploy: disable
> +
> +# bookworm images
> +build:simatic-ipc227e-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    target: simatic-ipc227e
> +    release: bookworm
> +
> +build:bbb-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    target: bbb
> +    dtb: am335x-boneblack.dtb
> +    release: bookworm
> +
> +build:iwg20m-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    target: iwg20m
> +    dtb: r8a7743-iwg20d-q7-dbcm-ca.dtb
> +    release: bookworm
> +
> +build:hihope-rzg2m-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    target: hihope-rzg2m
> +    dtb: r8a774a1-hihope-rzg2m-ex.dtb
> +    release: bookworm
> +
> +build:qemu-amd64-secure-boot-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    base_yaml: "kas-
> cip.yml:kas/board/${target}.yml:kas/opt/5.10.yml"
> +    release: bookworm
> +    target: qemu-amd64
> +    extension: ebg-secure-boot-snakeoil
> +    use_rt: disable
> +    wic_targz: disable
> +    deploy: disable
> diff --git a/Kconfig b/Kconfig
> index cd24ce2..87056b9 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -128,6 +128,10 @@ config DEBIAN_BULLSEYE
>         bool "bullseye (11)"
>         depends on !ARCH_RISCV64
>  
> +config DEBIAN_BOOKWORM
> +       bool "bookworm (12)"
> +       depends on !ARCH_RISCV64
> +

Why is riscv excluded here? If the blocker is only efibootguard, we
should try to get that unblocked as soon as possible to not miss the
bookworm freeze. I'm happy to help to make it possible.

Felix

>  config DEBIAN_SID_PORTS
>         bool "sid (unstable) with unofficial ports"
>         depends on ARCH_RISCV64
> @@ -138,6 +142,7 @@ config KAS_INCLUDE_DEBIAN
>         string
>         default "kas/opt/buster.yml" if DEBIAN_BUSTER
>         default "kas/opt/bullseye.yml" if DEBIAN_BULLSEYE
> +       default "kas/opt/bookworm.yml" if DEBIAN_BOOKWORM
>         default "kas/opt/sid-ports.yml" if DEBIAN_SID_PORTS
>  
>  comment "Image features"
> diff --git a/conf/distro/cip-core-bookworm.conf b/conf/distro/cip-
> core-bookworm.conf
> new file mode 100644
> index 0000000..86c97a1
> --- /dev/null
> +++ b/conf/distro/cip-core-bookworm.conf
> @@ -0,0 +1,17 @@
> +#
> +# CIP Core, generic profile
> +#
> +# Copyright (c) Siemens AG, 2023
> +#
> +# Authors:
> +#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +require conf/distro/debian-bookworm.conf
> +require cip-core-common.inc
> +
> +PREFERRED_VERSION_efibootguard ?= "0.13.%"
> +PREFERRED_VERSION_linux-cip ?= "5.10.%"
> +PREFERRED_VERSION_linux-cip-rt ?= "5.10.%"
> diff --git a/kas/opt/bookworm.yml b/kas/opt/bookworm.yml
> new file mode 100644
> index 0000000..8b4431b
> --- /dev/null
> +++ b/kas/opt/bookworm.yml
> @@ -0,0 +1,15 @@
> +#
> +# CIP Core, generic profile
> +#
> +# Copyright (c) Siemens AG, 2023
> +#
> +# Authors:
> +#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +header:
> +  version: 12
> +
> +distro: cip-core-bookworm
> diff --git a/recipes-core/images/efibootguard.inc b/recipes-
> core/images/efibootguard.inc
> index eace4fd..d8d3a06 100644
> --- a/recipes-core/images/efibootguard.inc
> +++ b/recipes-core/images/efibootguard.inc
> @@ -8,8 +8,10 @@
>  #
>  # SPDX-License-Identifier: MIT
>  #
> -
> -IMAGE_INSTALL_append = " efibootguard"
> +OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
> +IMAGE_PREINSTALL_append_bookworm += " efibootguard"
> +IMAGE_INSTALL_append_bullseye += " efibootguard"
> +IMAGE_INSTALL_append_buster += " efibootguard"
>  
>  WIC_IMAGER_INSTALL_append = " efibootguard"
>  WDOG_TIMEOUT ?= "60"
> diff --git a/recipes-core/images/swupdate.inc b/recipes-
> core/images/swupdate.inc
> index 9b2aedc..a47928a 100644
> --- a/recipes-core/images/swupdate.inc
> +++ b/recipes-core/images/swupdate.inc
> @@ -13,7 +13,11 @@ inherit image_uuid
>  inherit swupdate
>  inherit read-only-rootfs
>  
> -IMAGE_INSTALL += " swupdate"
> +OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
> +
> +IMAGE_PREINSTALL_append_bookworm += " swupdate"
> +IMAGE_INSTALL_append_bullseye += " swupdate"
> +IMAGE_INSTALL_append_buster += " swupdate"
>  IMAGE_INSTALL += " swupdate-handler-roundrobin"
>  
>  ROOTFS_PARTITION_NAME = "${IMAGE_FULLNAME}.wic.p4.gz"
Quirin Gylstorff Jan. 30, 2023, 1:53 p.m. UTC | #2
On 1/30/23 13:37, Moessbauer, Felix (T CED INW-CN) wrote:
> On Mon, 2023-01-30 at 12:34 +0100, Quirin Gylstorff wrote:
>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>
>> This will add prelimitary support for the debian 12 aka bookworm.
>>
>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>> ---
>>   .gitlab-ci.yml                       | 45
>> ++++++++++++++++++++++++++++
>>   Kconfig                              |  5 ++++
>>   conf/distro/cip-core-bookworm.conf   | 17 +++++++++++
>>   kas/opt/bookworm.yml                 | 15 ++++++++++
>>   recipes-core/images/efibootguard.inc |  6 ++--
>>   recipes-core/images/swupdate.inc     |  6 +++-
>>   6 files changed, 91 insertions(+), 3 deletions(-)
>>   create mode 100644 conf/distro/cip-core-bookworm.conf
>>   create mode 100644 kas/opt/bookworm.yml
>>
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> index f7c8c88..2b9505d 100644
>> --- a/.gitlab-ci.yml
>> +++ b/.gitlab-ci.yml
>> @@ -37,6 +37,7 @@ default:
>>       - if [ "${targz}" = "enable" ]; then
>> base_yaml="${base_yaml}:kas/opt/targz-img.yml"; fi
>>       - if [ "${release}" = "buster" ]; then
>> base_yaml="${base_yaml}:kas/opt/buster.yml"; fi
>>       - if [ "${release}" = "bullseye" ]; then
>> base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi
>> +    - if [ "${release}" = "bookworm" ]; then
>> base_yaml="${base_yaml}:kas/opt/bookworm.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}; fi
>> @@ -281,3 +282,47 @@ build:qemu-amd64-secure-boot-buster:
>>       use_rt: disable
>>       wic_targz: disable
>>       deploy: disable
>> +
>> +# bookworm images
>> +build:simatic-ipc227e-bookworm:
>> +  extends:
>> +    - .build_base
>> +  variables:
>> +    target: simatic-ipc227e
>> +    release: bookworm
>> +
>> +build:bbb-bookworm:
>> +  extends:
>> +    - .build_base
>> +  variables:
>> +    target: bbb
>> +    dtb: am335x-boneblack.dtb
>> +    release: bookworm
>> +
>> +build:iwg20m-bookworm:
>> +  extends:
>> +    - .build_base
>> +  variables:
>> +    target: iwg20m
>> +    dtb: r8a7743-iwg20d-q7-dbcm-ca.dtb
>> +    release: bookworm
>> +
>> +build:hihope-rzg2m-bookworm:
>> +  extends:
>> +    - .build_base
>> +  variables:
>> +    target: hihope-rzg2m
>> +    dtb: r8a774a1-hihope-rzg2m-ex.dtb
>> +    release: bookworm
>> +
>> +build:qemu-amd64-secure-boot-bookworm:
>> +  extends:
>> +    - .build_base
>> +  variables:
>> +    base_yaml: "kas-
>> cip.yml:kas/board/${target}.yml:kas/opt/5.10.yml"
>> +    release: bookworm
>> +    target: qemu-amd64
>> +    extension: ebg-secure-boot-snakeoil
>> +    use_rt: disable
>> +    wic_targz: disable
>> +    deploy: disable
>> diff --git a/Kconfig b/Kconfig
>> index cd24ce2..87056b9 100644
>> --- a/Kconfig
>> +++ b/Kconfig
>> @@ -128,6 +128,10 @@ config DEBIAN_BULLSEYE
>>          bool "bullseye (11)"
>>          depends on !ARCH_RISCV64
>>
>> +config DEBIAN_BOOKWORM
>> +       bool "bookworm (12)"
>> +       depends on !ARCH_RISCV64
>> +
> 
> Why is riscv excluded here? If the blocker is only efibootguard, we
> should try to get that unblocked as soon as possible to not miss the
> bookworm freeze. I'm happy to help to make it possible.

 From my understanding Risc-v will not be a official Arch for Debian 
Bookworm [1].

[1]: https://lists.debian.org/debian-riscv/2023/01/msg00001.html

Quirin
> 
> Felix
> 
>>   config DEBIAN_SID_PORTS
>>          bool "sid (unstable) with unofficial ports"
>>          depends on ARCH_RISCV64
>> @@ -138,6 +142,7 @@ config KAS_INCLUDE_DEBIAN
>>          string
>>          default "kas/opt/buster.yml" if DEBIAN_BUSTER
>>          default "kas/opt/bullseye.yml" if DEBIAN_BULLSEYE
>> +       default "kas/opt/bookworm.yml" if DEBIAN_BOOKWORM
>>          default "kas/opt/sid-ports.yml" if DEBIAN_SID_PORTS
>>
>>   comment "Image features"
>> diff --git a/conf/distro/cip-core-bookworm.conf b/conf/distro/cip-
>> core-bookworm.conf
>> new file mode 100644
>> index 0000000..86c97a1
>> --- /dev/null
>> +++ b/conf/distro/cip-core-bookworm.conf
>> @@ -0,0 +1,17 @@
>> +#
>> +# CIP Core, generic profile
>> +#
>> +# Copyright (c) Siemens AG, 2023
>> +#
>> +# Authors:
>> +#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
>> +#
>> +# SPDX-License-Identifier: MIT
>> +#
>> +
>> +require conf/distro/debian-bookworm.conf
>> +require cip-core-common.inc
>> +
>> +PREFERRED_VERSION_efibootguard ?= "0.13.%"
>> +PREFERRED_VERSION_linux-cip ?= "5.10.%"
>> +PREFERRED_VERSION_linux-cip-rt ?= "5.10.%"
>> diff --git a/kas/opt/bookworm.yml b/kas/opt/bookworm.yml
>> new file mode 100644
>> index 0000000..8b4431b
>> --- /dev/null
>> +++ b/kas/opt/bookworm.yml
>> @@ -0,0 +1,15 @@
>> +#
>> +# CIP Core, generic profile
>> +#
>> +# Copyright (c) Siemens AG, 2023
>> +#
>> +# Authors:
>> +#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
>> +#
>> +# SPDX-License-Identifier: MIT
>> +#
>> +
>> +header:
>> +  version: 12
>> +
>> +distro: cip-core-bookworm
>> diff --git a/recipes-core/images/efibootguard.inc b/recipes-
>> core/images/efibootguard.inc
>> index eace4fd..d8d3a06 100644
>> --- a/recipes-core/images/efibootguard.inc
>> +++ b/recipes-core/images/efibootguard.inc
>> @@ -8,8 +8,10 @@
>>   #
>>   # SPDX-License-Identifier: MIT
>>   #
>> -
>> -IMAGE_INSTALL_append = " efibootguard"
>> +OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
>> +IMAGE_PREINSTALL_append_bookworm += " efibootguard"
>> +IMAGE_INSTALL_append_bullseye += " efibootguard"
>> +IMAGE_INSTALL_append_buster += " efibootguard"
>>
>>   WIC_IMAGER_INSTALL_append = " efibootguard"
>>   WDOG_TIMEOUT ?= "60"
>> diff --git a/recipes-core/images/swupdate.inc b/recipes-
>> core/images/swupdate.inc
>> index 9b2aedc..a47928a 100644
>> --- a/recipes-core/images/swupdate.inc
>> +++ b/recipes-core/images/swupdate.inc
>> @@ -13,7 +13,11 @@ inherit image_uuid
>>   inherit swupdate
>>   inherit read-only-rootfs
>>
>> -IMAGE_INSTALL += " swupdate"
>> +OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
>> +
>> +IMAGE_PREINSTALL_append_bookworm += " swupdate"
>> +IMAGE_INSTALL_append_bullseye += " swupdate"
>> +IMAGE_INSTALL_append_buster += " swupdate"
>>   IMAGE_INSTALL += " swupdate-handler-roundrobin"
>>
>>   ROOTFS_PARTITION_NAME = "${IMAGE_FULLNAME}.wic.p4.gz"
>
Jan Kiszka Jan. 31, 2023, 7:17 a.m. UTC | #3
On 30.01.23 14:53, Gylstorff Quirin wrote:
> 
> 
> On 1/30/23 13:37, Moessbauer, Felix (T CED INW-CN) wrote:
>> On Mon, 2023-01-30 at 12:34 +0100, Quirin Gylstorff wrote:
>>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>
>>> This will add prelimitary support for the debian 12 aka bookworm.
>>>
>>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>> ---
>>>   .gitlab-ci.yml                       | 45
>>> ++++++++++++++++++++++++++++
>>>   Kconfig                              |  5 ++++
>>>   conf/distro/cip-core-bookworm.conf   | 17 +++++++++++
>>>   kas/opt/bookworm.yml                 | 15 ++++++++++
>>>   recipes-core/images/efibootguard.inc |  6 ++--
>>>   recipes-core/images/swupdate.inc     |  6 +++-
>>>   6 files changed, 91 insertions(+), 3 deletions(-)
>>>   create mode 100644 conf/distro/cip-core-bookworm.conf
>>>   create mode 100644 kas/opt/bookworm.yml
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index f7c8c88..2b9505d 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -37,6 +37,7 @@ default:
>>>       - if [ "${targz}" = "enable" ]; then
>>> base_yaml="${base_yaml}:kas/opt/targz-img.yml"; fi
>>>       - if [ "${release}" = "buster" ]; then
>>> base_yaml="${base_yaml}:kas/opt/buster.yml"; fi
>>>       - if [ "${release}" = "bullseye" ]; then
>>> base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi
>>> +    - if [ "${release}" = "bookworm" ]; then
>>> base_yaml="${base_yaml}:kas/opt/bookworm.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}; fi
>>> @@ -281,3 +282,47 @@ build:qemu-amd64-secure-boot-buster:
>>>       use_rt: disable
>>>       wic_targz: disable
>>>       deploy: disable
>>> +
>>> +# bookworm images
>>> +build:simatic-ipc227e-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    target: simatic-ipc227e
>>> +    release: bookworm
>>> +
>>> +build:bbb-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    target: bbb
>>> +    dtb: am335x-boneblack.dtb
>>> +    release: bookworm
>>> +
>>> +build:iwg20m-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    target: iwg20m
>>> +    dtb: r8a7743-iwg20d-q7-dbcm-ca.dtb
>>> +    release: bookworm
>>> +
>>> +build:hihope-rzg2m-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    target: hihope-rzg2m
>>> +    dtb: r8a774a1-hihope-rzg2m-ex.dtb
>>> +    release: bookworm
>>> +
>>> +build:qemu-amd64-secure-boot-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    base_yaml: "kas-
>>> cip.yml:kas/board/${target}.yml:kas/opt/5.10.yml"
>>> +    release: bookworm
>>> +    target: qemu-amd64
>>> +    extension: ebg-secure-boot-snakeoil
>>> +    use_rt: disable
>>> +    wic_targz: disable
>>> +    deploy: disable
>>> diff --git a/Kconfig b/Kconfig
>>> index cd24ce2..87056b9 100644
>>> --- a/Kconfig
>>> +++ b/Kconfig
>>> @@ -128,6 +128,10 @@ config DEBIAN_BULLSEYE
>>>          bool "bullseye (11)"
>>>          depends on !ARCH_RISCV64
>>>
>>> +config DEBIAN_BOOKWORM
>>> +       bool "bookworm (12)"
>>> +       depends on !ARCH_RISCV64
>>> +
>>
>> Why is riscv excluded here? If the blocker is only efibootguard, we
>> should try to get that unblocked as soon as possible to not miss the
>> bookworm freeze. I'm happy to help to make it possible.
> 
> From my understanding Risc-v will not be a official Arch for Debian
> Bookworm [1].
> 
> [1]: https://lists.debian.org/debian-riscv/2023/01/msg00001.html

Yes, 2 more years of constantly breaking sid-ports for RISC-V,
unfortunately.

Jan
Jan Kiszka Jan. 31, 2023, 10:54 a.m. UTC | #4
On 30.01.23 12:34, Quirin Gylstorff wrote:
> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> 
> This will add prelimitary support for the debian 12 aka bookworm.
> 
> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> ---
>  .gitlab-ci.yml                       | 45 ++++++++++++++++++++++++++++
>  Kconfig                              |  5 ++++
>  conf/distro/cip-core-bookworm.conf   | 17 +++++++++++
>  kas/opt/bookworm.yml                 | 15 ++++++++++
>  recipes-core/images/efibootguard.inc |  6 ++--
>  recipes-core/images/swupdate.inc     |  6 +++-
>  6 files changed, 91 insertions(+), 3 deletions(-)
>  create mode 100644 conf/distro/cip-core-bookworm.conf
>  create mode 100644 kas/opt/bookworm.yml
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index f7c8c88..2b9505d 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -37,6 +37,7 @@ default:
>      - if [ "${targz}" = "enable" ]; then base_yaml="${base_yaml}:kas/opt/targz-img.yml"; fi
>      - if [ "${release}" = "buster" ]; then base_yaml="${base_yaml}:kas/opt/buster.yml"; fi
>      - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi
> +    - if [ "${release}" = "bookworm" ]; then base_yaml="${base_yaml}:kas/opt/bookworm.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}; fi
> @@ -281,3 +282,47 @@ build:qemu-amd64-secure-boot-buster:
>      use_rt: disable
>      wic_targz: disable
>      deploy: disable
> +
> +# bookworm images
> +build:simatic-ipc227e-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    target: simatic-ipc227e
> +    release: bookworm
> +
> +build:bbb-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    target: bbb
> +    dtb: am335x-boneblack.dtb
> +    release: bookworm
> +
> +build:iwg20m-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    target: iwg20m
> +    dtb: r8a7743-iwg20d-q7-dbcm-ca.dtb
> +    release: bookworm
> +
> +build:hihope-rzg2m-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    target: hihope-rzg2m
> +    dtb: r8a774a1-hihope-rzg2m-ex.dtb
> +    release: bookworm
> +
> +build:qemu-amd64-secure-boot-bookworm:
> +  extends:
> +    - .build_base
> +  variables:
> +    base_yaml: "kas-cip.yml:kas/board/${target}.yml:kas/opt/5.10.yml"

I don't think we need pin to 5.10 here. Once there is a 6.1 option, it
will be preferred for bookworm, and this may just be forgotten to be
dropped.

> +    release: bookworm
> +    target: qemu-amd64
> +    extension: ebg-secure-boot-snakeoil
> +    use_rt: disable
> +    wic_targz: disable
> +    deploy: disable
> diff --git a/Kconfig b/Kconfig
> index cd24ce2..87056b9 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -128,6 +128,10 @@ config DEBIAN_BULLSEYE
>  	bool "bullseye (11)"
>  	depends on !ARCH_RISCV64
>  
> +config DEBIAN_BOOKWORM
> +	bool "bookworm (12)"
> +	depends on !ARCH_RISCV64
> +
>  config DEBIAN_SID_PORTS
>  	bool "sid (unstable) with unofficial ports"
>  	depends on ARCH_RISCV64
> @@ -138,6 +142,7 @@ config KAS_INCLUDE_DEBIAN
>  	string
>  	default "kas/opt/buster.yml" if DEBIAN_BUSTER
>  	default "kas/opt/bullseye.yml" if DEBIAN_BULLSEYE
> +	default "kas/opt/bookworm.yml" if DEBIAN_BOOKWORM
>  	default "kas/opt/sid-ports.yml" if DEBIAN_SID_PORTS
>  
>  comment "Image features"
> diff --git a/conf/distro/cip-core-bookworm.conf b/conf/distro/cip-core-bookworm.conf
> new file mode 100644
> index 0000000..86c97a1
> --- /dev/null
> +++ b/conf/distro/cip-core-bookworm.conf
> @@ -0,0 +1,17 @@
> +#
> +# CIP Core, generic profile
> +#
> +# Copyright (c) Siemens AG, 2023
> +#
> +# Authors:
> +#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +require conf/distro/debian-bookworm.conf
> +require cip-core-common.inc
> +
> +PREFERRED_VERSION_efibootguard ?= "0.13.%"
> +PREFERRED_VERSION_linux-cip ?= "5.10.%"
> +PREFERRED_VERSION_linux-cip-rt ?= "5.10.%"
> diff --git a/kas/opt/bookworm.yml b/kas/opt/bookworm.yml
> new file mode 100644
> index 0000000..8b4431b
> --- /dev/null
> +++ b/kas/opt/bookworm.yml
> @@ -0,0 +1,15 @@
> +#
> +# CIP Core, generic profile
> +#
> +# Copyright (c) Siemens AG, 2023
> +#
> +# Authors:
> +#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
> +#
> +# SPDX-License-Identifier: MIT
> +#
> +
> +header:
> +  version: 12
> +
> +distro: cip-core-bookworm
> diff --git a/recipes-core/images/efibootguard.inc b/recipes-core/images/efibootguard.inc
> index eace4fd..d8d3a06 100644
> --- a/recipes-core/images/efibootguard.inc
> +++ b/recipes-core/images/efibootguard.inc
> @@ -8,8 +8,10 @@
>  #
>  # SPDX-License-Identifier: MIT
>  #
> -

Please keep.

> -IMAGE_INSTALL_append = " efibootguard"
> +OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"

Blank line here, also to be consistent.

> +IMAGE_PREINSTALL_append_bookworm += " efibootguard"
> +IMAGE_INSTALL_append_bullseye += " efibootguard"
> +IMAGE_INSTALL_append_buster += " efibootguard"

+= does not make sense together with "_append".

>  
>  WIC_IMAGER_INSTALL_append = " efibootguard"
>  WDOG_TIMEOUT ?= "60"
> diff --git a/recipes-core/images/swupdate.inc b/recipes-core/images/swupdate.inc
> index 9b2aedc..a47928a 100644
> --- a/recipes-core/images/swupdate.inc
> +++ b/recipes-core/images/swupdate.inc
> @@ -13,7 +13,11 @@ inherit image_uuid
>  inherit swupdate
>  inherit read-only-rootfs
>  
> -IMAGE_INSTALL += " swupdate"
> +OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
> +
> +IMAGE_PREINSTALL_append_bookworm += " swupdate"
> +IMAGE_INSTALL_append_bullseye += " swupdate"
> +IMAGE_INSTALL_append_buster += " swupdate"

Same here.

>  IMAGE_INSTALL += " swupdate-handler-roundrobin"
>  
>  ROOTFS_PARTITION_NAME = "${IMAGE_FULLNAME}.wic.p4.gz"

Jan
Florian Bezdeka Jan. 31, 2023, 12:20 p.m. UTC | #5
On Tue, 2023-01-31 at 11:54 +0100, Jan Kiszka via lists.cip-project.org
wrote:
> On 30.01.23 12:34, Quirin Gylstorff wrote:
> > From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> > 
> > This will add prelimitary support for the debian 12 aka bookworm.

I was triggered by the subject of this patch. Why do we re-add the
bookworm distribution when it's already available in Isar itself?

Maybe rephrase to something like "enable tests for bookworm" or "enable
building images based on bookworm"?

> > 
> > Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> > ---
> >  .gitlab-ci.yml                       | 45 ++++++++++++++++++++++++++++
> >  Kconfig                              |  5 ++++
> >  conf/distro/cip-core-bookworm.conf   | 17 +++++++++++
> >  kas/opt/bookworm.yml                 | 15 ++++++++++
> >  recipes-core/images/efibootguard.inc |  6 ++--
> >  recipes-core/images/swupdate.inc     |  6 +++-
> >  6 files changed, 91 insertions(+), 3 deletions(-)
> >  create mode 100644 conf/distro/cip-core-bookworm.conf
> >  create mode 100644 kas/opt/bookworm.yml
> > 
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index f7c8c88..2b9505d 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -37,6 +37,7 @@ default:
> >      - if [ "${targz}" = "enable" ]; then base_yaml="${base_yaml}:kas/opt/targz-img.yml"; fi
> >      - if [ "${release}" = "buster" ]; then base_yaml="${base_yaml}:kas/opt/buster.yml"; fi
> >      - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi
> > +    - if [ "${release}" = "bookworm" ]; then base_yaml="${base_yaml}:kas/opt/bookworm.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}; fi
> > @@ -281,3 +282,47 @@ build:qemu-amd64-secure-boot-buster:
> >      use_rt: disable
> >      wic_targz: disable
> >      deploy: disable
> > +
> > +# bookworm images
> > +build:simatic-ipc227e-bookworm:
> > +  extends:
> > +    - .build_base
> > +  variables:
> > +    target: simatic-ipc227e
> > +    release: bookworm
> > +
> > +build:bbb-bookworm:
> > +  extends:
> > +    - .build_base
> > +  variables:
> > +    target: bbb
> > +    dtb: am335x-boneblack.dtb
> > +    release: bookworm
> > +
> > +build:iwg20m-bookworm:
> > +  extends:
> > +    - .build_base
> > +  variables:
> > +    target: iwg20m
> > +    dtb: r8a7743-iwg20d-q7-dbcm-ca.dtb
> > +    release: bookworm
> > +
> > +build:hihope-rzg2m-bookworm:
> > +  extends:
> > +    - .build_base
> > +  variables:
> > +    target: hihope-rzg2m
> > +    dtb: r8a774a1-hihope-rzg2m-ex.dtb
> > +    release: bookworm
> > +
> > +build:qemu-amd64-secure-boot-bookworm:
> > +  extends:
> > +    - .build_base
> > +  variables:
> > +    base_yaml: "kas-cip.yml:kas/board/${target}.yml:kas/opt/5.10.yml"
> 
> I don't think we need pin to 5.10 here. Once there is a 6.1 option, it
> will be preferred for bookworm, and this may just be forgotten to be
> dropped.
> 
> > +    release: bookworm
> > +    target: qemu-amd64
> > +    extension: ebg-secure-boot-snakeoil
> > +    use_rt: disable
> > +    wic_targz: disable
> > +    deploy: disable
> > diff --git a/Kconfig b/Kconfig
> > index cd24ce2..87056b9 100644
> > --- a/Kconfig
> > +++ b/Kconfig
> > @@ -128,6 +128,10 @@ config DEBIAN_BULLSEYE
> >  	bool "bullseye (11)"
> >  	depends on !ARCH_RISCV64
> >  
> > +config DEBIAN_BOOKWORM
> > +	bool "bookworm (12)"
> > +	depends on !ARCH_RISCV64
> > +
> >  config DEBIAN_SID_PORTS
> >  	bool "sid (unstable) with unofficial ports"
> >  	depends on ARCH_RISCV64
> > @@ -138,6 +142,7 @@ config KAS_INCLUDE_DEBIAN
> >  	string
> >  	default "kas/opt/buster.yml" if DEBIAN_BUSTER
> >  	default "kas/opt/bullseye.yml" if DEBIAN_BULLSEYE
> > +	default "kas/opt/bookworm.yml" if DEBIAN_BOOKWORM
> >  	default "kas/opt/sid-ports.yml" if DEBIAN_SID_PORTS
> >  
> >  comment "Image features"
> > diff --git a/conf/distro/cip-core-bookworm.conf b/conf/distro/cip-core-bookworm.conf
> > new file mode 100644
> > index 0000000..86c97a1
> > --- /dev/null
> > +++ b/conf/distro/cip-core-bookworm.conf
> > @@ -0,0 +1,17 @@
> > +#
> > +# CIP Core, generic profile
> > +#
> > +# Copyright (c) Siemens AG, 2023
> > +#
> > +# Authors:
> > +#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
> > +#
> > +# SPDX-License-Identifier: MIT
> > +#
> > +
> > +require conf/distro/debian-bookworm.conf
> > +require cip-core-common.inc
> > +
> > +PREFERRED_VERSION_efibootguard ?= "0.13.%"
> > +PREFERRED_VERSION_linux-cip ?= "5.10.%"
> > +PREFERRED_VERSION_linux-cip-rt ?= "5.10.%"
> > diff --git a/kas/opt/bookworm.yml b/kas/opt/bookworm.yml
> > new file mode 100644
> > index 0000000..8b4431b
> > --- /dev/null
> > +++ b/kas/opt/bookworm.yml
> > @@ -0,0 +1,15 @@
> > +#
> > +# CIP Core, generic profile
> > +#
> > +# Copyright (c) Siemens AG, 2023
> > +#
> > +# Authors:
> > +#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
> > +#
> > +# SPDX-License-Identifier: MIT
> > +#
> > +
> > +header:
> > +  version: 12
> > +
> > +distro: cip-core-bookworm
> > diff --git a/recipes-core/images/efibootguard.inc b/recipes-core/images/efibootguard.inc
> > index eace4fd..d8d3a06 100644
> > --- a/recipes-core/images/efibootguard.inc
> > +++ b/recipes-core/images/efibootguard.inc
> > @@ -8,8 +8,10 @@
> >  #
> >  # SPDX-License-Identifier: MIT
> >  #
> > -
> 
> Please keep.
> 
> > -IMAGE_INSTALL_append = " efibootguard"
> > +OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
> 
> Blank line here, also to be consistent.
> 
> > +IMAGE_PREINSTALL_append_bookworm += " efibootguard"
> > +IMAGE_INSTALL_append_bullseye += " efibootguard"
> > +IMAGE_INSTALL_append_buster += " efibootguard"
> 
> += does not make sense together with "_append".
> 
> >  
> >  WIC_IMAGER_INSTALL_append = " efibootguard"
> >  WDOG_TIMEOUT ?= "60"
> > diff --git a/recipes-core/images/swupdate.inc b/recipes-core/images/swupdate.inc
> > index 9b2aedc..a47928a 100644
> > --- a/recipes-core/images/swupdate.inc
> > +++ b/recipes-core/images/swupdate.inc
> > @@ -13,7 +13,11 @@ inherit image_uuid
> >  inherit swupdate
> >  inherit read-only-rootfs
> >  
> > -IMAGE_INSTALL += " swupdate"
> > +OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
> > +
> > +IMAGE_PREINSTALL_append_bookworm += " swupdate"
> > +IMAGE_INSTALL_append_bullseye += " swupdate"
> > +IMAGE_INSTALL_append_buster += " swupdate"
> 
> Same here.
> 
> >  IMAGE_INSTALL += " swupdate-handler-roundrobin"
> >  
> >  ROOTFS_PARTITION_NAME = "${IMAGE_FULLNAME}.wic.p4.gz"
> 
> Jan
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#10520): https://lists.cip-project.org/g/cip-dev/message/10520
> Mute This Topic: https://lists.cip-project.org/mt/96625657/5792637
> Group Owner: cip-dev+owner@lists.cip-project.org
> Unsubscribe: https://lists.cip-project.org/g/cip-dev/leave/9882880/5792637/2090341516/xyzzy [florian.bezdeka@siemens.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Quirin Gylstorff Feb. 1, 2023, 3:36 p.m. UTC | #6
On 1/31/23 13:20, Florian Bezdeka wrote:
> On Tue, 2023-01-31 at 11:54 +0100, Jan Kiszka via lists.cip-project.org
> wrote:
>> On 30.01.23 12:34, Quirin Gylstorff wrote:
>>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>
>>> This will add prelimitary support for the debian 12 aka bookworm.
> 
> I was triggered by the subject of this patch. Why do we re-add the
> bookworm distribution when it's already available in Isar itself?
> 
> Maybe rephrase to something like "enable tests for bookworm" or "enable
> building images based on bookworm"?
> 
>>>
>>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>> ---
>>>   .gitlab-ci.yml                       | 45 ++++++++++++++++++++++++++++
>>>   Kconfig                              |  5 ++++
>>>   conf/distro/cip-core-bookworm.conf   | 17 +++++++++++
>>>   kas/opt/bookworm.yml                 | 15 ++++++++++
>>>   recipes-core/images/efibootguard.inc |  6 ++--
>>>   recipes-core/images/swupdate.inc     |  6 +++-
>>>   6 files changed, 91 insertions(+), 3 deletions(-)
>>>   create mode 100644 conf/distro/cip-core-bookworm.conf
>>>   create mode 100644 kas/opt/bookworm.yml
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index f7c8c88..2b9505d 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -37,6 +37,7 @@ default:
>>>       - if [ "${targz}" = "enable" ]; then base_yaml="${base_yaml}:kas/opt/targz-img.yml"; fi
>>>       - if [ "${release}" = "buster" ]; then base_yaml="${base_yaml}:kas/opt/buster.yml"; fi
>>>       - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi
>>> +    - if [ "${release}" = "bookworm" ]; then base_yaml="${base_yaml}:kas/opt/bookworm.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}; fi
>>> @@ -281,3 +282,47 @@ build:qemu-amd64-secure-boot-buster:
>>>       use_rt: disable
>>>       wic_targz: disable
>>>       deploy: disable
>>> +
>>> +# bookworm images
>>> +build:simatic-ipc227e-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    target: simatic-ipc227e
>>> +    release: bookworm
>>> +
>>> +build:bbb-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    target: bbb
>>> +    dtb: am335x-boneblack.dtb
>>> +    release: bookworm
>>> +
>>> +build:iwg20m-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    target: iwg20m
>>> +    dtb: r8a7743-iwg20d-q7-dbcm-ca.dtb
>>> +    release: bookworm
>>> +
>>> +build:hihope-rzg2m-bookworm:
>>> +  extends:
>>> +    - .build_base
>>> +  variables:
>>> +    target: hihope-rzg2m
>>> +    dtb: r8a774a1-hihope-rzg2m-ex.dtb
>>> +    release: bookworm

Hihope is not building in bookworm as the package 
firmware-ti-connectivity is only in bullseye currently available.

I will remove it in v2.

Quirin
Jan Kiszka Feb. 1, 2023, 3:52 p.m. UTC | #7
On 01.02.23 16:36, Gylstorff Quirin wrote:
> 
> 
> On 1/31/23 13:20, Florian Bezdeka wrote:
>> On Tue, 2023-01-31 at 11:54 +0100, Jan Kiszka via lists.cip-project.org
>> wrote:
>>> On 30.01.23 12:34, Quirin Gylstorff wrote:
>>>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>>
>>>> This will add prelimitary support for the debian 12 aka bookworm.
>>
>> I was triggered by the subject of this patch. Why do we re-add the
>> bookworm distribution when it's already available in Isar itself?
>>
>> Maybe rephrase to something like "enable tests for bookworm" or "enable
>> building images based on bookworm"?
>>
>>>>
>>>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>> ---
>>>>   .gitlab-ci.yml                       | 45
>>>> ++++++++++++++++++++++++++++
>>>>   Kconfig                              |  5 ++++
>>>>   conf/distro/cip-core-bookworm.conf   | 17 +++++++++++
>>>>   kas/opt/bookworm.yml                 | 15 ++++++++++
>>>>   recipes-core/images/efibootguard.inc |  6 ++--
>>>>   recipes-core/images/swupdate.inc     |  6 +++-
>>>>   6 files changed, 91 insertions(+), 3 deletions(-)
>>>>   create mode 100644 conf/distro/cip-core-bookworm.conf
>>>>   create mode 100644 kas/opt/bookworm.yml
>>>>
>>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>>> index f7c8c88..2b9505d 100644
>>>> --- a/.gitlab-ci.yml
>>>> +++ b/.gitlab-ci.yml
>>>> @@ -37,6 +37,7 @@ default:
>>>>       - if [ "${targz}" = "enable" ]; then
>>>> base_yaml="${base_yaml}:kas/opt/targz-img.yml"; fi
>>>>       - if [ "${release}" = "buster" ]; then
>>>> base_yaml="${base_yaml}:kas/opt/buster.yml"; fi
>>>>       - if [ "${release}" = "bullseye" ]; then
>>>> base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi
>>>> +    - if [ "${release}" = "bookworm" ]; then
>>>> base_yaml="${base_yaml}:kas/opt/bookworm.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}; fi
>>>> @@ -281,3 +282,47 @@ build:qemu-amd64-secure-boot-buster:
>>>>       use_rt: disable
>>>>       wic_targz: disable
>>>>       deploy: disable
>>>> +
>>>> +# bookworm images
>>>> +build:simatic-ipc227e-bookworm:
>>>> +  extends:
>>>> +    - .build_base
>>>> +  variables:
>>>> +    target: simatic-ipc227e
>>>> +    release: bookworm
>>>> +
>>>> +build:bbb-bookworm:
>>>> +  extends:
>>>> +    - .build_base
>>>> +  variables:
>>>> +    target: bbb
>>>> +    dtb: am335x-boneblack.dtb
>>>> +    release: bookworm
>>>> +
>>>> +build:iwg20m-bookworm:
>>>> +  extends:
>>>> +    - .build_base
>>>> +  variables:
>>>> +    target: iwg20m
>>>> +    dtb: r8a7743-iwg20d-q7-dbcm-ca.dtb
>>>> +    release: bookworm
>>>> +
>>>> +build:hihope-rzg2m-bookworm:
>>>> +  extends:
>>>> +    - .build_base
>>>> +  variables:
>>>> +    target: hihope-rzg2m
>>>> +    dtb: r8a774a1-hihope-rzg2m-ex.dtb
>>>> +    release: bookworm
> 
> Hihope is not building in bookworm as the package
> firmware-ti-connectivity is only in bullseye currently available.
> 

Huh? Where did nonfree firmware go? There is some transition after the
GR, but now it looks like there is no firmware at all?

> I will remove it in v2.
> 
> Quirin

Jan
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f7c8c88..2b9505d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -37,6 +37,7 @@  default:
     - if [ "${targz}" = "enable" ]; then base_yaml="${base_yaml}:kas/opt/targz-img.yml"; fi
     - if [ "${release}" = "buster" ]; then base_yaml="${base_yaml}:kas/opt/buster.yml"; fi
     - if [ "${release}" = "bullseye" ]; then base_yaml="${base_yaml}:kas/opt/bullseye.yml"; fi
+    - if [ "${release}" = "bookworm" ]; then base_yaml="${base_yaml}:kas/opt/bookworm.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}; fi
@@ -281,3 +282,47 @@  build:qemu-amd64-secure-boot-buster:
     use_rt: disable
     wic_targz: disable
     deploy: disable
+
+# bookworm images
+build:simatic-ipc227e-bookworm:
+  extends:
+    - .build_base
+  variables:
+    target: simatic-ipc227e
+    release: bookworm
+
+build:bbb-bookworm:
+  extends:
+    - .build_base
+  variables:
+    target: bbb
+    dtb: am335x-boneblack.dtb
+    release: bookworm
+
+build:iwg20m-bookworm:
+  extends:
+    - .build_base
+  variables:
+    target: iwg20m
+    dtb: r8a7743-iwg20d-q7-dbcm-ca.dtb
+    release: bookworm
+
+build:hihope-rzg2m-bookworm:
+  extends:
+    - .build_base
+  variables:
+    target: hihope-rzg2m
+    dtb: r8a774a1-hihope-rzg2m-ex.dtb
+    release: bookworm
+
+build:qemu-amd64-secure-boot-bookworm:
+  extends:
+    - .build_base
+  variables:
+    base_yaml: "kas-cip.yml:kas/board/${target}.yml:kas/opt/5.10.yml"
+    release: bookworm
+    target: qemu-amd64
+    extension: ebg-secure-boot-snakeoil
+    use_rt: disable
+    wic_targz: disable
+    deploy: disable
diff --git a/Kconfig b/Kconfig
index cd24ce2..87056b9 100644
--- a/Kconfig
+++ b/Kconfig
@@ -128,6 +128,10 @@  config DEBIAN_BULLSEYE
 	bool "bullseye (11)"
 	depends on !ARCH_RISCV64
 
+config DEBIAN_BOOKWORM
+	bool "bookworm (12)"
+	depends on !ARCH_RISCV64
+
 config DEBIAN_SID_PORTS
 	bool "sid (unstable) with unofficial ports"
 	depends on ARCH_RISCV64
@@ -138,6 +142,7 @@  config KAS_INCLUDE_DEBIAN
 	string
 	default "kas/opt/buster.yml" if DEBIAN_BUSTER
 	default "kas/opt/bullseye.yml" if DEBIAN_BULLSEYE
+	default "kas/opt/bookworm.yml" if DEBIAN_BOOKWORM
 	default "kas/opt/sid-ports.yml" if DEBIAN_SID_PORTS
 
 comment "Image features"
diff --git a/conf/distro/cip-core-bookworm.conf b/conf/distro/cip-core-bookworm.conf
new file mode 100644
index 0000000..86c97a1
--- /dev/null
+++ b/conf/distro/cip-core-bookworm.conf
@@ -0,0 +1,17 @@ 
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2023
+#
+# Authors:
+#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+require conf/distro/debian-bookworm.conf
+require cip-core-common.inc
+
+PREFERRED_VERSION_efibootguard ?= "0.13.%"
+PREFERRED_VERSION_linux-cip ?= "5.10.%"
+PREFERRED_VERSION_linux-cip-rt ?= "5.10.%"
diff --git a/kas/opt/bookworm.yml b/kas/opt/bookworm.yml
new file mode 100644
index 0000000..8b4431b
--- /dev/null
+++ b/kas/opt/bookworm.yml
@@ -0,0 +1,15 @@ 
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2023
+#
+# Authors:
+#  Quirin Gylstorff <quirin.gylstorff@siemens.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+header:
+  version: 12
+
+distro: cip-core-bookworm
diff --git a/recipes-core/images/efibootguard.inc b/recipes-core/images/efibootguard.inc
index eace4fd..d8d3a06 100644
--- a/recipes-core/images/efibootguard.inc
+++ b/recipes-core/images/efibootguard.inc
@@ -8,8 +8,10 @@ 
 #
 # SPDX-License-Identifier: MIT
 #
-
-IMAGE_INSTALL_append = " efibootguard"
+OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
+IMAGE_PREINSTALL_append_bookworm += " efibootguard"
+IMAGE_INSTALL_append_bullseye += " efibootguard"
+IMAGE_INSTALL_append_buster += " efibootguard"
 
 WIC_IMAGER_INSTALL_append = " efibootguard"
 WDOG_TIMEOUT ?= "60"
diff --git a/recipes-core/images/swupdate.inc b/recipes-core/images/swupdate.inc
index 9b2aedc..a47928a 100644
--- a/recipes-core/images/swupdate.inc
+++ b/recipes-core/images/swupdate.inc
@@ -13,7 +13,11 @@  inherit image_uuid
 inherit swupdate
 inherit read-only-rootfs
 
-IMAGE_INSTALL += " swupdate"
+OVERRIDES_append = ":${BASE_DISTRO_CODENAME}"
+
+IMAGE_PREINSTALL_append_bookworm += " swupdate"
+IMAGE_INSTALL_append_bullseye += " swupdate"
+IMAGE_INSTALL_append_buster += " swupdate"
 IMAGE_INSTALL += " swupdate-handler-roundrobin"
 
 ROOTFS_PARTITION_NAME = "${IMAGE_FULLNAME}.wic.p4.gz"