mbox series

[v5,00/13] Support building Isar using kas

Message ID 20230926053742.11352-1-ubely@ilbers.de
Headers show
Series Support building Isar using kas | expand

Message

Uladzimir Bely Sept. 26, 2023, 5:37 a.m. UTC
This patchset adds YAML fragments and Kconfig files to support
configuring Isar using `kas-container menu` and building it
with 'kas-container script`.

The patchset can be treated as a reply to
`https://groups.google.com/g/isar-users/c/GgMvGOkXkcg` request.

Changes since v4:
- Hide empty "mirrors" menu if sid-ports or raspios distro selected

Changes since v3:
- Added copyright headers to .yaml and Kconfig files.
- Added script to generate kas yaml configs.

Changes since v2:
- Added kas build dir and config under .gitignore.

Changes since v1:
- Simplified deps between distros and machines, removed separate
patch that added redundand DEB_<distro> vars.
- Fixed dependencies in mirror selection block.
- Separate menu items for selecting Isar packages.
- Fix warnings related wrong path to isar.yml file.
- Cleartext password used for root now.
- Use `.yaml` file extensions instead of `.yml`.

Uladzimir Bely (13):
  kas: Add initial Kconfig support
  kas: Add a local copy of kas-container script
  kas: Add mirror selection
  kas: Add packages selection
  kas: Add COMPAT_ARCH support
  kas: Add cross compilation mode selection support
  kas: Add ccache option
  kas: Add image type selection
  kas: Add IMAGE_FSTYPES selection
  kas: Support CACHE_DEB_SRC option in menu
  kas: Add options to activate predefined users
  kas: Add kas/README.md
  scripts: Add a script to generate kas yaml configs

 .gitignore                                  |   2 +
 Kconfig                                     |  21 +
 README.md                                   |   3 +
 kas/README.md                               |  36 ++
 kas/distro/Kconfig                          |  46 ++
 kas/distro/debian-bookworm.yaml             |   7 +
 kas/distro/debian-bullseye.yaml             |   7 +
 kas/distro/debian-buster.yaml               |   7 +
 kas/distro/debian-sid-ports.yaml            |   7 +
 kas/distro/raspios-bullseye.yaml            |   7 +
 kas/distro/ubuntu-focal.yaml                |   7 +
 kas/distro/ubuntu-jammy.yaml                |   7 +
 kas/image/Kconfig                           |  32 ++
 kas/image/isar-image-base.yaml              |   7 +
 kas/image/isar-image-debug.yaml             |   7 +
 kas/isar.yaml                               |  18 +
 kas/kas-container                           | 562 ++++++++++++++++++++
 kas/machine/Kconfig                         | 138 +++++
 kas/machine/bananapi.yaml                   |   7 +
 kas/machine/container-amd64.yaml            |   7 +
 kas/machine/de0-nano-soc.yaml               |   7 +
 kas/machine/hikey.yaml                      |   7 +
 kas/machine/imx6-sabrelite.yaml             |   7 +
 kas/machine/nanopi-neo-efi.yaml             |   7 +
 kas/machine/nanopi-neo.yaml                 |   7 +
 kas/machine/phyboard-mira.yaml              |   7 +
 kas/machine/qemuamd64-sb.yaml               |   7 +
 kas/machine/qemuamd64.yaml                  |   7 +
 kas/machine/qemuarm.yaml                    |   7 +
 kas/machine/qemuarm64.yaml                  |   7 +
 kas/machine/qemui386.yaml                   |   7 +
 kas/machine/qemumipsel.yaml                 |   7 +
 kas/machine/qemuriscv64.yaml                |   7 +
 kas/machine/rpi-arm-v7.yaml                 |   7 +
 kas/machine/rpi-arm-v7l.yaml                |   7 +
 kas/machine/rpi-arm.yaml                    |   7 +
 kas/machine/rpi-arm64-v8.yaml               |   7 +
 kas/machine/sifive-fu540.yaml               |   7 +
 kas/machine/starfive-visionfive2.yaml       |   7 +
 kas/machine/stm32mp15x.yaml                 |   7 +
 kas/machine/virtualbox.yaml                 |   7 +
 kas/machine/vmware.yaml                     |   7 +
 kas/opt/Kconfig                             | 148 ++++++
 kas/opt/cache-deb-src.yaml                  |   9 +
 kas/opt/ccache.yaml                         |   9 +
 kas/opt/compat-arch.yaml                    |  10 +
 kas/opt/crosscompile.yaml                   |   9 +
 kas/opt/image-fstypes.yaml                  |   9 +
 kas/opt/mirror-debian.yaml                  |  10 +
 kas/opt/mirror-ubuntu.yaml                  |  10 +
 kas/opt/user-isar.yaml                      |  19 +
 kas/opt/user-root.yaml                      |  11 +
 kas/package/Kconfig                         | 154 ++++++
 kas/package/packages-distro.yaml            |   9 +
 kas/package/pkg_cowsay.yaml                 |   9 +
 kas/package/pkg_enable-fsck.yaml            |   9 +
 kas/package/pkg_example-module.yaml         |   9 +
 kas/package/pkg_example-prebuilt.yaml       |   9 +
 kas/package/pkg_example-raw.yaml            |   9 +
 kas/package/pkg_expand-on-first-boot.yaml   |   9 +
 kas/package/pkg_hello-isar.yaml             |   9 +
 kas/package/pkg_hello.yaml                  |   9 +
 kas/package/pkg_isar-disable-apt-cache.yaml |   9 +
 kas/package/pkg_isar-exclude-docs.yaml      |   9 +
 kas/package/pkg_kselftest.yaml              |   9 +
 kas/package/pkg_samefile.yaml               |   9 +
 kas/package/pkg_sshd-regen-keys.yaml        |   9 +
 scripts/generate_yaml.sh                    |  97 ++++
 68 files changed, 1710 insertions(+)
 create mode 100644 Kconfig
 create mode 100644 kas/README.md
 create mode 100644 kas/distro/Kconfig
 create mode 100644 kas/distro/debian-bookworm.yaml
 create mode 100644 kas/distro/debian-bullseye.yaml
 create mode 100644 kas/distro/debian-buster.yaml
 create mode 100644 kas/distro/debian-sid-ports.yaml
 create mode 100644 kas/distro/raspios-bullseye.yaml
 create mode 100644 kas/distro/ubuntu-focal.yaml
 create mode 100644 kas/distro/ubuntu-jammy.yaml
 create mode 100644 kas/image/Kconfig
 create mode 100644 kas/image/isar-image-base.yaml
 create mode 100644 kas/image/isar-image-debug.yaml
 create mode 100644 kas/isar.yaml
 create mode 100755 kas/kas-container
 create mode 100644 kas/machine/Kconfig
 create mode 100644 kas/machine/bananapi.yaml
 create mode 100644 kas/machine/container-amd64.yaml
 create mode 100644 kas/machine/de0-nano-soc.yaml
 create mode 100644 kas/machine/hikey.yaml
 create mode 100644 kas/machine/imx6-sabrelite.yaml
 create mode 100644 kas/machine/nanopi-neo-efi.yaml
 create mode 100644 kas/machine/nanopi-neo.yaml
 create mode 100644 kas/machine/phyboard-mira.yaml
 create mode 100644 kas/machine/qemuamd64-sb.yaml
 create mode 100644 kas/machine/qemuamd64.yaml
 create mode 100644 kas/machine/qemuarm.yaml
 create mode 100644 kas/machine/qemuarm64.yaml
 create mode 100644 kas/machine/qemui386.yaml
 create mode 100644 kas/machine/qemumipsel.yaml
 create mode 100644 kas/machine/qemuriscv64.yaml
 create mode 100644 kas/machine/rpi-arm-v7.yaml
 create mode 100644 kas/machine/rpi-arm-v7l.yaml
 create mode 100644 kas/machine/rpi-arm.yaml
 create mode 100644 kas/machine/rpi-arm64-v8.yaml
 create mode 100644 kas/machine/sifive-fu540.yaml
 create mode 100644 kas/machine/starfive-visionfive2.yaml
 create mode 100644 kas/machine/stm32mp15x.yaml
 create mode 100644 kas/machine/virtualbox.yaml
 create mode 100644 kas/machine/vmware.yaml
 create mode 100644 kas/opt/Kconfig
 create mode 100644 kas/opt/cache-deb-src.yaml
 create mode 100644 kas/opt/ccache.yaml
 create mode 100644 kas/opt/compat-arch.yaml
 create mode 100644 kas/opt/crosscompile.yaml
 create mode 100644 kas/opt/image-fstypes.yaml
 create mode 100644 kas/opt/mirror-debian.yaml
 create mode 100644 kas/opt/mirror-ubuntu.yaml
 create mode 100644 kas/opt/user-isar.yaml
 create mode 100644 kas/opt/user-root.yaml
 create mode 100644 kas/package/Kconfig
 create mode 100644 kas/package/packages-distro.yaml
 create mode 100644 kas/package/pkg_cowsay.yaml
 create mode 100644 kas/package/pkg_enable-fsck.yaml
 create mode 100644 kas/package/pkg_example-module.yaml
 create mode 100644 kas/package/pkg_example-prebuilt.yaml
 create mode 100644 kas/package/pkg_example-raw.yaml
 create mode 100644 kas/package/pkg_expand-on-first-boot.yaml
 create mode 100644 kas/package/pkg_hello-isar.yaml
 create mode 100644 kas/package/pkg_hello.yaml
 create mode 100644 kas/package/pkg_isar-disable-apt-cache.yaml
 create mode 100644 kas/package/pkg_isar-exclude-docs.yaml
 create mode 100644 kas/package/pkg_kselftest.yaml
 create mode 100644 kas/package/pkg_samefile.yaml
 create mode 100644 kas/package/pkg_sshd-regen-keys.yaml
 create mode 100755 scripts/generate_yaml.sh

Comments

Uladzimir Bely Sept. 29, 2023, 6:53 a.m. UTC | #1
On Tue, 2023-09-26 at 07:37 +0200, Uladzimir Bely wrote:
> This patchset adds YAML fragments and Kconfig files to support
> configuring Isar using `kas-container menu` and building it
> with 'kas-container script`.
> 
> The patchset can be treated as a reply to
> `https://groups.google.com/g/isar-users/c/GgMvGOkXkcg` request.
> 
> Changes since v4:
> - Hide empty "mirrors" menu if sid-ports or raspios distro selected
> 
> Changes since v3:
> - Added copyright headers to .yaml and Kconfig files.
> - Added script to generate kas yaml configs.
> 
> Changes since v2:
> - Added kas build dir and config under .gitignore.
> 
> Changes since v1:
> - Simplified deps between distros and machines, removed separate
> patch that added redundand DEB_<distro> vars.
> - Fixed dependencies in mirror selection block.
> - Separate menu items for selecting Isar packages.
> - Fix warnings related wrong path to isar.yml file.
> - Cleartext password used for root now.
> - Use `.yaml` file extensions instead of `.yml`.
> 
> Uladzimir Bely (13):
>   kas: Add initial Kconfig support
>   kas: Add a local copy of kas-container script
>   kas: Add mirror selection
>   kas: Add packages selection
>   kas: Add COMPAT_ARCH support
>   kas: Add cross compilation mode selection support
>   kas: Add ccache option
>   kas: Add image type selection
>   kas: Add IMAGE_FSTYPES selection
>   kas: Support CACHE_DEB_SRC option in menu
>   kas: Add options to activate predefined users
>   kas: Add kas/README.md
>   scripts: Add a script to generate kas yaml configs
> 
>  .gitignore                                  |   2 +
>  Kconfig                                     |  21 +
>  README.md                                   |   3 +
>  kas/README.md                               |  36 ++
>  kas/distro/Kconfig                          |  46 ++
>  kas/distro/debian-bookworm.yaml             |   7 +
>  kas/distro/debian-bullseye.yaml             |   7 +
>  kas/distro/debian-buster.yaml               |   7 +
>  kas/distro/debian-sid-ports.yaml            |   7 +
>  kas/distro/raspios-bullseye.yaml            |   7 +
>  kas/distro/ubuntu-focal.yaml                |   7 +
>  kas/distro/ubuntu-jammy.yaml                |   7 +
>  kas/image/Kconfig                           |  32 ++
>  kas/image/isar-image-base.yaml              |   7 +
>  kas/image/isar-image-debug.yaml             |   7 +
>  kas/isar.yaml                               |  18 +
>  kas/kas-container                           | 562
> ++++++++++++++++++++
>  kas/machine/Kconfig                         | 138 +++++
>  kas/machine/bananapi.yaml                   |   7 +
>  kas/machine/container-amd64.yaml            |   7 +
>  kas/machine/de0-nano-soc.yaml               |   7 +
>  kas/machine/hikey.yaml                      |   7 +
>  kas/machine/imx6-sabrelite.yaml             |   7 +
>  kas/machine/nanopi-neo-efi.yaml             |   7 +
>  kas/machine/nanopi-neo.yaml                 |   7 +
>  kas/machine/phyboard-mira.yaml              |   7 +
>  kas/machine/qemuamd64-sb.yaml               |   7 +
>  kas/machine/qemuamd64.yaml                  |   7 +
>  kas/machine/qemuarm.yaml                    |   7 +
>  kas/machine/qemuarm64.yaml                  |   7 +
>  kas/machine/qemui386.yaml                   |   7 +
>  kas/machine/qemumipsel.yaml                 |   7 +
>  kas/machine/qemuriscv64.yaml                |   7 +
>  kas/machine/rpi-arm-v7.yaml                 |   7 +
>  kas/machine/rpi-arm-v7l.yaml                |   7 +
>  kas/machine/rpi-arm.yaml                    |   7 +
>  kas/machine/rpi-arm64-v8.yaml               |   7 +
>  kas/machine/sifive-fu540.yaml               |   7 +
>  kas/machine/starfive-visionfive2.yaml       |   7 +
>  kas/machine/stm32mp15x.yaml                 |   7 +
>  kas/machine/virtualbox.yaml                 |   7 +
>  kas/machine/vmware.yaml                     |   7 +
>  kas/opt/Kconfig                             | 148 ++++++
>  kas/opt/cache-deb-src.yaml                  |   9 +
>  kas/opt/ccache.yaml                         |   9 +
>  kas/opt/compat-arch.yaml                    |  10 +
>  kas/opt/crosscompile.yaml                   |   9 +
>  kas/opt/image-fstypes.yaml                  |   9 +
>  kas/opt/mirror-debian.yaml                  |  10 +
>  kas/opt/mirror-ubuntu.yaml                  |  10 +
>  kas/opt/user-isar.yaml                      |  19 +
>  kas/opt/user-root.yaml                      |  11 +
>  kas/package/Kconfig                         | 154 ++++++
>  kas/package/packages-distro.yaml            |   9 +
>  kas/package/pkg_cowsay.yaml                 |   9 +
>  kas/package/pkg_enable-fsck.yaml            |   9 +
>  kas/package/pkg_example-module.yaml         |   9 +
>  kas/package/pkg_example-prebuilt.yaml       |   9 +
>  kas/package/pkg_example-raw.yaml            |   9 +
>  kas/package/pkg_expand-on-first-boot.yaml   |   9 +
>  kas/package/pkg_hello-isar.yaml             |   9 +
>  kas/package/pkg_hello.yaml                  |   9 +
>  kas/package/pkg_isar-disable-apt-cache.yaml |   9 +
>  kas/package/pkg_isar-exclude-docs.yaml      |   9 +
>  kas/package/pkg_kselftest.yaml              |   9 +
>  kas/package/pkg_samefile.yaml               |   9 +
>  kas/package/pkg_sshd-regen-keys.yaml        |   9 +
>  scripts/generate_yaml.sh                    |  97 ++++
>  68 files changed, 1710 insertions(+)
>  create mode 100644 Kconfig
>  create mode 100644 kas/README.md
>  create mode 100644 kas/distro/Kconfig
>  create mode 100644 kas/distro/debian-bookworm.yaml
>  create mode 100644 kas/distro/debian-bullseye.yaml
>  create mode 100644 kas/distro/debian-buster.yaml
>  create mode 100644 kas/distro/debian-sid-ports.yaml
>  create mode 100644 kas/distro/raspios-bullseye.yaml
>  create mode 100644 kas/distro/ubuntu-focal.yaml
>  create mode 100644 kas/distro/ubuntu-jammy.yaml
>  create mode 100644 kas/image/Kconfig
>  create mode 100644 kas/image/isar-image-base.yaml
>  create mode 100644 kas/image/isar-image-debug.yaml
>  create mode 100644 kas/isar.yaml
>  create mode 100755 kas/kas-container
>  create mode 100644 kas/machine/Kconfig
>  create mode 100644 kas/machine/bananapi.yaml
>  create mode 100644 kas/machine/container-amd64.yaml
>  create mode 100644 kas/machine/de0-nano-soc.yaml
>  create mode 100644 kas/machine/hikey.yaml
>  create mode 100644 kas/machine/imx6-sabrelite.yaml
>  create mode 100644 kas/machine/nanopi-neo-efi.yaml
>  create mode 100644 kas/machine/nanopi-neo.yaml
>  create mode 100644 kas/machine/phyboard-mira.yaml
>  create mode 100644 kas/machine/qemuamd64-sb.yaml
>  create mode 100644 kas/machine/qemuamd64.yaml
>  create mode 100644 kas/machine/qemuarm.yaml
>  create mode 100644 kas/machine/qemuarm64.yaml
>  create mode 100644 kas/machine/qemui386.yaml
>  create mode 100644 kas/machine/qemumipsel.yaml
>  create mode 100644 kas/machine/qemuriscv64.yaml
>  create mode 100644 kas/machine/rpi-arm-v7.yaml
>  create mode 100644 kas/machine/rpi-arm-v7l.yaml
>  create mode 100644 kas/machine/rpi-arm.yaml
>  create mode 100644 kas/machine/rpi-arm64-v8.yaml
>  create mode 100644 kas/machine/sifive-fu540.yaml
>  create mode 100644 kas/machine/starfive-visionfive2.yaml
>  create mode 100644 kas/machine/stm32mp15x.yaml
>  create mode 100644 kas/machine/virtualbox.yaml
>  create mode 100644 kas/machine/vmware.yaml
>  create mode 100644 kas/opt/Kconfig
>  create mode 100644 kas/opt/cache-deb-src.yaml
>  create mode 100644 kas/opt/ccache.yaml
>  create mode 100644 kas/opt/compat-arch.yaml
>  create mode 100644 kas/opt/crosscompile.yaml
>  create mode 100644 kas/opt/image-fstypes.yaml
>  create mode 100644 kas/opt/mirror-debian.yaml
>  create mode 100644 kas/opt/mirror-ubuntu.yaml
>  create mode 100644 kas/opt/user-isar.yaml
>  create mode 100644 kas/opt/user-root.yaml
>  create mode 100644 kas/package/Kconfig
>  create mode 100644 kas/package/packages-distro.yaml
>  create mode 100644 kas/package/pkg_cowsay.yaml
>  create mode 100644 kas/package/pkg_enable-fsck.yaml
>  create mode 100644 kas/package/pkg_example-module.yaml
>  create mode 100644 kas/package/pkg_example-prebuilt.yaml
>  create mode 100644 kas/package/pkg_example-raw.yaml
>  create mode 100644 kas/package/pkg_expand-on-first-boot.yaml
>  create mode 100644 kas/package/pkg_hello-isar.yaml
>  create mode 100644 kas/package/pkg_hello.yaml
>  create mode 100644 kas/package/pkg_isar-disable-apt-cache.yaml
>  create mode 100644 kas/package/pkg_isar-exclude-docs.yaml
>  create mode 100644 kas/package/pkg_kselftest.yaml
>  create mode 100644 kas/package/pkg_samefile.yaml
>  create mode 100644 kas/package/pkg_sshd-regen-keys.yaml
>  create mode 100755 scripts/generate_yaml.sh
> 
> -- 
> 2.20.1
> 

Applied to next.