* [PATCH 0/3] Select machine before the distro
@ 2024-12-07 16:09 Uladzimir Bely
2024-12-07 16:09 ` [PATCH 1/3] kas: Fix architecture selection for bananapi Uladzimir Bely
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Uladzimir Bely @ 2024-12-07 16:09 UTC (permalink / raw)
To: isar-users
This series makes kas-container menu more user-friendly in
terms of machine-distro selection.
Uladzimir Bely (3):
kas: Fix architecture selection for bananapi
kas: Select machine before the distro
kas: Option to select any machine-distro combination
Kconfig | 4 +-
kas/distro/Kconfig | 52 ++++++++++++++++++
kas/machine/Kconfig | 129 ++++++++++++++++++++++++++++++++++----------
3 files changed, 156 insertions(+), 29 deletions(-)
--
2.45.2
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20241207161031.714-1-ubely%40ilbers.de.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] kas: Fix architecture selection for bananapi
2024-12-07 16:09 [PATCH 0/3] Select machine before the distro Uladzimir Bely
@ 2024-12-07 16:09 ` Uladzimir Bely
2024-12-07 16:09 ` [PATCH 2/3] kas: Select machine before the distro Uladzimir Bely
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Uladzimir Bely @ 2024-12-07 16:09 UTC (permalink / raw)
To: isar-users
Due to copy-paste typo arm64 was selected instead of correct armhf.
Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
---
kas/machine/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig
index 43e87f07..a4549476 100644
--- a/kas/machine/Kconfig
+++ b/kas/machine/Kconfig
@@ -31,7 +31,7 @@ choice
config MACHINE_BANANAPI
bool "bananapi"
depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
- select ARCH_ARM64
+ select ARCH_ARMHF
config MACHINE_BEAGLEPLAY
bool "beagleplay"
--
2.45.2
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20241207161031.714-2-ubely%40ilbers.de.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/3] kas: Select machine before the distro
2024-12-07 16:09 [PATCH 0/3] Select machine before the distro Uladzimir Bely
2024-12-07 16:09 ` [PATCH 1/3] kas: Fix architecture selection for bananapi Uladzimir Bely
@ 2024-12-07 16:09 ` Uladzimir Bely
2024-12-07 16:09 ` [PATCH 3/3] kas: Option to select any machine-distro combination Uladzimir Bely
2024-12-12 7:13 ` [PATCH 0/3] Select machine before the distro Uladzimir Bely
3 siblings, 0 replies; 5+ messages in thread
From: Uladzimir Bely @ 2024-12-07 16:09 UTC (permalink / raw)
To: isar-users
Existing approach made user select the distro first so that machines
supporting it became available in machine submenu.
New approach is more user-friendly and native. First, user selects
the board and thus receives a list of distros that it supports.
Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
---
Kconfig | 4 +-
kas/distro/Kconfig | 45 ++++++++++++++++
kas/machine/Kconfig | 127 ++++++++++++++++++++++++++++++++++----------
3 files changed, 148 insertions(+), 28 deletions(-)
diff --git a/Kconfig b/Kconfig
index 538c0a1b..683c0da5 100644
--- a/Kconfig
+++ b/Kconfig
@@ -1,6 +1,8 @@
# This software is a part of ISAR.
# Copyright (C) 2023 ilbers GmbH
#
+# SPDX-License-Identifier: MIT
+#
# Authors:
# Uladzimir Bely <ubely@ilbers.de>
@@ -14,8 +16,8 @@ config KAS_BUILD_SYSTEM
string
default "isar"
-source "kas/distro/Kconfig"
source "kas/machine/Kconfig"
+source "kas/distro/Kconfig"
source "kas/image/Kconfig"
source "kas/package/Kconfig"
source "kas/opt/Kconfig"
diff --git a/kas/distro/Kconfig b/kas/distro/Kconfig
index 31492121..3ddc3ef3 100644
--- a/kas/distro/Kconfig
+++ b/kas/distro/Kconfig
@@ -1,44 +1,89 @@
# This software is a part of Isar.
# Copyright (C) 2023-2024 ilbers GmbH
#
+# SPDX-License-Identifier: MIT
+#
# Authors:
# Uladzimir Bely <ubely@ilbers.de>
menu "Distro selection"
+config DISTRO_DEBIAN
+ bool
+
+config DISTRO_RASPIOS
+ bool
+
+config DISTRO_UBUNTU
+ bool
+
+config CODENAME_BUSTER
+ bool
+
+config CODENAME_BULLSEYE
+ bool
+
+config CODENAME_BOOKWORM
+ bool
+
+config CODENAME_TRIXIE
+ bool
+
+config CODENAME_SID
+ bool
+
+config CODENAME_FOCAL
+ bool
+
+config CODENAME_JAMMY
+ bool
+
+config CODENAME_NOBLE
+ bool
+
choice
prompt "Distro selection"
default DEBIAN_BOOKWORM
config DEBIAN_BUSTER
bool "Debian 10 (buster)"
+ depends on DISTRO_DEBIAN && CODENAME_BUSTER
config DEBIAN_BULLSEYE
bool "Debian 11 (bullseye)"
+ depends on DISTRO_DEBIAN && CODENAME_BULLSEYE
config DEBIAN_BOOKWORM
bool "Debian 12 (bookworm)"
+ depends on DISTRO_DEBIAN && CODENAME_BOOKWORM
config DEBIAN_TRIXIE
bool "Debian 13 (trixie)"
+ depends on DISTRO_DEBIAN && CODENAME_TRIXIE
config DEBIAN_SID
bool "Debian Sid (unstable)"
+ depends on DISTRO_DEBIAN && CODENAME_SID
config RASPIOS_BULLSEYE
bool "Raspberry Pi OS Debian 11 (bullseye)"
+ depends on DISTRO_RASPIOS && CODENAME_BULLSEYE
config RASPIOS_BOOKWORM
bool "Raspberry Pi OS Debian 12 (bookworm)"
+ depends on DISTRO_RASPIOS && CODENAME_BOOKWORM
config UBUNTU_FOCAL
bool "Ubuntu 20.04 (Focal)"
+ depends on DISTRO_UBUNTU && CODENAME_FOCAL
config UBUNTU_JAMMY
bool "Ubuntu 22.04 (Jammy)"
+ depends on DISTRO_UBUNTU && CODENAME_JAMMY
config UBUNTU_NOBLE
bool "Ubuntu 24.04 (Noble)"
+ depends on DISTRO_UBUNTU && CODENAME_NOBLE
endchoice
diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig
index a4549476..0d1e0dd9 100644
--- a/kas/machine/Kconfig
+++ b/kas/machine/Kconfig
@@ -1,6 +1,8 @@
# This software is a part of Isar.
# Copyright (C) 2023-2024 ilbers GmbH
#
+# SPDX-License-Identifier: MIT
+#
# Authors:
# Uladzimir Bely <ubely@ilbers.de>
@@ -30,137 +32,208 @@ choice
config MACHINE_BANANAPI
bool "bananapi"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARMHF
config MACHINE_BEAGLEPLAY
bool "beagleplay"
- depends on DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BOOKWORM
select ARCH_ARM64
config MACHINE_CONTAINER_AMD64
bool "container-amd64"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_AMD64
config MACHINE_DE0_NANO_SOC
bool "de0-nano-soc"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARMHF
config MACHINE_HIKEY
bool "hikey"
- depends on DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARM64
config MACHINE_IMX6_SABRELITE
bool "imx6-sabrelite"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
select ARCH_ARMHF
config MACHINE_NANOPI_NEO
bool "nanopi-neo"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARMHF
config MACHINE_NANOPI_NEO_EFI
bool "nanopi-neo-efi"
- depends on DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BOOKWORM
select ARCH_ARMHF
config MACHINE_PHYBOARD_MIRA
bool "phyboard-mira"
- depends on DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARMHF
config MACHINE_QEMU_AMD64_CIP
bool "qemuamd64-cip"
- depends on DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BOOKWORM
select ARCH_AMD64
config MACHINE_QEMU_AMD64_SB
bool "qemuamd64-sb"
- depends on DEBIAN_BULLSEYE
+ select CODENAME_BULLSEYE
select ARCH_AMD64
config MACHINE_QEMU_AMD64
bool "qemuamd64"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM || DEBIAN_TRIXIE || UBUNTU_FOCAL || UBUNTU_JAMMY || UBUNTU_NOBLE
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
+ select CODENAME_TRIXIE
+ select DISTRO_UBUNTU
+ select CODENAME_FOCAL
+ select CODENAME_JAMMY
+ select CODENAME_NOBLE
select ARCH_AMD64
config MACHINE_QEMU_ARM
bool "qemuarm"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM || DEBIAN_TRIXIE
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
+ select CODENAME_TRIXIE
select ARCH_ARMHF
config MACHINE_QEMU_ARM64
bool "qemuarm64"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM || DEBIAN_TRIXIE || UBUNTU_FOCAL || UBUNTU_JAMMY || UBUNTU_NOBLE
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
+ select CODENAME_TRIXIE
+ select DISTRO_UBUNTU
+ select CODENAME_FOCAL
+ select CODENAME_JAMMY
+ select CODENAME_NOBLE
select ARCH_ARM64
config MACHINE_QEMU_I386
bool "qemui386"
- depends on DEBIAN_BUSTER || DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BUSTER
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_I386
config MACHINE_QEMU_MIPSEL
bool "qemumipsel"
- depends on DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_MIPSEL
config MACHINE_QEMU_RISCV64
bool "qemuriscv64"
- depends on DEBIAN_TRIXIE || DEBIAN_SID
+ select DISTRO_DEBIAN
+ select CODENAME_TRIXIE
+ select CODENAME_SID
select ARCH_RISCV64
config MACHINE_RPI_ARM_V7
bool "rpi-arm-v7"
- depends on RASPIOS_BULLSEYE || RASPIOS_BOOKWORM
+ select DISTRO_RASPIOS
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARMHF
config MACHINE_RPI_ARM_V7L
bool "rpi-arm-v7l"
- depends on RASPIOS_BULLSEYE || RASPIOS_BOOKWORM
+ select DISTRO_RASPIOS
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARMHF
config MACHINE_RPI_ARM
bool "rpi-arm"
- depends on RASPIOS_BULLSEYE || RASPIOS_BOOKWORM
+ select DISTRO_RASPIOS
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARMHF
config MACHINE_RPI_ARM64_V8
bool "rpi-arm64-v8"
- depends on RASPIOS_BULLSEYE || RASPIOS_BOOKWORM
+ select DISTRO_RASPIOS
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_ARM64
config MACHINE_SIFIVE_FU540
bool "sifive-fu540"
- depends on DEBIAN_TRIXIE || DEBIAN_SID
+ select DISTRO_DEBIAN
+ select CODENAME_TRIXIE
+ select CODENAME_SID
select ARCH_RISCV64
config MACHINE_STARFIVE_VISIONFIVE2
bool "starfive-visionfive2"
- depends on DEBIAN_TRIXIE || DEBIAN_SID
+ select DISTRO_DEBIAN
+ select CODENAME_TRIXIE
+ select CODENAME_SID
select ARCH_RISCV64
config MACHINE_STM32MP15X
bool "stm32mp15x"
- depends on DEBIAN_BULLSEYE
+ select DISTRO_DEBIAN
+ select CODENAME_BULLSEYE
select ARCH_ARMHF
config MACHINE_VIRTUALBOX
bool "virtualbox"
- depends on DEBIAN_BULLSEYE || DEBIAN_BOOKWORM
+ select DISTRO_DEBIAN
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
select ARCH_AMD64
config MACHINE_VMWARE
bool "vmware"
- depends on DEBIAN_BULLSEYE
+ select DISTRO_DEBIAN
+ select CODENAME_BULLSEYE
select ARCH_AMD64
config MACHINE_X86_PC
bool "x86 PC"
- depends on DEBIAN_BULLSEYE || DEBIAN_BOOKWORM || DEBIAN_TRIXIE || UBUNTU_FOCAL || UBUNTU_JAMMY || UBUNTU_NOBLE
+ select DISTRO_DEBIAN
+ select CODENAME_BULLSEYE
+ select CODENAME_BOOKWORM
+ select CODENAME_TRIXIE
+ select DISTRO_UBUNTU
+ select CODENAME_FOCAL
+ select CODENAME_JAMMY
+ select CODENAME_NOBLE
select ARCH_AMD64
endchoice
--
2.45.2
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20241207161031.714-3-ubely%40ilbers.de.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 3/3] kas: Option to select any machine-distro combination
2024-12-07 16:09 [PATCH 0/3] Select machine before the distro Uladzimir Bely
2024-12-07 16:09 ` [PATCH 1/3] kas: Fix architecture selection for bananapi Uladzimir Bely
2024-12-07 16:09 ` [PATCH 2/3] kas: Select machine before the distro Uladzimir Bely
@ 2024-12-07 16:09 ` Uladzimir Bely
2024-12-12 7:13 ` [PATCH 0/3] Select machine before the distro Uladzimir Bely
3 siblings, 0 replies; 5+ messages in thread
From: Uladzimir Bely @ 2024-12-07 16:09 UTC (permalink / raw)
To: isar-users
This may be useful for development purposes e.g. when adding support
of a new distro/codename for some machine.
Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
---
kas/distro/Kconfig | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/kas/distro/Kconfig b/kas/distro/Kconfig
index 3ddc3ef3..e69172d0 100644
--- a/kas/distro/Kconfig
+++ b/kas/distro/Kconfig
@@ -47,46 +47,53 @@ choice
config DEBIAN_BUSTER
bool "Debian 10 (buster)"
- depends on DISTRO_DEBIAN && CODENAME_BUSTER
+ depends on (DISTRO_DEBIAN && CODENAME_BUSTER) || ANY_MACHINE_DISTRO
config DEBIAN_BULLSEYE
bool "Debian 11 (bullseye)"
- depends on DISTRO_DEBIAN && CODENAME_BULLSEYE
+ depends on (DISTRO_DEBIAN && CODENAME_BULLSEYE) || ANY_MACHINE_DISTRO
config DEBIAN_BOOKWORM
bool "Debian 12 (bookworm)"
- depends on DISTRO_DEBIAN && CODENAME_BOOKWORM
+ depends on (DISTRO_DEBIAN && CODENAME_BOOKWORM) || ANY_MACHINE_DISTRO
config DEBIAN_TRIXIE
bool "Debian 13 (trixie)"
- depends on DISTRO_DEBIAN && CODENAME_TRIXIE
+ depends on (DISTRO_DEBIAN && CODENAME_TRIXIE) || ANY_MACHINE_DISTRO
config DEBIAN_SID
bool "Debian Sid (unstable)"
- depends on DISTRO_DEBIAN && CODENAME_SID
+ depends on (DISTRO_DEBIAN && CODENAME_SID) || ANY_MACHINE_DISTRO
config RASPIOS_BULLSEYE
bool "Raspberry Pi OS Debian 11 (bullseye)"
- depends on DISTRO_RASPIOS && CODENAME_BULLSEYE
+ depends on (DISTRO_RASPIOS && CODENAME_BULLSEYE) || ANY_MACHINE_DISTRO
config RASPIOS_BOOKWORM
bool "Raspberry Pi OS Debian 12 (bookworm)"
- depends on DISTRO_RASPIOS && CODENAME_BOOKWORM
+ depends on (DISTRO_RASPIOS && CODENAME_BOOKWORM) || ANY_MACHINE_DISTRO
config UBUNTU_FOCAL
bool "Ubuntu 20.04 (Focal)"
- depends on DISTRO_UBUNTU && CODENAME_FOCAL
+ depends on (DISTRO_UBUNTU && CODENAME_FOCAL) || ANY_MACHINE_DISTRO
config UBUNTU_JAMMY
bool "Ubuntu 22.04 (Jammy)"
- depends on DISTRO_UBUNTU && CODENAME_JAMMY
+ depends on (DISTRO_UBUNTU && CODENAME_JAMMY) || ANY_MACHINE_DISTRO
config UBUNTU_NOBLE
bool "Ubuntu 24.04 (Noble)"
- depends on DISTRO_UBUNTU && CODENAME_NOBLE
+ depends on (DISTRO_UBUNTU && CODENAME_NOBLE) || ANY_MACHINE_DISTRO
endchoice
+config ANY_MACHINE_DISTRO
+ bool "Allow any machine-distro combinations"
+ default n
+ help
+ This allows to select any machine-distro combinations some of which
+ may be not bootable or even buildable.
+
config KAS_INCLUDE_DISTRO
string
default "kas/distro/debian-buster.yaml" if DEBIAN_BUSTER
--
2.45.2
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20241207161031.714-4-ubely%40ilbers.de.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3] Select machine before the distro
2024-12-07 16:09 [PATCH 0/3] Select machine before the distro Uladzimir Bely
` (2 preceding siblings ...)
2024-12-07 16:09 ` [PATCH 3/3] kas: Option to select any machine-distro combination Uladzimir Bely
@ 2024-12-12 7:13 ` Uladzimir Bely
3 siblings, 0 replies; 5+ messages in thread
From: Uladzimir Bely @ 2024-12-12 7:13 UTC (permalink / raw)
To: isar-users
On Sat, 2024-12-07 at 19:09 +0300, Uladzimir Bely wrote:
> This series makes kas-container menu more user-friendly in
> terms of machine-distro selection.
>
> Uladzimir Bely (3):
> kas: Fix architecture selection for bananapi
> kas: Select machine before the distro
> kas: Option to select any machine-distro combination
>
> Kconfig | 4 +-
> kas/distro/Kconfig | 52 ++++++++++++++++++
> kas/machine/Kconfig | 129 ++++++++++++++++++++++++++++++++++--------
> --
> 3 files changed, 156 insertions(+), 29 deletions(-)
>
> --
> 2.45.2
>
Applied to next.
--
Best regards,
Uladzimir.
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/2eb5418a3e0509cd13ea7f036269cd906b90e727.camel%40ilbers.de.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-12-12 7:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-07 16:09 [PATCH 0/3] Select machine before the distro Uladzimir Bely
2024-12-07 16:09 ` [PATCH 1/3] kas: Fix architecture selection for bananapi Uladzimir Bely
2024-12-07 16:09 ` [PATCH 2/3] kas: Select machine before the distro Uladzimir Bely
2024-12-07 16:09 ` [PATCH 3/3] kas: Option to select any machine-distro combination Uladzimir Bely
2024-12-12 7:13 ` [PATCH 0/3] Select machine before the distro Uladzimir Bely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox