[PATCH 0/6] Add support for Ubuntu

81 views
Skip to first unread message

Jan Kiszka

unread,
Dec 14, 2020, 2:11:29 AM12/14/20
to isar-users, Henning Schild
As customers are asking for this, I sat down and refreshes Henning's
patches to enable Ubuntu images. These are now targeting the latest LTS,
20.04 Focal Fossa.

First downstream usage via meta-iot2050 is WIP.

If we get traction on this, ie. issue reports and contribution of newer
releases, we may consider making a Ubuntu a first-class citizen by
moving it over to meta. For now, meta-isar seems more appropriate.

The last patch in the series is not strictly needed for Ubuntu. I just
came across this while playing with linux-mainline for focal-arm64.

Jan


CC: Henning Schild <henning...@siemens.com>

Henning Schild (2):
meta/isar-bootstrap: allow passing a SCRIPT to debootstrap
meta-isar: Add new distro ubuntu with suite "focal"

Jan Kiszka (4):
meta: image: Account for Ubuntu differences in do_copy_boot_files
wic: bootimg-efi-isar: Add support for Ubuntu
meta: cache_deb_src: Account for the case that resolv.conf is a
non-existent link
meta-isar: linux-mainline: Adjust cfg fragment test to arm64 defconfig

meta-isar/conf/distro/ubuntu-focal-ports.list | 6 +++++
meta-isar/conf/distro/ubuntu-focal.conf | 24 +++++++++++++++++++
meta-isar/conf/distro/ubuntu-focal.list | 6 +++++
meta-isar/conf/local.conf.sample | 2 ++
meta-isar/conf/machine/qemuamd64.conf | 1 +
meta-isar/conf/machine/qemuarm64.conf | 1 +
.../conf/multiconfig/qemuamd64-focal.conf | 7 ++++++
.../conf/multiconfig/qemuarm64-focal.conf | 7 ++++++
.../linux/linux-mainline_5.4.70.bb | 3 ++-
meta/classes/image.bbclass | 9 ++++---
meta/classes/rootfs.bbclass | 6 +++--
meta/classes/wic-img.bbclass | 2 +-
.../isar-bootstrap/isar-bootstrap.inc | 6 +++--
.../wic/plugins/source/bootimg-efi-isar.py | 10 +++++---
scripts/ci_build.sh | 6 +++--
scripts/start_vm | 6 ++---
scripts/vm_smoke_test | 1 +
17 files changed, 86 insertions(+), 17 deletions(-)
create mode 100644 meta-isar/conf/distro/ubuntu-focal-ports.list
create mode 100644 meta-isar/conf/distro/ubuntu-focal.conf
create mode 100644 meta-isar/conf/distro/ubuntu-focal.list
create mode 100644 meta-isar/conf/multiconfig/qemuamd64-focal.conf
create mode 100644 meta-isar/conf/multiconfig/qemuarm64-focal.conf

--
2.26.2

Jan Kiszka

unread,
Dec 14, 2020, 2:11:29 AM12/14/20
to isar-users, Henning Schild
From: Jan Kiszka <jan.k...@siemens.com>

Ubuntu places the kernel and initrd links under /boot. Account for that.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
meta/classes/wic-img.bbclass | 2 +-
.../scripts/lib/wic/plugins/source/bootimg-efi-isar.py | 10 +++++++---
2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass
index bbf5dd8a..dedd2bf0 100644
--- a/meta/classes/wic-img.bbclass
+++ b/meta/classes/wic-img.bbclass
@@ -99,7 +99,7 @@ WICVARS += "\
KERNEL_NAME KERNEL_FILE"

# Isar specific vars used in our plugins
-WICVARS += "KERNEL_IMAGE INITRD_IMAGE DISTRO_ARCH"
+WICVARS += "KERNEL_IMAGE INITRD_IMAGE DISTRO DISTRO_ARCH"

python do_rootfs_wicenv () {
wicvars = d.getVar('WICVARS', True)
diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
index 2285d2ef..67efa52e 100644
--- a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
+++ b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
@@ -65,6 +65,10 @@ class BootimgEFIPlugin(SourcePlugin):
# Create grub configuration using parameters from wks file
bootloader = creator.ks.bootloader

+ kernel_initrd_path = "/"
+ if get_bitbake_var("DISTRO").startswith("ubuntu"):
+ kernel_initrd_path = "/boot/"
+
grubefi_conf = "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n"
grubefi_conf += "terminal_input --append serial\n"
grubefi_conf += "terminal_output --append serial\n"
@@ -77,9 +81,9 @@ class BootimgEFIPlugin(SourcePlugin):
grubefi_conf += "set root=$bootdisk',gpt%d'\n" % part.realnum
grubefi_conf += "\n"
grubefi_conf += "menuentry 'boot'{\n"
- grubefi_conf += " linux /vmlinuz root=%s rootwait %s\n" \
- % (creator.rootdev, bootloader.append or "")
- grubefi_conf += " initrd /initrd.img\n"
+ grubefi_conf += " linux %svmlinuz root=%s rootwait %s\n" \
+ % (kernel_initrd_path, creator.rootdev, bootloader.append or "")
+ grubefi_conf += " initrd %sinitrd.img\n" % kernel_initrd_path
grubefi_conf += "}\n"

logger.debug("Writing grubefi config %s/hdd/boot/EFI/BOOT/grub.cfg",
--
2.26.2

Jan Kiszka

unread,
Dec 14, 2020, 2:11:30 AM12/14/20
to isar-users, Henning Schild
From: Henning Schild <henning...@siemens.com>

Show that Isar can even build that popular distribution.

Signed-off-by: Henning Schild <henning...@siemens.com>
[Jan: rebased, switched to 20.04/focal]
Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
meta-isar/conf/distro/ubuntu-focal-ports.list | 6 +++++
meta-isar/conf/distro/ubuntu-focal.conf | 24 +++++++++++++++++++
meta-isar/conf/distro/ubuntu-focal.list | 6 +++++
meta-isar/conf/local.conf.sample | 2 ++
meta-isar/conf/machine/qemuamd64.conf | 1 +
meta-isar/conf/machine/qemuarm64.conf | 1 +
.../conf/multiconfig/qemuamd64-focal.conf | 7 ++++++
.../conf/multiconfig/qemuarm64-focal.conf | 7 ++++++
scripts/ci_build.sh | 6 +++--
scripts/start_vm | 6 ++---
scripts/vm_smoke_test | 1 +
11 files changed, 62 insertions(+), 5 deletions(-)
create mode 100644 meta-isar/conf/distro/ubuntu-focal-ports.list
create mode 100644 meta-isar/conf/distro/ubuntu-focal.conf
create mode 100644 meta-isar/conf/distro/ubuntu-focal.list
create mode 100644 meta-isar/conf/multiconfig/qemuamd64-focal.conf
create mode 100644 meta-isar/conf/multiconfig/qemuarm64-focal.conf

diff --git a/meta-isar/conf/distro/ubuntu-focal-ports.list b/meta-isar/conf/distro/ubuntu-focal-ports.list
new file mode 100644
index 00000000..7e2d50f0
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-focal-ports.list
@@ -0,0 +1,6 @@
+deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse
+deb-src [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse
+deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse
+deb-src [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse
+deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal-security main restricted universe multiverse
+deb-src [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal-security main restricted universe multiverse
diff --git a/meta-isar/conf/distro/ubuntu-focal.conf b/meta-isar/conf/distro/ubuntu-focal.conf
new file mode 100644
index 00000000..0e4557e2
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-focal.conf
@@ -0,0 +1,24 @@
+#
+# Copyright (c) Siemens AG, 2018-2020
+#
+# SPDX-License-Identifier: MIT
+
+require conf/distro/debian-common.conf
+
+DISTRO_APT_SOURCES_arm64 ?= "conf/distro/${DISTRO}-ports.list"
+HOST_DISTRO_APT_SOURCES_append_arm64 = " ${DISTRO_APT_SOURCES}"
+
+BASE_DISTRO_CODENAME = "focal"
+
+# that is what debootstrap_1.0.118ubuntu1 does anyways
+DISTRO_DEBOOTSTRAP_SCRIPT = "/usr/share/debootstrap/scripts/gutsy"
+
+DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh"
+
+DISTRO_KERNELS ?= " \
+ aws azure azure-edge gcp generic gke kvm lowlatency oem virtual \
+ snapdragon generic-lpae"
+
+IMAGE_PREINSTALL += "init"
+
+WIC_IMAGER_INSTALL += "python3-distutils"
diff --git a/meta-isar/conf/distro/ubuntu-focal.list b/meta-isar/conf/distro/ubuntu-focal.list
new file mode 100644
index 00000000..52a0b3f7
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-focal.list
@@ -0,0 +1,6 @@
+deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
+deb-src [arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
+deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
+deb-src [arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
+deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
+deb-src [arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 3e435724..107496c1 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -63,6 +63,8 @@ BBMULTICONFIG = " \
stm32mp15x-buster \
rpi-stretch \
sifive-fu540-sid-ports \
+ qemuarm64-focal \
+ qemuamd64-focal \
"

#
diff --git a/meta-isar/conf/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index 29fc579e..238bc907 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -4,6 +4,7 @@
DISTRO_ARCH ?= "amd64"

KERNEL_NAME ?= "amd64"
+KERNEL_NAME_ubuntu-focal ?= "generic"

IMAGE_TYPE ?= "wic-img"
WKS_FILE ?= "sdimage-efi"
diff --git a/meta-isar/conf/machine/qemuarm64.conf b/meta-isar/conf/machine/qemuarm64.conf
index 246da5a5..e5e762ff 100644
--- a/meta-isar/conf/machine/qemuarm64.conf
+++ b/meta-isar/conf/machine/qemuarm64.conf
@@ -4,6 +4,7 @@
DISTRO_ARCH ?= "arm64"

KERNEL_NAME ?= "arm64"
+KERNEL_NAME_ubuntu-focal ?= "generic"

IMAGE_TYPE ?= "ext4-img"

diff --git a/meta-isar/conf/multiconfig/qemuamd64-focal.conf b/meta-isar/conf/multiconfig/qemuamd64-focal.conf
new file mode 100644
index 00000000..d3566ada
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuamd64-focal.conf
@@ -0,0 +1,7 @@
+#
+# Copyright (c) Siemens AG, 2018-2020
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuamd64"
+DISTRO ?= "ubuntu-focal"
diff --git a/meta-isar/conf/multiconfig/qemuarm64-focal.conf b/meta-isar/conf/multiconfig/qemuarm64-focal.conf
new file mode 100644
index 00000000..1cbc8fb8
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuarm64-focal.conf
@@ -0,0 +1,7 @@
+#
+# Copyright (c) Siemens AG, 2018-2020
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuarm64"
+DISTRO ?= "ubuntu-focal"
diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh
index f4c33a37..a8d9ad97 100755
--- a/scripts/ci_build.sh
+++ b/scripts/ci_build.sh
@@ -31,7 +31,8 @@ TARGETS_SET="\
mc:qemumipsel-stretch:isar-image-base \
mc:qemumipsel-buster:isar-image-base \
mc:nand-ubi-demo-buster:isar-image-ubi \
- mc:rpi-stretch:isar-image-base"
+ mc:rpi-stretch:isar-image-base \
+ mc:qemuamd64-focal:isar-image-base"
# qemu-user-static of <= buster too old to build that
# mc:qemuarm64-buster:isar-image-base
# mc:qemuarm64-bullseye:isar-image-base
@@ -50,7 +51,8 @@ CROSS_TARGETS_SET="\
mc:qemuamd64-stretch:isar-image-base \
mc:de0-nano-soc-buster:isar-image-base \
mc:stm32mp15x-buster:isar-image-base \
- mc:rpi-stretch:isar-image-base"
+ mc:rpi-stretch:isar-image-base \
+ mc:qemuarm64-focal:isar-image-base"

CROSS_TARGETS_SET_BULLSEYE="\
mc:qemuarm-bullseye:isar-image-base \
diff --git a/scripts/start_vm b/scripts/start_vm
index eda49462..dfa14c95 100755
--- a/scripts/start_vm
+++ b/scripts/start_vm
@@ -109,10 +109,10 @@ readonly ISARROOT="$(dirname "$0")"/..
readonly MACHINE_CONF=$ISARROOT/meta-isar/conf/machine/qemu$ARCH.conf
eval "$(egrep 'MACHINE_SERIAL|QEMU_' $MACHINE_CONF |bb2sh)"

-eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "^IMAGE_TYPE=")
+eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "\(^IMAGE_TYPE=\|^IMAGE_FULLNAME=\)")
case "$IMAGE_TYPE" in
ext4-img)
- readonly ROOTFS_IMAGE=isar-image-base-debian-$DISTRO-qemu$ARCH.ext4.img
+ readonly ROOTFS_IMAGE=$IMAGE_FULLNAME.ext4.img

eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "^KERNEL_IMAGE=")
eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "^INITRD_IMAGE=")
@@ -129,7 +129,7 @@ case "$IMAGE_TYPE" in
KARGS="console=$MACHINE_SERIAL root=/dev/$QEMU_ROOTFS_DEV rw $QEMU_KARGS"
;;
wic-img)
- readonly ROOTFS_IMAGE=isar-image-base-debian-$DISTRO-qemu$ARCH.wic.img
+ readonly ROOTFS_IMAGE=$IMAGE_FULLNAME.wic.img
EXTRA_ARGS="$EXTRA_ARGS -snapshot"
;;
*)
diff --git a/scripts/vm_smoke_test b/scripts/vm_smoke_test
index 237205e2..ce082137 100755
--- a/scripts/vm_smoke_test
+++ b/scripts/vm_smoke_test
@@ -152,6 +152,7 @@ run_test arm buster
# AMD64 machine
if [ -z "$FAST_BUILD" ]; then
run_test amd64 buster
+ run_test amd64 focal
fi
run_test amd64 stretch

--
2.26.2

Jan Kiszka

unread,
Dec 14, 2020, 2:11:30 AM12/14/20
to isar-users, Henning Schild
From: Jan Kiszka <jan.k...@siemens.com>

On arm64, CONFIG_MTD is enabled but CONFIG_MTD_UBI is not. This leads to
a false negative in of the test that tries to disable CONFIG_UBIFS_FS.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb b/meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb
index 209ad9c0..980e137b 100644
--- a/meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb
+++ b/meta-isar/recipes-kernel/linux/linux-mainline_5.4.70.bb
@@ -25,7 +25,8 @@ LINUX_VERSION_EXTENSION = "-isar"

# For testing purposes only
dpkg_configure_kernel_append() {
- if ! grep "# CONFIG_MTD is not set" ${S}/${KERNEL_BUILD_DIR}/.config; then
+ if ! grep "# CONFIG_MTD is not set" ${S}/${KERNEL_BUILD_DIR}/.config && \
+ ! grep "# CONFIG_MTD_UBI is not set" ${S}/${KERNEL_BUILD_DIR}/.config; then
grep "# CONFIG_UBIFS_FS is not set" ${S}/${KERNEL_BUILD_DIR}/.config || \
bbfatal "Self-check failed: CONFIG_UBIFS_FS still enabled"
fi
--
2.26.2

Jan Kiszka

unread,
Dec 14, 2020, 2:11:30 AM12/14/20
to isar-users, Henning Schild
From: Jan Kiszka <jan.k...@siemens.com>

This is true if systemd-resolve is used, like on Ubuntu.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
meta/classes/rootfs.bbclass | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass
index efed0f65..f9151c5b 100644
--- a/meta/classes/rootfs.bbclass
+++ b/meta/classes/rootfs.bbclass
@@ -186,7 +186,8 @@ python do_rootfs_install() {
addtask rootfs_install before do_rootfs_postprocess after do_unpack

cache_deb_src() {
- if [ -e "${ROOTFSDIR}"/etc/resolv.conf ]; then
+ if [ -e "${ROOTFSDIR}"/etc/resolv.conf ] ||
+ [ -h "${ROOTFSDIR}"/etc/resolv.conf ]; then
sudo mv "${ROOTFSDIR}"/etc/resolv.conf "${ROOTFSDIR}"/etc/resolv.conf.isar
fi
rootfs_install_resolvconf
@@ -199,7 +200,8 @@ cache_deb_src() {
debsrc_download ${ROOTFSDIR} ${ROOTFS_DISTRO}

sudo rm -f "${ROOTFSDIR}"/etc/resolv.conf
- if [ -e "${ROOTFSDIR}"/etc/resolv.conf.isar ]; then
+ if [ -e "${ROOTFSDIR}"/etc/resolv.conf.isar ] ||
+ [ -h "${ROOTFSDIR}"/etc/resolv.conf.isar ]; then
sudo mv "${ROOTFSDIR}"/etc/resolv.conf.isar "${ROOTFSDIR}"/etc/resolv.conf
fi
}
--
2.26.2

Jan Kiszka

unread,
Dec 14, 2020, 2:11:30 AM12/14/20
to isar-users, Henning Schild
From: Henning Schild <henning...@siemens.com>

Debootstrap uses scripts that usually have the same name as SUITE so we
never set them. In order to install a SUITE that an outdated version of
debootstrap does not (yet) know, we can tell debootstrap which SCRIPT to
use.
In fact many modern SUITEs will use SCRIPTS we might already have, we
just do not have the symlink to them.
i.e. "cosmic" uses the SCRIPT "gutsy" and a debootstrap from "stretch"
does know "gutsy" but not "cosmic"
So we can debootstrap SUITEs from the future, given they use a SCRIPT we
already have.

Signed-off-by: Henning Schild <henning...@siemens.com>
Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index dca136e0..a5cd1f03 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -271,14 +271,16 @@ isar_bootstrap() {
${@get_distro_components_argument(d, True)} \
"${@get_distro_suite(d, True)}" \
"${ROOTFSDIR}" \
- "${@get_distro_source(d, True)}"
+ "${@get_distro_source(d, True)}" \
+ ${DISTRO_DEBOOTSTRAP_SCRIPT}
else
${DEBOOTSTRAP} $debootstrap_args \
--arch="${DISTRO_ARCH}" \
${@get_distro_components_argument(d, False)} \
"${@get_distro_suite(d, False)}" \
"${ROOTFSDIR}" \
- "${@get_distro_source(d, False)}"
+ "${@get_distro_source(d, False)}" \
+ ${DISTRO_DEBOOTSTRAP_SCRIPT}
fi

# Install apt config
--
2.26.2

Jan Kiszka

unread,
Dec 14, 2020, 2:11:31 AM12/14/20
to isar-users, Henning Schild
From: Jan Kiszka <jan.k...@siemens.com>

Ubuntu places kernel and initrd links under /boot. Furthermore, it makes
the kernel unreadable for non-root users. Account for the latter by
cat'ing the kernel under sudo, redirecting the output to the deployment
artifact so that it is owned by the building user.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
meta/classes/image.bbclass | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 74fc8500..eddc4449 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -132,15 +132,18 @@ EOF

do_copy_boot_files[dirs] = "${DEPLOY_DIR_IMAGE}"
do_copy_boot_files() {
- kernel="$(realpath -q '${IMAGE_ROOTFS}/vmlinuz')"
+ kernel="$(realpath -q '${IMAGE_ROOTFS}'/vmlinu[xz])"
if [ ! -f "$kernel" ]; then
- kernel="$(realpath -q '${IMAGE_ROOTFS}/vmlinux')"
+ kernel="$(realpath -q '${IMAGE_ROOTFS}'/boot/vmlinu[xz])"
fi
if [ -f "$kernel" ]; then
- cp -f "$kernel" '${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE}'
+ sudo cat "$kernel" > "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE}"
fi

initrd="$(realpath -q '${IMAGE_ROOTFS}/initrd.img')"
+ if [ ! -f "$initrd" ]; then
+ initrd="$(realpath -q '${IMAGE_ROOTFS}/boot/initrd.img')"
+ fi
if [ -f "$initrd" ]; then
cp -f "$initrd" '${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}'
fi
--
2.26.2

Jan Kiszka

unread,
Dec 14, 2020, 7:30:01 AM12/14/20
to Henning Schild, isar-users
On 14.12.20 13:13, Henning Schild wrote:
> Did you check the custom kernel case? Do we not have pre/post install
> scripting in place which deals with symlinks? Or is this scripting just
> part of the distro?

Yes, see https://github.com/siemens/meta-iot2050/commits/jan/ubuntu.

Jan

>
> Henning
>
> Am Mon, 14 Dec 2020 08:11:24 +0100
> schrieb Jan Kiszka <jan.k...@siemens.com>:
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

Henning Schild

unread,
Dec 14, 2020, 7:33:22 AM12/14/20
to Jan Kiszka, isar-users
Am Mon, 14 Dec 2020 13:28:09 +0100
schrieb Jan Kiszka <jan.k...@siemens.com>:

> On 14.12.20 13:13, Henning Schild wrote:
> > Did you check the custom kernel case? Do we not have pre/post
> > install scripting in place which deals with symlinks? Or is this
> > scripting just part of the distro?
>
> Yes, see https://github.com/siemens/meta-iot2050/commits/jan/ubuntu.

Sweet. I do not like the distro (at all), but i like that Isar can
cater for it if need be. A few people seem to care ;)

Henning

Henning Schild

unread,
Dec 14, 2020, 7:34:07 AM12/14/20
to Jan Kiszka, isar-users
Am Mon, 14 Dec 2020 08:11:22 +0100
schrieb Jan Kiszka <jan.k...@siemens.com>:
Why "cat" instead of "cp"? I think the real trick is the sudo anyways.

Henning

Henning Schild

unread,
Dec 14, 2020, 7:36:42 AM12/14/20
to Jan Kiszka, isar-users
Am Mon, 14 Dec 2020 13:27:30 +0100
schrieb Jan Kiszka <jan.k...@siemens.com>:
I think i would prefer "--no-preserve=mode" to make that explicit in
the code ... instead of the commit message. Sorry for my quick shots on
this series.

Henning

> Jan

Jan Kiszka

unread,
Dec 14, 2020, 7:37:15 AM12/14/20
to Henning Schild, isar-users
On 14.12.20 13:06, Henning Schild wrote:
> Please double-check if you can reuse some of my commits
>
> https://github.com/henning-schild-work/isar/commits/henning/staging2
>

I did, you can see...

> Henning
>
> Am Mon, 14 Dec 2020 08:11:21 +0100
> schrieb Jan Kiszka <jan.k...@siemens.com>:
>
>> As customers are asking for this, I sat down and refreshes Henning's
>> patches to enable Ubuntu images. These are now targeting the latest
>> LTS, 20.04 Focal Fossa.
>>
>> First downstream usage via meta-iot2050 is WIP.
>>
>> If we get traction on this, ie. issue reports and contribution of
>> newer releases, we may consider making a Ubuntu a first-class citizen
>> by moving it over to meta. For now, meta-isar seems more appropriate.
>>
>> The last patch in the series is not strictly needed for Ubuntu. I just
>> came across this while playing with linux-mainline for focal-arm64.
>>
>> Jan
>>
>>
>> CC: Henning Schild <henning...@siemens.com>
>>
>> Henning Schild (2):
>> meta/isar-bootstrap: allow passing a SCRIPT to debootstrap
>> meta-isar: Add new distro ubuntu with suite "focal"
>>

...here.

Jan

Henning Schild

unread,
Dec 14, 2020, 7:41:08 AM12/14/20
to Jan Kiszka, isar-users
Please double-check if you can reuse some of my commits

https://github.com/henning-schild-work/isar/commits/henning/staging2

Henning

Am Mon, 14 Dec 2020 08:11:21 +0100
schrieb Jan Kiszka <jan.k...@siemens.com>:

Jan Kiszka

unread,
Dec 14, 2020, 7:41:13 AM12/14/20
to Henning Schild, isar-users
On 14.12.20 13:16, Henning Schild wrote:
Jan

> Henning
>
>> fi
>>
>> initrd="$(realpath -q '${IMAGE_ROOTFS}/initrd.img')"
>> + if [ ! -f "$initrd" ]; then
>> + initrd="$(realpath -q '${IMAGE_ROOTFS}/boot/initrd.img')"
>> + fi
>> if [ -f "$initrd" ]; then
>> cp -f "$initrd" '${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}'
>> fi
>


Henning Schild

unread,
Dec 14, 2020, 7:44:48 AM12/14/20
to Jan Kiszka, isar-users
Did you check the custom kernel case? Do we not have pre/post install
scripting in place which deals with symlinks? Or is this scripting just
part of the distro?

Henning

Am Mon, 14 Dec 2020 08:11:24 +0100
schrieb Jan Kiszka <jan.k...@siemens.com>:

Jan Kiszka

unread,
Dec 14, 2020, 11:39:30 AM12/14/20
to Henning Schild, isar-users
--no-preserve=mode and also --no-preserve=ownership do not help. Any
other trick I miss? Would prefer something explicit as well.

Jan

Henning Schild

unread,
Dec 14, 2020, 11:41:02 AM12/14/20
to Jan Kiszka, isar-users
Am Mon, 14 Dec 2020 17:39:28 +0100
sudo cp && chmod && chown

Henning

> Jan
>

Jan Kiszka

unread,
Dec 15, 2020, 4:23:01 AM12/15/20
to Henning Schild, isar-users
That's not a trick. Than this solution here is simpler.

Anton Mikanovich

unread,
Jan 18, 2021, 11:15:32 AM1/18/21
to isar-...@googlegroups.com
14.12.2020 10:11, Jan Kiszka wrote:
> As customers are asking for this, I sat down and refreshes Henning's
> patches to enable Ubuntu images. These are now targeting the latest LTS,
> 20.04 Focal Fossa.
>
> First downstream usage via meta-iot2050 is WIP.
>
> If we get traction on this, ie. issue reports and contribution of newer
> releases, we may consider making a Ubuntu a first-class citizen by
> moving it over to meta. For now, meta-isar seems more appropriate.
>
> The last patch in the series is not strictly needed for Ubuntu. I just
> came across this while playing with linux-mainline for focal-arm64.
>
> Jan

Applied to next, thanks.

--
Anton Mikanovich
Promwad Ltd.
External service provider of ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn, Germany
+49 (89) 122 67 24-0
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

Reply all
Reply to author
Forward
0 new messages