mbox series

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

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

Message

Uladzimir Bely Sept. 22, 2023, 9:09 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 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                             | 147 +++++
 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, 1709 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