xenomai.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [xenomai-images][PATCH 0/2] Update to latest Isar
@ 2023-01-23 12:15 Florian Bezdeka
  2023-01-23 12:15 ` [xenomai-images][PATCH 1/2] Mount rootfs for qemu based tests read-write Florian Bezdeka
  2023-01-23 12:15 ` [xenomai-images][PATCH 2/2] Update Isar to latest next version - sbuild integration Florian Bezdeka
  0 siblings, 2 replies; 4+ messages in thread
From: Florian Bezdeka @ 2023-01-23 12:15 UTC (permalink / raw)
  To: xenomai; +Cc: Jan Kiszka, Florian Bezdeka

Hi all,

updating to latest Isar will allow us to base Xenomai images on Debian
bookworm. Debian bookworm will allow us to integrate and test remaining
y2038 stuff.

Best regards,
Florian

Florian Bezdeka (2):
  Mount rootfs for qemu based tests read-write
  Update Isar to latest next version - sbuild integration

 kas.yml                                |  4 +--
 recipes-kernel/linux/files/rules.tmpl  | 11 ++++++++
 recipes-kernel/linux/linux-xenomai.inc | 35 +++++++++-----------------
 recipes-xenomai/xenomai/xenomai.inc    |  8 ++----
 tests/jobs/xenomai-qemu-amd64.yml      |  4 +--
 tests/jobs/xenomai-qemu-arm64.yml      |  4 +--
 tests/jobs/xenomai-qemu-armhf.yml      |  4 +--
 7 files changed, 33 insertions(+), 37 deletions(-)
 create mode 100755 recipes-kernel/linux/files/rules.tmpl

-- 
2.39.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [xenomai-images][PATCH 1/2] Mount rootfs for qemu based tests read-write
  2023-01-23 12:15 [xenomai-images][PATCH 0/2] Update to latest Isar Florian Bezdeka
@ 2023-01-23 12:15 ` Florian Bezdeka
  2023-01-23 12:15 ` [xenomai-images][PATCH 2/2] Update Isar to latest next version - sbuild integration Florian Bezdeka
  1 sibling, 0 replies; 4+ messages in thread
From: Florian Bezdeka @ 2023-01-23 12:15 UTC (permalink / raw)
  To: xenomai; +Cc: Jan Kiszka, Florian Bezdeka

Adding "rw" to the kernel cmdline for qemu based LAVA tests is a
workaround for a current Isar regression. The rootfs entry is currently
removed from /etc/fstab so the rootfs stayed in read-only mode.

Signed-off-by: Florian Bezdeka <florian.bezdeka@siemens.com>
---
 tests/jobs/xenomai-qemu-amd64.yml | 4 ++--
 tests/jobs/xenomai-qemu-arm64.yml | 4 ++--
 tests/jobs/xenomai-qemu-armhf.yml | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/jobs/xenomai-qemu-amd64.yml b/tests/jobs/xenomai-qemu-amd64.yml
index 166d472..b989576 100644
--- a/tests/jobs/xenomai-qemu-amd64.yml
+++ b/tests/jobs/xenomai-qemu-amd64.yml
@@ -1,7 +1,7 @@
 #
 # Xenomai Real-Time System
 #
-# Copyright (c) Siemens AG, 2019
+# Copyright (c) Siemens AG, 2019-2023
 #
 # Authors:
 #  Quirin Gylstorff <quirin.gylstorff@siemens.com>
@@ -46,7 +46,7 @@ actions:
     to: tmpfs
     images:
       kernel:
-        image_arg: -kernel {kernel} -append "root=/dev/disk/by-path/pci-0000:00:1f.2-ata-6 console=ttyS0,115200 console=tty0"
+        image_arg: -kernel {kernel} -append "root=/dev/disk/by-path/pci-0000:00:1f.2-ata-6 console=ttyS0,115200 console=tty0 rw"
         url: ${DEPLOY_URL}/${ISAR_IMAGE}-${ISAR_DISTRIBUTION}-${TARGET}-vmlinuz
       initrd:
         image_arg: -initrd {initrd}
diff --git a/tests/jobs/xenomai-qemu-arm64.yml b/tests/jobs/xenomai-qemu-arm64.yml
index a1dcc1c..5bf513e 100644
--- a/tests/jobs/xenomai-qemu-arm64.yml
+++ b/tests/jobs/xenomai-qemu-arm64.yml
@@ -1,7 +1,7 @@
 #
 # Xenomai Real-Time System
 #
-# Copyright (c) Siemens AG, 2019
+# Copyright (c) Siemens AG, 2019-2023
 #
 # Authors:
 #  Quirin Gylstorff <quirin.gylstorff@siemens.com>
@@ -50,7 +50,7 @@ actions:
     to: tmpfs
     images:
       kernel:
-        image_arg: -kernel {kernel} -append "root=/dev/vda"
+        image_arg: -kernel {kernel} -append "root=/dev/vda rw"
         url: ${DEPLOY_URL}/${ISAR_IMAGE}-${ISAR_DISTRIBUTION}-${TARGET}-vmlinux
       initrd:
         image_arg: -initrd {initrd}
diff --git a/tests/jobs/xenomai-qemu-armhf.yml b/tests/jobs/xenomai-qemu-armhf.yml
index 3b5bc10..1ab35bd 100644
--- a/tests/jobs/xenomai-qemu-armhf.yml
+++ b/tests/jobs/xenomai-qemu-armhf.yml
@@ -1,7 +1,7 @@
 #
 # Xenomai Real-Time System
 #
-# Copyright (c) Siemens AG, 2019
+# Copyright (c) Siemens AG, 2019-2023
 #
 # Authors:
 #  Quirin Gylstorff <quirin.gylstorff@siemens.com>
@@ -46,7 +46,7 @@ actions:
     to: tmpfs
     images:
       kernel:
-        image_arg: -kernel {kernel} -append "root=/dev/vdb"
+        image_arg: -kernel {kernel} -append "root=/dev/vdb rw"
         url: ${DEPLOY_URL}/${ISAR_IMAGE}-${ISAR_DISTRIBUTION}-${TARGET}-vmlinuz
       initrd:
         image_arg: -initrd {initrd}
-- 
2.39.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [xenomai-images][PATCH 2/2] Update Isar to latest next version - sbuild integration
  2023-01-23 12:15 [xenomai-images][PATCH 0/2] Update to latest Isar Florian Bezdeka
  2023-01-23 12:15 ` [xenomai-images][PATCH 1/2] Mount rootfs for qemu based tests read-write Florian Bezdeka
@ 2023-01-23 12:15 ` Florian Bezdeka
  2023-02-01 10:18   ` Jan Kiszka
  1 sibling, 1 reply; 4+ messages in thread
From: Florian Bezdeka @ 2023-01-23 12:15 UTC (permalink / raw)
  To: xenomai; +Cc: Jan Kiszka, Florian Bezdeka

Updating to latest Isar will allow us to use Debian bookworm as base
distribution. Bookworm ships a recent glibc which will help to enable
y2038 testing in the CI environment.

This is the first version of Isar with sbuild enabled, so we can't use
the tricks around ${BUILDCHROOT_DIR} anymore.

xenomai: The scripts/bootstrap call is already part of the upstream
debian/rules file, so we do not have to call it again.

linux-xenomai: Moving the rules file provided by linux-custom.inc to
rules.isar allows us to ship our own rules file and override the
necessary steps.

Signed-off-by: Florian Bezdeka <florian.bezdeka@siemens.com>
---
 kas.yml                                |  4 +--
 recipes-kernel/linux/files/rules.tmpl  | 11 ++++++++
 recipes-kernel/linux/linux-xenomai.inc | 35 +++++++++-----------------
 recipes-xenomai/xenomai/xenomai.inc    |  8 ++----
 4 files changed, 27 insertions(+), 31 deletions(-)
 create mode 100755 recipes-kernel/linux/files/rules.tmpl

diff --git a/kas.yml b/kas.yml
index f8790e5..5f41f18 100644
--- a/kas.yml
+++ b/kas.yml
@@ -1,7 +1,7 @@
 #
 # Xenomai Real-Time System
 #
-# Copyright (c) Siemens AG, 2018-2020
+# Copyright (c) Siemens AG, 2018-2023
 #
 # Authors:
 #  Jan Kiszka <jan.kiszka@siemens.com>
@@ -22,7 +22,7 @@ repos:
 
   isar:
     url: https://github.com/ilbers/isar.git
-    refspec: 213b8f62fa74e87321f927fb6b4ed9db93e5cb37
+    refspec: 8530a94bdc8919fadccad13e6061832d2f2c1fcc
     layers:
       meta:
 
diff --git a/recipes-kernel/linux/files/rules.tmpl b/recipes-kernel/linux/files/rules.tmpl
new file mode 100755
index 0000000..5f1b325
--- /dev/null
+++ b/recipes-kernel/linux/files/rules.tmpl
@@ -0,0 +1,11 @@
+#!/usr/bin/make -f
+
+include debian/rules.isar
+
+prepare_kernel:
+	/usr/src/xenomai-kernel-source/scripts/prepare-kernel.sh \
+		--linux=$(S) \
+		--arch=${KERNEL_ARCH}
+
+override_dh_auto_configure: prepare_kernel
+
diff --git a/recipes-kernel/linux/linux-xenomai.inc b/recipes-kernel/linux/linux-xenomai.inc
index 7dba96e..bed58cc 100644
--- a/recipes-kernel/linux/linux-xenomai.inc
+++ b/recipes-kernel/linux/linux-xenomai.inc
@@ -1,7 +1,7 @@
 #
 # Xenomai Real-Time System
 #
-# Copyright (c) Siemens AG, 2018-2021
+# Copyright (c) Siemens AG, 2018-2023
 #
 # Authors:
 #  Jan Kiszka <jan.kiszka@siemens.com>
@@ -19,10 +19,13 @@ XENOMAI_DEBUG ?= "0"
 
 SRC_URI += "${@'file://${KERNEL_DEFCONFIG}' if d.getVar('KERNEL_DEFCONFIG') == d.getVar('XENOMAI_DEFCONFIG') else ''}"
 SRC_URI += "${@'file://common_nodbg.cfg' if d.getVar('XENOMAI_DEBUG') == '0' else ''}"
+SRC_URI += "file://rules.tmpl"
 
 DEPENDS += "xenomai-kernel-source"
 KBUILD_DEPENDS += "xenomai-kernel-source:native"
 
+TEMPLATE_FILES += "rules.tmpl"
+
 def get_commit(d):
     try:
         return bb.fetch2.get_srcrev(d).strip('AUTOINC+')
@@ -32,26 +35,12 @@ def get_commit(d):
 LINUX_COMMIT ?= "${@get_commit(d)}"
 
 dpkg_runbuild_prepend() {
-	case ${DISTRO_ARCH} in
-	armhf)
-		ARCH=arm
-		;;
-	arm64)
-		ARCH=arm64
-		;;
-	amd64|i386)
-		ARCH=x86
-		;;
-	*)
-		bberror "Unsupported architecture ${DISTRO_ARCH}"
-		exit 1
-	esac
-	bbplain $(printf "linux-xenomai-%s: Building revision %.20s\n" \
-			 ${PV} ${LINUX_COMMIT})
-
-	${BUILDCHROOT_DIR}/usr/src/xenomai-kernel-source/scripts/prepare-kernel.sh \
-		--linux=${BUILDCHROOT_DIR}/${PP}/${PPS} --arch=$ARCH \
-		--outpatch=${WORKDIR}/xenomai-kernel.patch
-	patch -d ${BUILDCHROOT_DIR}/${PP}/${PPS} \
-		-p1 -i ${WORKDIR}/xenomai-kernel.patch
+    bbplain $(printf "linux-xenomai-%s: Building revision %.20s\n" \
+                     ${PV} ${LINUX_COMMIT})
+}
+
+do_prepare_debian_rules() {
+    mv ${WORKDIR}/debian/rules ${WORKDIR}/debian/rules.isar
+    mv ${WORKDIR}/rules ${WORKDIR}/debian/rules
 }
+addtask prepare_debian_rules after do_transform_template before do_dpkg_build
\ No newline at end of file
diff --git a/recipes-xenomai/xenomai/xenomai.inc b/recipes-xenomai/xenomai/xenomai.inc
index b874a4a..8ebba7c 100644
--- a/recipes-xenomai/xenomai/xenomai.inc
+++ b/recipes-xenomai/xenomai/xenomai.inc
@@ -1,7 +1,7 @@
 #
 # Xenomai Real-Time System
 #
-# Copyright (c) Siemens AG, 2018
+# Copyright (c) Siemens AG, 2018-2023
 #
 # Authors:
 #  Jan Kiszka <jan.kiszka@siemens.com>
@@ -32,12 +32,8 @@ do_prepare_build() {
     # Remove upstream's "3.0 (native)" declaration so that we can define the
     # package version more freely.
     rm -f ${S}/debian/source/format
-}
 
-dpkg_runbuild_prepend() {
     bbplain $(printf "xenomai-%s: Building revision %.20s\n" \
                      ${PV} ${COMMIT})
-
-    sudo chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \
-        sh -c "cd ${PP}/${PPS}; scripts/bootstrap"
 }
+
-- 
2.39.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [xenomai-images][PATCH 2/2] Update Isar to latest next version - sbuild integration
  2023-01-23 12:15 ` [xenomai-images][PATCH 2/2] Update Isar to latest next version - sbuild integration Florian Bezdeka
@ 2023-02-01 10:18   ` Jan Kiszka
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2023-02-01 10:18 UTC (permalink / raw)
  To: Florian Bezdeka, xenomai

On 23.01.23 13:15, Florian Bezdeka wrote:
> Updating to latest Isar will allow us to use Debian bookworm as base
> distribution. Bookworm ships a recent glibc which will help to enable
> y2038 testing in the CI environment.
> 
> This is the first version of Isar with sbuild enabled, so we can't use
> the tricks around ${BUILDCHROOT_DIR} anymore.
> 
> xenomai: The scripts/bootstrap call is already part of the upstream
> debian/rules file, so we do not have to call it again.
> 
> linux-xenomai: Moving the rules file provided by linux-custom.inc to
> rules.isar allows us to ship our own rules file and override the
> necessary steps.
> 
> Signed-off-by: Florian Bezdeka <florian.bezdeka@siemens.com>
> ---
>  kas.yml                                |  4 +--
>  recipes-kernel/linux/files/rules.tmpl  | 11 ++++++++
>  recipes-kernel/linux/linux-xenomai.inc | 35 +++++++++-----------------
>  recipes-xenomai/xenomai/xenomai.inc    |  8 ++----
>  4 files changed, 27 insertions(+), 31 deletions(-)
>  create mode 100755 recipes-kernel/linux/files/rules.tmpl
> 
> diff --git a/kas.yml b/kas.yml
> index f8790e5..5f41f18 100644
> --- a/kas.yml
> +++ b/kas.yml
> @@ -1,7 +1,7 @@
>  #
>  # Xenomai Real-Time System
>  #
> -# Copyright (c) Siemens AG, 2018-2020
> +# Copyright (c) Siemens AG, 2018-2023
>  #
>  # Authors:
>  #  Jan Kiszka <jan.kiszka@siemens.com>
> @@ -22,7 +22,7 @@ repos:
>  
>    isar:
>      url: https://github.com/ilbers/isar.git
> -    refspec: 213b8f62fa74e87321f927fb6b4ed9db93e5cb37
> +    refspec: 8530a94bdc8919fadccad13e6061832d2f2c1fcc
>      layers:
>        meta:
>  
> diff --git a/recipes-kernel/linux/files/rules.tmpl b/recipes-kernel/linux/files/rules.tmpl
> new file mode 100755
> index 0000000..5f1b325
> --- /dev/null
> +++ b/recipes-kernel/linux/files/rules.tmpl
> @@ -0,0 +1,11 @@
> +#!/usr/bin/make -f
> +
> +include debian/rules.isar
> +
> +prepare_kernel:
> +	/usr/src/xenomai-kernel-source/scripts/prepare-kernel.sh \
> +		--linux=$(S) \
> +		--arch=${KERNEL_ARCH}
> +
> +override_dh_auto_configure: prepare_kernel
> +
> diff --git a/recipes-kernel/linux/linux-xenomai.inc b/recipes-kernel/linux/linux-xenomai.inc
> index 7dba96e..bed58cc 100644
> --- a/recipes-kernel/linux/linux-xenomai.inc
> +++ b/recipes-kernel/linux/linux-xenomai.inc
> @@ -1,7 +1,7 @@
>  #
>  # Xenomai Real-Time System
>  #
> -# Copyright (c) Siemens AG, 2018-2021
> +# Copyright (c) Siemens AG, 2018-2023
>  #
>  # Authors:
>  #  Jan Kiszka <jan.kiszka@siemens.com>
> @@ -19,10 +19,13 @@ XENOMAI_DEBUG ?= "0"
>  
>  SRC_URI += "${@'file://${KERNEL_DEFCONFIG}' if d.getVar('KERNEL_DEFCONFIG') == d.getVar('XENOMAI_DEFCONFIG') else ''}"
>  SRC_URI += "${@'file://common_nodbg.cfg' if d.getVar('XENOMAI_DEBUG') == '0' else ''}"
> +SRC_URI += "file://rules.tmpl"
>  
>  DEPENDS += "xenomai-kernel-source"
>  KBUILD_DEPENDS += "xenomai-kernel-source:native"
>  
> +TEMPLATE_FILES += "rules.tmpl"
> +
>  def get_commit(d):
>      try:
>          return bb.fetch2.get_srcrev(d).strip('AUTOINC+')
> @@ -32,26 +35,12 @@ def get_commit(d):
>  LINUX_COMMIT ?= "${@get_commit(d)}"
>  
>  dpkg_runbuild_prepend() {
> -	case ${DISTRO_ARCH} in
> -	armhf)
> -		ARCH=arm
> -		;;
> -	arm64)
> -		ARCH=arm64
> -		;;
> -	amd64|i386)
> -		ARCH=x86
> -		;;
> -	*)
> -		bberror "Unsupported architecture ${DISTRO_ARCH}"
> -		exit 1
> -	esac
> -	bbplain $(printf "linux-xenomai-%s: Building revision %.20s\n" \
> -			 ${PV} ${LINUX_COMMIT})
> -
> -	${BUILDCHROOT_DIR}/usr/src/xenomai-kernel-source/scripts/prepare-kernel.sh \
> -		--linux=${BUILDCHROOT_DIR}/${PP}/${PPS} --arch=$ARCH \
> -		--outpatch=${WORKDIR}/xenomai-kernel.patch
> -	patch -d ${BUILDCHROOT_DIR}/${PP}/${PPS} \
> -		-p1 -i ${WORKDIR}/xenomai-kernel.patch
> +    bbplain $(printf "linux-xenomai-%s: Building revision %.20s\n" \
> +                     ${PV} ${LINUX_COMMIT})
> +}
> +
> +do_prepare_debian_rules() {
> +    mv ${WORKDIR}/debian/rules ${WORKDIR}/debian/rules.isar
> +    mv ${WORKDIR}/rules ${WORKDIR}/debian/rules
>  }
> +addtask prepare_debian_rules after do_transform_template before do_dpkg_build
> \ No newline at end of file
> diff --git a/recipes-xenomai/xenomai/xenomai.inc b/recipes-xenomai/xenomai/xenomai.inc
> index b874a4a..8ebba7c 100644
> --- a/recipes-xenomai/xenomai/xenomai.inc
> +++ b/recipes-xenomai/xenomai/xenomai.inc
> @@ -1,7 +1,7 @@
>  #
>  # Xenomai Real-Time System
>  #
> -# Copyright (c) Siemens AG, 2018
> +# Copyright (c) Siemens AG, 2018-2023
>  #
>  # Authors:
>  #  Jan Kiszka <jan.kiszka@siemens.com>
> @@ -32,12 +32,8 @@ do_prepare_build() {
>      # Remove upstream's "3.0 (native)" declaration so that we can define the
>      # package version more freely.
>      rm -f ${S}/debian/source/format
> -}
>  
> -dpkg_runbuild_prepend() {
>      bbplain $(printf "xenomai-%s: Building revision %.20s\n" \
>                       ${PV} ${COMMIT})
> -
> -    sudo chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \
> -        sh -c "cd ${PP}/${PPS}; scripts/bootstrap"
>  }
> +

Thanks, applied, with some whitespace fixes and a bit further Isar bump
to get a few recent optimization (not the broken ones).

Jan

-- 
Siemens AG, Technology
Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-02-01 10:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-23 12:15 [xenomai-images][PATCH 0/2] Update to latest Isar Florian Bezdeka
2023-01-23 12:15 ` [xenomai-images][PATCH 1/2] Mount rootfs for qemu based tests read-write Florian Bezdeka
2023-01-23 12:15 ` [xenomai-images][PATCH 2/2] Update Isar to latest next version - sbuild integration Florian Bezdeka
2023-02-01 10:18   ` Jan Kiszka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).