public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH 0/2] Correctly determine kernel and initrd versions
@ 2017-10-16 15:58 Alexander Smirnov
  2017-10-16 15:59 ` [PATCH 1/2] meta-isar: Drop hardcoded kernel versions Alexander Smirnov
  2017-10-16 15:59 ` [PATCH 2/2] meta-isar: Rework boot files copying Alexander Smirnov
  0 siblings, 2 replies; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-16 15:58 UTC (permalink / raw)
  To: isar-users; +Cc: Alexander Smirnov

Hello all,

in current Isar implementation, multiconfig file contains hardcoded
version for boot files: kernel and initrd. This is used for both:

 - Add respective package to multistrap config.
 - Copy boot files to deploy directory.

This series drops this hardcoded versions, so now Isar is able to
determine version of boot files during building.

With best regards,
Alex

Alexander Smirnov (2):
  meta-isar: Drop hardcoded kernel versions
  meta-isar: Rework boot files copying

 meta-isar/conf/multiconfig/qemuamd64-jessie.conf  |  5 +----
 meta-isar/conf/multiconfig/qemuamd64-stretch.conf |  5 +----
 meta-isar/conf/multiconfig/qemuarm-jessie.conf    |  5 +----
 meta-isar/conf/multiconfig/qemuarm-stretch.conf   |  5 +----
 meta-isar/conf/multiconfig/qemuarm-wheezy.conf    |  5 +----
 meta-isar/conf/multiconfig/qemui386-jessie.conf   |  5 +----
 meta-isar/conf/multiconfig/qemui386-stretch.conf  |  5 +----
 meta-isar/conf/multiconfig/rpi-jessie.conf        |  3 ---
 meta/classes/ext4-img.bbclass                     |  8 --------
 meta/classes/image.bbclass                        | 23 ++++++++++++++++++++---
 10 files changed, 27 insertions(+), 42 deletions(-)

-- 
2.9.4


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

* [PATCH 1/2] meta-isar: Drop hardcoded kernel versions
  2017-10-16 15:58 [PATCH 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
@ 2017-10-16 15:59 ` Alexander Smirnov
  2017-10-16 15:59 ` [PATCH 2/2] meta-isar: Rework boot files copying Alexander Smirnov
  1 sibling, 0 replies; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-16 15:59 UTC (permalink / raw)
  To: isar-users; +Cc: Alexander Smirnov, Frank Lenormand

Use meta packages for rootfs creation instead of numbered kernel ones.

Signed-off-by: Frank Lenormand <lenormf@gmail.com>
Signed-off-by: Alexander Smirnov <asmirnov@ilbers.de>
---
 meta-isar/conf/multiconfig/qemuamd64-jessie.conf  | 2 +-
 meta-isar/conf/multiconfig/qemuamd64-stretch.conf | 2 +-
 meta-isar/conf/multiconfig/qemuarm-jessie.conf    | 2 +-
 meta-isar/conf/multiconfig/qemuarm-stretch.conf   | 2 +-
 meta-isar/conf/multiconfig/qemuarm-wheezy.conf    | 2 +-
 meta-isar/conf/multiconfig/qemui386-jessie.conf   | 2 +-
 meta-isar/conf/multiconfig/qemui386-stretch.conf  | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
index 5926ddc..d9473f3 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
@@ -6,7 +6,7 @@ MACHINE ?= "qemuamd64"
 DISTRO ?= "debian-jessie"
 DISTRO_ARCH ?= "amd64"
 
-IMAGE_PREINSTALL += "linux-image-3.16.0-4-amd64"
+IMAGE_PREINSTALL += "linux-image-amd64"
 
 KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-amd64"
 INITRD_IMAGE ?= "initrd.img-3.16.0-4-amd64"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
index c2bf21c..5ac25d9 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
@@ -8,7 +8,7 @@ DISTRO_ARCH ?= "amd64"
 
 IMAGE_PREINSTALL += " \
     init \
-    linux-image-4.9.0-4-amd64 \
+    linux-image-amd64 \
 "
 
 KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-amd64"
diff --git a/meta-isar/conf/multiconfig/qemuarm-jessie.conf b/meta-isar/conf/multiconfig/qemuarm-jessie.conf
index f2bacd8..3dd33f2 100644
--- a/meta-isar/conf/multiconfig/qemuarm-jessie.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-jessie.conf
@@ -13,7 +13,7 @@ MACHINE ?= "qemuarm"
 DISTRO ?= "debian-jessie"
 DISTRO_ARCH ?= "armhf"
 
-IMAGE_PREINSTALL += "linux-image-3.16.0-4-armmp"
+IMAGE_PREINSTALL += "linux-image-armmp"
 
 KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-armmp"
 INITRD_IMAGE ?= "initrd.img-3.16.0-4-armmp"
diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf b/meta-isar/conf/multiconfig/qemuarm-stretch.conf
index 8b55a2f..f3636f6 100644
--- a/meta-isar/conf/multiconfig/qemuarm-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-stretch.conf
@@ -8,7 +8,7 @@ DISTRO_ARCH ?= "armhf"
 
 IMAGE_PREINSTALL += " \
     init \
-    linux-image-4.9.0-4-armmp \
+    linux-image-armmp \
 "
 
 KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-armmp"
diff --git a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
index 92cffbd..3a23692 100644
--- a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
@@ -13,7 +13,7 @@ MACHINE ?= "qemuarm"
 DISTRO ?= "debian-wheezy"
 DISTRO_ARCH ?= "armhf"
 
-IMAGE_PREINSTALL += "linux-image-3.2.0-4-vexpress"
+IMAGE_PREINSTALL += "linux-image-vexpress"
 
 KERNEL_IMAGE ?= "vmlinuz-3.2.0-4-vexpress"
 INITRD_IMAGE ?= "initrd.img-3.2.0-4-vexpress"
diff --git a/meta-isar/conf/multiconfig/qemui386-jessie.conf b/meta-isar/conf/multiconfig/qemui386-jessie.conf
index 3ccce91..55cb172 100644
--- a/meta-isar/conf/multiconfig/qemui386-jessie.conf
+++ b/meta-isar/conf/multiconfig/qemui386-jessie.conf
@@ -6,7 +6,7 @@ MACHINE ?= "qemui386"
 DISTRO ?= "debian-jessie"
 DISTRO_ARCH ?= "i386"
 
-IMAGE_PREINSTALL += "linux-image-3.16.0-4-686-pae"
+IMAGE_PREINSTALL += "linux-image-686-pae"
 
 KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-686-pae"
 INITRD_IMAGE ?= "initrd.img-3.16.0-4-686-pae"
diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf b/meta-isar/conf/multiconfig/qemui386-stretch.conf
index 7749bf2..c0285b4 100644
--- a/meta-isar/conf/multiconfig/qemui386-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemui386-stretch.conf
@@ -8,7 +8,7 @@ DISTRO_ARCH ?= "i386"
 
 IMAGE_PREINSTALL += " \
     init \
-    linux-image-4.9.0-4-686-pae \
+    linux-image-686-pae \
 "
 
 KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-686-pae"
-- 
2.9.4


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

* [PATCH 2/2] meta-isar: Rework boot files copying
  2017-10-16 15:58 [PATCH 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
  2017-10-16 15:59 ` [PATCH 1/2] meta-isar: Drop hardcoded kernel versions Alexander Smirnov
@ 2017-10-16 15:59 ` Alexander Smirnov
  2017-10-16 16:11   ` Henning Schild
  1 sibling, 1 reply; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-16 15:59 UTC (permalink / raw)
  To: isar-users; +Cc: Alexander Smirnov, Frank Lenormand


Currently there are two variables that contains hardcoded filenames
with versions for kernel and initrd images. Isar uses them to copy these
files to deploy directory. Moreover this is performed in ext4 class,
what is logically wrong.

This patch implements a new way which doesn't rely on hardcoded versioned
filenames. Also it drops this copying from ext4 class.

Signed-off-by: Frank Lenormand <lenormf@gmail.com>
Signed-off-by: Alexander Smirnov <asmirnov@ilbers.de>
---
 meta-isar/conf/multiconfig/qemuamd64-jessie.conf  |  3 ---
 meta-isar/conf/multiconfig/qemuamd64-stretch.conf |  3 ---
 meta-isar/conf/multiconfig/qemuarm-jessie.conf    |  3 ---
 meta-isar/conf/multiconfig/qemuarm-stretch.conf   |  3 ---
 meta-isar/conf/multiconfig/qemuarm-wheezy.conf    |  3 ---
 meta-isar/conf/multiconfig/qemui386-jessie.conf   |  3 ---
 meta-isar/conf/multiconfig/qemui386-stretch.conf  |  3 ---
 meta-isar/conf/multiconfig/rpi-jessie.conf        |  3 ---
 meta/classes/ext4-img.bbclass                     |  8 --------
 meta/classes/image.bbclass                        | 23 ++++++++++++++++++++---
 10 files changed, 20 insertions(+), 35 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
index d9473f3..51d39b6 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
@@ -8,9 +8,6 @@ DISTRO_ARCH ?= "amd64"
 
 IMAGE_PREINSTALL += "linux-image-amd64"
 
-KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-amd64"
-INITRD_IMAGE ?= "initrd.img-3.16.0-4-amd64"
-
 ROOTFS_DEV ?= "sda"
 
 QEMU_ARCH ?= "x86_64"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
index 5ac25d9..c59876a 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
@@ -11,9 +11,6 @@ IMAGE_PREINSTALL += " \
     linux-image-amd64 \
 "
 
-KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-amd64"
-INITRD_IMAGE ?= "initrd.img-4.9.0-4-amd64"
-
 ROOTFS_DEV ?= "sda"
 
 QEMU_ARCH ?= "x86_64"
diff --git a/meta-isar/conf/multiconfig/qemuarm-jessie.conf b/meta-isar/conf/multiconfig/qemuarm-jessie.conf
index 3dd33f2..ed84c6c 100644
--- a/meta-isar/conf/multiconfig/qemuarm-jessie.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-jessie.conf
@@ -15,9 +15,6 @@ DISTRO_ARCH ?= "armhf"
 
 IMAGE_PREINSTALL += "linux-image-armmp"
 
-KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-armmp"
-INITRD_IMAGE ?= "initrd.img-3.16.0-4-armmp"
-
 ROOTFS_DEV ?= "vda"
 
 QEMU_ARCH ?= "arm"
diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf b/meta-isar/conf/multiconfig/qemuarm-stretch.conf
index f3636f6..1cce97a 100644
--- a/meta-isar/conf/multiconfig/qemuarm-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-stretch.conf
@@ -11,9 +11,6 @@ IMAGE_PREINSTALL += " \
     linux-image-armmp \
 "
 
-KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-armmp"
-INITRD_IMAGE ?= "initrd.img-4.9.0-4-armmp"
-
 ROOTFS_DEV ?= "vda"
 
 QEMU_ARCH ?= "arm"
diff --git a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
index 3a23692..38ea191 100644
--- a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
@@ -15,9 +15,6 @@ DISTRO_ARCH ?= "armhf"
 
 IMAGE_PREINSTALL += "linux-image-vexpress"
 
-KERNEL_IMAGE ?= "vmlinuz-3.2.0-4-vexpress"
-INITRD_IMAGE ?= "initrd.img-3.2.0-4-vexpress"
-
 ROOTFS_DEV ?= "mmcblk0"
 
 QEMU_ARCH ?= "arm"
diff --git a/meta-isar/conf/multiconfig/qemui386-jessie.conf b/meta-isar/conf/multiconfig/qemui386-jessie.conf
index 55cb172..d589661 100644
--- a/meta-isar/conf/multiconfig/qemui386-jessie.conf
+++ b/meta-isar/conf/multiconfig/qemui386-jessie.conf
@@ -8,9 +8,6 @@ DISTRO_ARCH ?= "i386"
 
 IMAGE_PREINSTALL += "linux-image-686-pae"
 
-KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-686-pae"
-INITRD_IMAGE ?= "initrd.img-3.16.0-4-686-pae"
-
 ROOTFS_DEV ?= "sda"
 
 QEMU_ARCH ?= "i386"
diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf b/meta-isar/conf/multiconfig/qemui386-stretch.conf
index c0285b4..40239e4 100644
--- a/meta-isar/conf/multiconfig/qemui386-stretch.conf
+++ b/meta-isar/conf/multiconfig/qemui386-stretch.conf
@@ -11,9 +11,6 @@ IMAGE_PREINSTALL += " \
     linux-image-686-pae \
 "
 
-KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-686-pae"
-INITRD_IMAGE ?= "initrd.img-4.9.0-4-686-pae"
-
 ROOTFS_DEV ?= "sda"
 
 QEMU_ARCH ?= "i386"
diff --git a/meta-isar/conf/multiconfig/rpi-jessie.conf b/meta-isar/conf/multiconfig/rpi-jessie.conf
index 82b38d2..d1dd9d9 100644
--- a/meta-isar/conf/multiconfig/rpi-jessie.conf
+++ b/meta-isar/conf/multiconfig/rpi-jessie.conf
@@ -31,7 +31,4 @@ IMAGE_PREINSTALL += " \
     vim \
     "
 
-KERNEL_IMAGE ?= "vmlinuz-4.9.0-3-rpi"
-INITRD_IMAGE ?= "initrd.img-4.9.0-3-rpi"
-
 ROOTFS_DEV ?= "mmcblk0p2"
diff --git a/meta/classes/ext4-img.bbclass b/meta/classes/ext4-img.bbclass
index 9fa9aa5..277f3f3 100644
--- a/meta/classes/ext4-img.bbclass
+++ b/meta/classes/ext4-img.bbclass
@@ -24,14 +24,6 @@ do_ext4_image() {
     sudo cp -r ${IMAGE_ROOTFS}/* ${WORKDIR}/mnt
     sudo umount ${WORKDIR}/mnt
     rm -r ${WORKDIR}/mnt
-
-    if [ -n "${KERNEL_IMAGE}" ]; then
-        cp ${IMAGE_ROOTFS}/boot/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE}
-    fi
-
-    if [ -n "${INITRD_IMAGE}" ]; then
-        cp ${IMAGE_ROOTFS}/boot/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE}
-    fi
 }
 
 addtask ext4_image before do_build after do_rootfs
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 9ef8bee..5d917622 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -1,9 +1,6 @@
 # This software is a part of ISAR.
 # Copyright (C) 2015-2017 ilbers GmbH
 
-KERNEL_IMAGE ?= ""
-INITRD_IMAGE ?= ""
-
 IMAGE_INSTALL ?= ""
 IMAGE_TYPE    ?= "ext4-img"
 IMAGE_ROOTFS   = "${WORKDIR}/rootfs"
@@ -76,3 +73,23 @@ do_populate() {
 
 addtask populate before do_build
 do_populate[deptask] = "do_deploy_deb"
+
+do_copy_boot_files() {
+    if [ -z "${KERNEL_IMAGE}" ]; then
+        KERNEL_IMAGE=$(readlink ${IMAGE_ROOTFS}/vmlinuz)
+    fi
+
+    if [ -n "${KERNEL_IMAGE}" ]; then
+        cp ${IMAGE_ROOTFS}/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE}
+    fi
+
+    if [ -z "${INITRD_IMAGE}" ]; then
+        INITRD_IMAGE=$(readlink ${IMAGE_ROOTFS}/initrd.img)
+    fi
+
+    if [ -n "${INITRD_IMAGE}" ]; then
+        cp ${IMAGE_ROOTFS}/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE}
+    fi
+}
+
+addtask copy_boot_files before do_build after do_rootfs
-- 
2.9.4


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

* Re: [PATCH 2/2] meta-isar: Rework boot files copying
  2017-10-16 15:59 ` [PATCH 2/2] meta-isar: Rework boot files copying Alexander Smirnov
@ 2017-10-16 16:11   ` Henning Schild
  2017-10-16 16:30     ` Alexander Smirnov
  0 siblings, 1 reply; 7+ messages in thread
From: Henning Schild @ 2017-10-16 16:11 UTC (permalink / raw)
  To: Alexander Smirnov; +Cc: isar-users, Frank Lenormand

On Mon, 16 Oct 2017 18:59:01 +0300
Alexander Smirnov <asmirnov@ilbers.de> wrote:

> Currently there are two variables that contains hardcoded filenames
> with versions for kernel and initrd images. Isar uses them to copy
> these files to deploy directory. Moreover this is performed in ext4
> class, what is logically wrong.
> 
> This patch implements a new way which doesn't rely on hardcoded
> versioned filenames. Also it drops this copying from ext4 class.
> 
> Signed-off-by: Frank Lenormand <lenormf@gmail.com>
> Signed-off-by: Alexander Smirnov <asmirnov@ilbers.de>
> ---
>  meta-isar/conf/multiconfig/qemuamd64-jessie.conf  |  3 ---
>  meta-isar/conf/multiconfig/qemuamd64-stretch.conf |  3 ---
>  meta-isar/conf/multiconfig/qemuarm-jessie.conf    |  3 ---
>  meta-isar/conf/multiconfig/qemuarm-stretch.conf   |  3 ---
>  meta-isar/conf/multiconfig/qemuarm-wheezy.conf    |  3 ---
>  meta-isar/conf/multiconfig/qemui386-jessie.conf   |  3 ---
>  meta-isar/conf/multiconfig/qemui386-stretch.conf  |  3 ---
>  meta-isar/conf/multiconfig/rpi-jessie.conf        |  3 ---
>  meta/classes/ext4-img.bbclass                     |  8 --------
>  meta/classes/image.bbclass                        | 23
> ++++++++++++++++++++--- 10 files changed, 20 insertions(+), 35
> deletions(-)
> 
> diff --git a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
> b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf index
> d9473f3..51d39b6 100644 ---
> a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf +++
> b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf @@ -8,9 +8,6 @@
> DISTRO_ARCH ?= "amd64" 
>  IMAGE_PREINSTALL += "linux-image-amd64"
>  
> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-amd64"
> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-amd64"
> -
>  ROOTFS_DEV ?= "sda"
>  
>  QEMU_ARCH ?= "x86_64"
> diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
> b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf index
> 5ac25d9..c59876a 100644 ---
> a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf +++
> b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf @@ -11,9 +11,6 @@
> IMAGE_PREINSTALL += " \ linux-image-amd64 \
>  "
>  
> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-amd64"
> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-amd64"
> -
>  ROOTFS_DEV ?= "sda"
>  
>  QEMU_ARCH ?= "x86_64"
> diff --git a/meta-isar/conf/multiconfig/qemuarm-jessie.conf
> b/meta-isar/conf/multiconfig/qemuarm-jessie.conf index
> 3dd33f2..ed84c6c 100644 ---
> a/meta-isar/conf/multiconfig/qemuarm-jessie.conf +++
> b/meta-isar/conf/multiconfig/qemuarm-jessie.conf @@ -15,9 +15,6 @@
> DISTRO_ARCH ?= "armhf" 
>  IMAGE_PREINSTALL += "linux-image-armmp"
>  
> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-armmp"
> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-armmp"
> -
>  ROOTFS_DEV ?= "vda"
>  
>  QEMU_ARCH ?= "arm"
> diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf
> b/meta-isar/conf/multiconfig/qemuarm-stretch.conf index
> f3636f6..1cce97a 100644 ---
> a/meta-isar/conf/multiconfig/qemuarm-stretch.conf +++
> b/meta-isar/conf/multiconfig/qemuarm-stretch.conf @@ -11,9 +11,6 @@
> IMAGE_PREINSTALL += " \ linux-image-armmp \
>  "
>  
> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-armmp"
> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-armmp"
> -
>  ROOTFS_DEV ?= "vda"
>  
>  QEMU_ARCH ?= "arm"
> diff --git a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
> b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf index
> 3a23692..38ea191 100644 ---
> a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf +++
> b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf @@ -15,9 +15,6 @@
> DISTRO_ARCH ?= "armhf" 
>  IMAGE_PREINSTALL += "linux-image-vexpress"
>  
> -KERNEL_IMAGE ?= "vmlinuz-3.2.0-4-vexpress"
> -INITRD_IMAGE ?= "initrd.img-3.2.0-4-vexpress"
> -
>  ROOTFS_DEV ?= "mmcblk0"
>  
>  QEMU_ARCH ?= "arm"
> diff --git a/meta-isar/conf/multiconfig/qemui386-jessie.conf
> b/meta-isar/conf/multiconfig/qemui386-jessie.conf index
> 55cb172..d589661 100644 ---
> a/meta-isar/conf/multiconfig/qemui386-jessie.conf +++
> b/meta-isar/conf/multiconfig/qemui386-jessie.conf @@ -8,9 +8,6 @@
> DISTRO_ARCH ?= "i386" 
>  IMAGE_PREINSTALL += "linux-image-686-pae"
>  
> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-686-pae"
> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-686-pae"
> -
>  ROOTFS_DEV ?= "sda"
>  
>  QEMU_ARCH ?= "i386"
> diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf
> b/meta-isar/conf/multiconfig/qemui386-stretch.conf index
> c0285b4..40239e4 100644 ---
> a/meta-isar/conf/multiconfig/qemui386-stretch.conf +++
> b/meta-isar/conf/multiconfig/qemui386-stretch.conf @@ -11,9 +11,6 @@
> IMAGE_PREINSTALL += " \ linux-image-686-pae \
>  "
>  
> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-686-pae"
> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-686-pae"
> -
>  ROOTFS_DEV ?= "sda"
>  
>  QEMU_ARCH ?= "i386"
> diff --git a/meta-isar/conf/multiconfig/rpi-jessie.conf
> b/meta-isar/conf/multiconfig/rpi-jessie.conf index 82b38d2..d1dd9d9
> 100644 --- a/meta-isar/conf/multiconfig/rpi-jessie.conf
> +++ b/meta-isar/conf/multiconfig/rpi-jessie.conf
> @@ -31,7 +31,4 @@ IMAGE_PREINSTALL += " \
>      vim \
>      "
>  
> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-3-rpi"
> -INITRD_IMAGE ?= "initrd.img-4.9.0-3-rpi"
> -
>  ROOTFS_DEV ?= "mmcblk0p2"
> diff --git a/meta/classes/ext4-img.bbclass
> b/meta/classes/ext4-img.bbclass index 9fa9aa5..277f3f3 100644
> --- a/meta/classes/ext4-img.bbclass
> +++ b/meta/classes/ext4-img.bbclass
> @@ -24,14 +24,6 @@ do_ext4_image() {
>      sudo cp -r ${IMAGE_ROOTFS}/* ${WORKDIR}/mnt
>      sudo umount ${WORKDIR}/mnt
>      rm -r ${WORKDIR}/mnt
> -
> -    if [ -n "${KERNEL_IMAGE}" ]; then
> -        cp ${IMAGE_ROOTFS}/boot/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE}
> -    fi
> -
> -    if [ -n "${INITRD_IMAGE}" ]; then
> -        cp ${IMAGE_ROOTFS}/boot/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE}
> -    fi
>  }
>  
>  addtask ext4_image before do_build after do_rootfs
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 9ef8bee..5d917622 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -1,9 +1,6 @@
>  # This software is a part of ISAR.
>  # Copyright (C) 2015-2017 ilbers GmbH
>  
> -KERNEL_IMAGE ?= ""
> -INITRD_IMAGE ?= ""
> -
>  IMAGE_INSTALL ?= ""
>  IMAGE_TYPE    ?= "ext4-img"
>  IMAGE_ROOTFS   = "${WORKDIR}/rootfs"
> @@ -76,3 +73,23 @@ do_populate() {
>  
>  addtask populate before do_build
>  do_populate[deptask] = "do_deploy_deb"
> +
> +do_copy_boot_files() {
> +    if [ -z "${KERNEL_IMAGE}" ]; then
> +        KERNEL_IMAGE=$(readlink ${IMAGE_ROOTFS}/vmlinuz)

readlink -e in case it is no symlink or a chain of links, debian
packages do not do that but custom kernels could behave differently

Henning

> +    fi
> +
> +    if [ -n "${KERNEL_IMAGE}" ]; then
> +        cp ${IMAGE_ROOTFS}/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE}
> +    fi
> +
> +    if [ -z "${INITRD_IMAGE}" ]; then
> +        INITRD_IMAGE=$(readlink ${IMAGE_ROOTFS}/initrd.img)
> +    fi
> +
> +    if [ -n "${INITRD_IMAGE}" ]; then
> +        cp ${IMAGE_ROOTFS}/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE}
> +    fi
> +}
> +
> +addtask copy_boot_files before do_build after do_rootfs


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

* Re: [PATCH 2/2] meta-isar: Rework boot files copying
  2017-10-16 16:11   ` Henning Schild
@ 2017-10-16 16:30     ` Alexander Smirnov
  2017-10-17 16:08       ` Henning Schild
  0 siblings, 1 reply; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-16 16:30 UTC (permalink / raw)
  To: Henning Schild; +Cc: isar-users, Frank Lenormand



On 10/16/2017 07:11 PM, Henning Schild wrote:
> On Mon, 16 Oct 2017 18:59:01 +0300
> Alexander Smirnov <asmirnov@ilbers.de> wrote:
> 
>> Currently there are two variables that contains hardcoded filenames
>> with versions for kernel and initrd images. Isar uses them to copy
>> these files to deploy directory. Moreover this is performed in ext4
>> class, what is logically wrong.
>>
>> This patch implements a new way which doesn't rely on hardcoded
>> versioned filenames. Also it drops this copying from ext4 class.
>>
>> Signed-off-by: Frank Lenormand <lenormf@gmail.com>
>> Signed-off-by: Alexander Smirnov <asmirnov@ilbers.de>
>> ---
>>   meta-isar/conf/multiconfig/qemuamd64-jessie.conf  |  3 ---
>>   meta-isar/conf/multiconfig/qemuamd64-stretch.conf |  3 ---
>>   meta-isar/conf/multiconfig/qemuarm-jessie.conf    |  3 ---
>>   meta-isar/conf/multiconfig/qemuarm-stretch.conf   |  3 ---
>>   meta-isar/conf/multiconfig/qemuarm-wheezy.conf    |  3 ---
>>   meta-isar/conf/multiconfig/qemui386-jessie.conf   |  3 ---
>>   meta-isar/conf/multiconfig/qemui386-stretch.conf  |  3 ---
>>   meta-isar/conf/multiconfig/rpi-jessie.conf        |  3 ---
>>   meta/classes/ext4-img.bbclass                     |  8 --------
>>   meta/classes/image.bbclass                        | 23
>> ++++++++++++++++++++--- 10 files changed, 20 insertions(+), 35
>> deletions(-)
>>
>> diff --git a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
>> b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf index
>> d9473f3..51d39b6 100644 ---
>> a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf +++
>> b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf @@ -8,9 +8,6 @@
>> DISTRO_ARCH ?= "amd64"
>>   IMAGE_PREINSTALL += "linux-image-amd64"
>>   
>> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-amd64"
>> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-amd64"
>> -
>>   ROOTFS_DEV ?= "sda"
>>   
>>   QEMU_ARCH ?= "x86_64"
>> diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
>> b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf index
>> 5ac25d9..c59876a 100644 ---
>> a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf +++
>> b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf @@ -11,9 +11,6 @@
>> IMAGE_PREINSTALL += " \ linux-image-amd64 \
>>   "
>>   
>> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-amd64"
>> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-amd64"
>> -
>>   ROOTFS_DEV ?= "sda"
>>   
>>   QEMU_ARCH ?= "x86_64"
>> diff --git a/meta-isar/conf/multiconfig/qemuarm-jessie.conf
>> b/meta-isar/conf/multiconfig/qemuarm-jessie.conf index
>> 3dd33f2..ed84c6c 100644 ---
>> a/meta-isar/conf/multiconfig/qemuarm-jessie.conf +++
>> b/meta-isar/conf/multiconfig/qemuarm-jessie.conf @@ -15,9 +15,6 @@
>> DISTRO_ARCH ?= "armhf"
>>   IMAGE_PREINSTALL += "linux-image-armmp"
>>   
>> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-armmp"
>> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-armmp"
>> -
>>   ROOTFS_DEV ?= "vda"
>>   
>>   QEMU_ARCH ?= "arm"
>> diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf
>> b/meta-isar/conf/multiconfig/qemuarm-stretch.conf index
>> f3636f6..1cce97a 100644 ---
>> a/meta-isar/conf/multiconfig/qemuarm-stretch.conf +++
>> b/meta-isar/conf/multiconfig/qemuarm-stretch.conf @@ -11,9 +11,6 @@
>> IMAGE_PREINSTALL += " \ linux-image-armmp \
>>   "
>>   
>> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-armmp"
>> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-armmp"
>> -
>>   ROOTFS_DEV ?= "vda"
>>   
>>   QEMU_ARCH ?= "arm"
>> diff --git a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
>> b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf index
>> 3a23692..38ea191 100644 ---
>> a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf +++
>> b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf @@ -15,9 +15,6 @@
>> DISTRO_ARCH ?= "armhf"
>>   IMAGE_PREINSTALL += "linux-image-vexpress"
>>   
>> -KERNEL_IMAGE ?= "vmlinuz-3.2.0-4-vexpress"
>> -INITRD_IMAGE ?= "initrd.img-3.2.0-4-vexpress"
>> -
>>   ROOTFS_DEV ?= "mmcblk0"
>>   
>>   QEMU_ARCH ?= "arm"
>> diff --git a/meta-isar/conf/multiconfig/qemui386-jessie.conf
>> b/meta-isar/conf/multiconfig/qemui386-jessie.conf index
>> 55cb172..d589661 100644 ---
>> a/meta-isar/conf/multiconfig/qemui386-jessie.conf +++
>> b/meta-isar/conf/multiconfig/qemui386-jessie.conf @@ -8,9 +8,6 @@
>> DISTRO_ARCH ?= "i386"
>>   IMAGE_PREINSTALL += "linux-image-686-pae"
>>   
>> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-686-pae"
>> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-686-pae"
>> -
>>   ROOTFS_DEV ?= "sda"
>>   
>>   QEMU_ARCH ?= "i386"
>> diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf
>> b/meta-isar/conf/multiconfig/qemui386-stretch.conf index
>> c0285b4..40239e4 100644 ---
>> a/meta-isar/conf/multiconfig/qemui386-stretch.conf +++
>> b/meta-isar/conf/multiconfig/qemui386-stretch.conf @@ -11,9 +11,6 @@
>> IMAGE_PREINSTALL += " \ linux-image-686-pae \
>>   "
>>   
>> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-686-pae"
>> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-686-pae"
>> -
>>   ROOTFS_DEV ?= "sda"
>>   
>>   QEMU_ARCH ?= "i386"
>> diff --git a/meta-isar/conf/multiconfig/rpi-jessie.conf
>> b/meta-isar/conf/multiconfig/rpi-jessie.conf index 82b38d2..d1dd9d9
>> 100644 --- a/meta-isar/conf/multiconfig/rpi-jessie.conf
>> +++ b/meta-isar/conf/multiconfig/rpi-jessie.conf
>> @@ -31,7 +31,4 @@ IMAGE_PREINSTALL += " \
>>       vim \
>>       "
>>   
>> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-3-rpi"
>> -INITRD_IMAGE ?= "initrd.img-4.9.0-3-rpi"
>> -
>>   ROOTFS_DEV ?= "mmcblk0p2"
>> diff --git a/meta/classes/ext4-img.bbclass
>> b/meta/classes/ext4-img.bbclass index 9fa9aa5..277f3f3 100644
>> --- a/meta/classes/ext4-img.bbclass
>> +++ b/meta/classes/ext4-img.bbclass
>> @@ -24,14 +24,6 @@ do_ext4_image() {
>>       sudo cp -r ${IMAGE_ROOTFS}/* ${WORKDIR}/mnt
>>       sudo umount ${WORKDIR}/mnt
>>       rm -r ${WORKDIR}/mnt
>> -
>> -    if [ -n "${KERNEL_IMAGE}" ]; then
>> -        cp ${IMAGE_ROOTFS}/boot/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE}
>> -    fi
>> -
>> -    if [ -n "${INITRD_IMAGE}" ]; then
>> -        cp ${IMAGE_ROOTFS}/boot/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE}
>> -    fi
>>   }
>>   
>>   addtask ext4_image before do_build after do_rootfs
>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>> index 9ef8bee..5d917622 100644
>> --- a/meta/classes/image.bbclass
>> +++ b/meta/classes/image.bbclass
>> @@ -1,9 +1,6 @@
>>   # This software is a part of ISAR.
>>   # Copyright (C) 2015-2017 ilbers GmbH
>>   
>> -KERNEL_IMAGE ?= ""
>> -INITRD_IMAGE ?= ""
>> -
>>   IMAGE_INSTALL ?= ""
>>   IMAGE_TYPE    ?= "ext4-img"
>>   IMAGE_ROOTFS   = "${WORKDIR}/rootfs"
>> @@ -76,3 +73,23 @@ do_populate() {
>>   
>>   addtask populate before do_build
>>   do_populate[deptask] = "do_deploy_deb"
>> +
>> +do_copy_boot_files() {
>> +    if [ -z "${KERNEL_IMAGE}" ]; then
>> +        KERNEL_IMAGE=$(readlink ${IMAGE_ROOTFS}/vmlinuz)
> 
> readlink -e in case it is no symlink or a chain of links, debian
> packages do not do that but custom kernels could behave differently
> 

For custom kernels, if you don't follow debian style, you could define 
KERNEL_IMAGE and INITRD_IMAGE in your local config (like it was before). 
This function doesn't touch these variables if they are already defined. 
So I assume that if they aren't defined - the pure debian is used.

I'd suggest to rely on debian style for default cases, this will help to 
avoid defining of custom policies without real use-cases. If eventually 
we will find out, that for some specific case the default policy doesn't 
work, then we could define new custom one.

Alex

> Henning
> 
>> +    fi
>> +
>> +    if [ -n "${KERNEL_IMAGE}" ]; then
>> +        cp ${IMAGE_ROOTFS}/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE}
>> +    fi
>> +
>> +    if [ -z "${INITRD_IMAGE}" ]; then
>> +        INITRD_IMAGE=$(readlink ${IMAGE_ROOTFS}/initrd.img)
>> +    fi
>> +
>> +    if [ -n "${INITRD_IMAGE}" ]; then
>> +        cp ${IMAGE_ROOTFS}/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE}
>> +    fi
>> +}
>> +
>> +addtask copy_boot_files before do_build after do_rootfs
> 

-- 
With best regards,
Alexander Smirnov

ilbers GmbH
Baierbrunner Str. 28c
D-81379 Munich
+49 (89) 122 67 24-0
http://ilbers.de/
Commercial register Munich, HRB 214197
General manager: Baurzhan Ismagulov

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

* Re: [PATCH 2/2] meta-isar: Rework boot files copying
  2017-10-16 16:30     ` Alexander Smirnov
@ 2017-10-17 16:08       ` Henning Schild
  2017-10-17 18:24         ` Alexander Smirnov
  0 siblings, 1 reply; 7+ messages in thread
From: Henning Schild @ 2017-10-17 16:08 UTC (permalink / raw)
  To: Alexander Smirnov; +Cc: isar-users, Frank Lenormand

On Mon, 16 Oct 2017 19:30:21 +0300
Alexander Smirnov <asmirnov@ilbers.de> wrote:

> On 10/16/2017 07:11 PM, Henning Schild wrote:
> > On Mon, 16 Oct 2017 18:59:01 +0300
> > Alexander Smirnov <asmirnov@ilbers.de> wrote:
> >   
> >> Currently there are two variables that contains hardcoded filenames
> >> with versions for kernel and initrd images. Isar uses them to copy
> >> these files to deploy directory. Moreover this is performed in ext4
> >> class, what is logically wrong.
> >>
> >> This patch implements a new way which doesn't rely on hardcoded
> >> versioned filenames. Also it drops this copying from ext4 class.
> >>
> >> Signed-off-by: Frank Lenormand <lenormf@gmail.com>
> >> Signed-off-by: Alexander Smirnov <asmirnov@ilbers.de>
> >> ---
> >>   meta-isar/conf/multiconfig/qemuamd64-jessie.conf  |  3 ---
> >>   meta-isar/conf/multiconfig/qemuamd64-stretch.conf |  3 ---
> >>   meta-isar/conf/multiconfig/qemuarm-jessie.conf    |  3 ---
> >>   meta-isar/conf/multiconfig/qemuarm-stretch.conf   |  3 ---
> >>   meta-isar/conf/multiconfig/qemuarm-wheezy.conf    |  3 ---
> >>   meta-isar/conf/multiconfig/qemui386-jessie.conf   |  3 ---
> >>   meta-isar/conf/multiconfig/qemui386-stretch.conf  |  3 ---
> >>   meta-isar/conf/multiconfig/rpi-jessie.conf        |  3 ---
> >>   meta/classes/ext4-img.bbclass                     |  8 --------
> >>   meta/classes/image.bbclass                        | 23
> >> ++++++++++++++++++++--- 10 files changed, 20 insertions(+), 35
> >> deletions(-)
> >>
> >> diff --git a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
> >> b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf index
> >> d9473f3..51d39b6 100644 ---
> >> a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf +++
> >> b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf @@ -8,9 +8,6 @@
> >> DISTRO_ARCH ?= "amd64"
> >>   IMAGE_PREINSTALL += "linux-image-amd64"
> >>   
> >> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-amd64"
> >> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-amd64"
> >> -
> >>   ROOTFS_DEV ?= "sda"
> >>   
> >>   QEMU_ARCH ?= "x86_64"
> >> diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
> >> b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf index
> >> 5ac25d9..c59876a 100644 ---
> >> a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf +++
> >> b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf @@ -11,9 +11,6
> >> @@ IMAGE_PREINSTALL += " \ linux-image-amd64 \
> >>   "
> >>   
> >> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-amd64"
> >> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-amd64"
> >> -
> >>   ROOTFS_DEV ?= "sda"
> >>   
> >>   QEMU_ARCH ?= "x86_64"
> >> diff --git a/meta-isar/conf/multiconfig/qemuarm-jessie.conf
> >> b/meta-isar/conf/multiconfig/qemuarm-jessie.conf index
> >> 3dd33f2..ed84c6c 100644 ---
> >> a/meta-isar/conf/multiconfig/qemuarm-jessie.conf +++
> >> b/meta-isar/conf/multiconfig/qemuarm-jessie.conf @@ -15,9 +15,6 @@
> >> DISTRO_ARCH ?= "armhf"
> >>   IMAGE_PREINSTALL += "linux-image-armmp"
> >>   
> >> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-armmp"
> >> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-armmp"
> >> -
> >>   ROOTFS_DEV ?= "vda"
> >>   
> >>   QEMU_ARCH ?= "arm"
> >> diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf
> >> b/meta-isar/conf/multiconfig/qemuarm-stretch.conf index
> >> f3636f6..1cce97a 100644 ---
> >> a/meta-isar/conf/multiconfig/qemuarm-stretch.conf +++
> >> b/meta-isar/conf/multiconfig/qemuarm-stretch.conf @@ -11,9 +11,6 @@
> >> IMAGE_PREINSTALL += " \ linux-image-armmp \
> >>   "
> >>   
> >> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-armmp"
> >> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-armmp"
> >> -
> >>   ROOTFS_DEV ?= "vda"
> >>   
> >>   QEMU_ARCH ?= "arm"
> >> diff --git a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
> >> b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf index
> >> 3a23692..38ea191 100644 ---
> >> a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf +++
> >> b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf @@ -15,9 +15,6 @@
> >> DISTRO_ARCH ?= "armhf"
> >>   IMAGE_PREINSTALL += "linux-image-vexpress"
> >>   
> >> -KERNEL_IMAGE ?= "vmlinuz-3.2.0-4-vexpress"
> >> -INITRD_IMAGE ?= "initrd.img-3.2.0-4-vexpress"
> >> -
> >>   ROOTFS_DEV ?= "mmcblk0"
> >>   
> >>   QEMU_ARCH ?= "arm"
> >> diff --git a/meta-isar/conf/multiconfig/qemui386-jessie.conf
> >> b/meta-isar/conf/multiconfig/qemui386-jessie.conf index
> >> 55cb172..d589661 100644 ---
> >> a/meta-isar/conf/multiconfig/qemui386-jessie.conf +++
> >> b/meta-isar/conf/multiconfig/qemui386-jessie.conf @@ -8,9 +8,6 @@
> >> DISTRO_ARCH ?= "i386"
> >>   IMAGE_PREINSTALL += "linux-image-686-pae"
> >>   
> >> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-686-pae"
> >> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-686-pae"
> >> -
> >>   ROOTFS_DEV ?= "sda"
> >>   
> >>   QEMU_ARCH ?= "i386"
> >> diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf
> >> b/meta-isar/conf/multiconfig/qemui386-stretch.conf index
> >> c0285b4..40239e4 100644 ---
> >> a/meta-isar/conf/multiconfig/qemui386-stretch.conf +++
> >> b/meta-isar/conf/multiconfig/qemui386-stretch.conf @@ -11,9 +11,6
> >> @@ IMAGE_PREINSTALL += " \ linux-image-686-pae \
> >>   "
> >>   
> >> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-686-pae"
> >> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-686-pae"
> >> -
> >>   ROOTFS_DEV ?= "sda"
> >>   
> >>   QEMU_ARCH ?= "i386"
> >> diff --git a/meta-isar/conf/multiconfig/rpi-jessie.conf
> >> b/meta-isar/conf/multiconfig/rpi-jessie.conf index 82b38d2..d1dd9d9
> >> 100644 --- a/meta-isar/conf/multiconfig/rpi-jessie.conf
> >> +++ b/meta-isar/conf/multiconfig/rpi-jessie.conf
> >> @@ -31,7 +31,4 @@ IMAGE_PREINSTALL += " \
> >>       vim \
> >>       "
> >>   
> >> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-3-rpi"
> >> -INITRD_IMAGE ?= "initrd.img-4.9.0-3-rpi"
> >> -
> >>   ROOTFS_DEV ?= "mmcblk0p2"
> >> diff --git a/meta/classes/ext4-img.bbclass
> >> b/meta/classes/ext4-img.bbclass index 9fa9aa5..277f3f3 100644
> >> --- a/meta/classes/ext4-img.bbclass
> >> +++ b/meta/classes/ext4-img.bbclass
> >> @@ -24,14 +24,6 @@ do_ext4_image() {
> >>       sudo cp -r ${IMAGE_ROOTFS}/* ${WORKDIR}/mnt
> >>       sudo umount ${WORKDIR}/mnt
> >>       rm -r ${WORKDIR}/mnt
> >> -
> >> -    if [ -n "${KERNEL_IMAGE}" ]; then
> >> -        cp ${IMAGE_ROOTFS}/boot/${KERNEL_IMAGE}
> >> ${DEPLOY_DIR_IMAGE}
> >> -    fi
> >> -
> >> -    if [ -n "${INITRD_IMAGE}" ]; then
> >> -        cp ${IMAGE_ROOTFS}/boot/${INITRD_IMAGE}
> >> ${DEPLOY_DIR_IMAGE}
> >> -    fi
> >>   }
> >>   
> >>   addtask ext4_image before do_build after do_rootfs
> >> diff --git a/meta/classes/image.bbclass
> >> b/meta/classes/image.bbclass index 9ef8bee..5d917622 100644
> >> --- a/meta/classes/image.bbclass
> >> +++ b/meta/classes/image.bbclass
> >> @@ -1,9 +1,6 @@
> >>   # This software is a part of ISAR.
> >>   # Copyright (C) 2015-2017 ilbers GmbH
> >>   
> >> -KERNEL_IMAGE ?= ""
> >> -INITRD_IMAGE ?= ""
> >> -
> >>   IMAGE_INSTALL ?= ""
> >>   IMAGE_TYPE    ?= "ext4-img"
> >>   IMAGE_ROOTFS   = "${WORKDIR}/rootfs"
> >> @@ -76,3 +73,23 @@ do_populate() {
> >>   
> >>   addtask populate before do_build
> >>   do_populate[deptask] = "do_deploy_deb"
> >> +
> >> +do_copy_boot_files() {
> >> +    if [ -z "${KERNEL_IMAGE}" ]; then
> >> +        KERNEL_IMAGE=$(readlink ${IMAGE_ROOTFS}/vmlinuz)  
> > 
> > readlink -e in case it is no symlink or a chain of links, debian
> > packages do not do that but custom kernels could behave differently
> >   
> 
> For custom kernels, if you don't follow debian style, you could
> define KERNEL_IMAGE and INITRD_IMAGE in your local config (like it
> was before). This function doesn't touch these variables if they are
> already defined. So I assume that if they aren't defined - the pure
> debian is used.
> 
> I'd suggest to rely on debian style for default cases, this will help
> to avoid defining of custom policies without real use-cases. If
> eventually we will find out, that for some specific case the default
> policy doesn't work, then we could define new custom one.

Sure, as long as you are absolutely sure that these files will always
be symlinks and there will never be a symlink chain. I would not rely
on that and just add the "-e" it does not do any harm.

Henning

> Alex
> 
> > Henning
> >   
> >> +    fi
> >> +
> >> +    if [ -n "${KERNEL_IMAGE}" ]; then
> >> +        cp ${IMAGE_ROOTFS}/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE}
> >> +    fi
> >> +
> >> +    if [ -z "${INITRD_IMAGE}" ]; then
> >> +        INITRD_IMAGE=$(readlink ${IMAGE_ROOTFS}/initrd.img)
> >> +    fi
> >> +
> >> +    if [ -n "${INITRD_IMAGE}" ]; then
> >> +        cp ${IMAGE_ROOTFS}/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE}
> >> +    fi
> >> +}
> >> +
> >> +addtask copy_boot_files before do_build after do_rootfs  
> >   
> 


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

* Re: [PATCH 2/2] meta-isar: Rework boot files copying
  2017-10-17 16:08       ` Henning Schild
@ 2017-10-17 18:24         ` Alexander Smirnov
  0 siblings, 0 replies; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-17 18:24 UTC (permalink / raw)
  To: Henning Schild; +Cc: isar-users



On 10/17/2017 07:08 PM, Henning Schild wrote:
> On Mon, 16 Oct 2017 19:30:21 +0300
> Alexander Smirnov <asmirnov@ilbers.de> wrote:
> 
>> On 10/16/2017 07:11 PM, Henning Schild wrote:
>>> On Mon, 16 Oct 2017 18:59:01 +0300
>>> Alexander Smirnov <asmirnov@ilbers.de> wrote:
>>>    
>>>> Currently there are two variables that contains hardcoded filenames
>>>> with versions for kernel and initrd images. Isar uses them to copy
>>>> these files to deploy directory. Moreover this is performed in ext4
>>>> class, what is logically wrong.
>>>>
>>>> This patch implements a new way which doesn't rely on hardcoded
>>>> versioned filenames. Also it drops this copying from ext4 class.
>>>>
>>>> Signed-off-by: Frank Lenormand <lenormf@gmail.com>
>>>> Signed-off-by: Alexander Smirnov <asmirnov@ilbers.de>
>>>> ---
>>>>    meta-isar/conf/multiconfig/qemuamd64-jessie.conf  |  3 ---
>>>>    meta-isar/conf/multiconfig/qemuamd64-stretch.conf |  3 ---
>>>>    meta-isar/conf/multiconfig/qemuarm-jessie.conf    |  3 ---
>>>>    meta-isar/conf/multiconfig/qemuarm-stretch.conf   |  3 ---
>>>>    meta-isar/conf/multiconfig/qemuarm-wheezy.conf    |  3 ---
>>>>    meta-isar/conf/multiconfig/qemui386-jessie.conf   |  3 ---
>>>>    meta-isar/conf/multiconfig/qemui386-stretch.conf  |  3 ---
>>>>    meta-isar/conf/multiconfig/rpi-jessie.conf        |  3 ---
>>>>    meta/classes/ext4-img.bbclass                     |  8 --------
>>>>    meta/classes/image.bbclass                        | 23
>>>> ++++++++++++++++++++--- 10 files changed, 20 insertions(+), 35
>>>> deletions(-)
>>>>
>>>> diff --git a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf
>>>> b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf index
>>>> d9473f3..51d39b6 100644 ---
>>>> a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf +++
>>>> b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf @@ -8,9 +8,6 @@
>>>> DISTRO_ARCH ?= "amd64"
>>>>    IMAGE_PREINSTALL += "linux-image-amd64"
>>>>    
>>>> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-amd64"
>>>> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-amd64"
>>>> -
>>>>    ROOTFS_DEV ?= "sda"
>>>>    
>>>>    QEMU_ARCH ?= "x86_64"
>>>> diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf
>>>> b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf index
>>>> 5ac25d9..c59876a 100644 ---
>>>> a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf +++
>>>> b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf @@ -11,9 +11,6
>>>> @@ IMAGE_PREINSTALL += " \ linux-image-amd64 \
>>>>    "
>>>>    
>>>> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-amd64"
>>>> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-amd64"
>>>> -
>>>>    ROOTFS_DEV ?= "sda"
>>>>    
>>>>    QEMU_ARCH ?= "x86_64"
>>>> diff --git a/meta-isar/conf/multiconfig/qemuarm-jessie.conf
>>>> b/meta-isar/conf/multiconfig/qemuarm-jessie.conf index
>>>> 3dd33f2..ed84c6c 100644 ---
>>>> a/meta-isar/conf/multiconfig/qemuarm-jessie.conf +++
>>>> b/meta-isar/conf/multiconfig/qemuarm-jessie.conf @@ -15,9 +15,6 @@
>>>> DISTRO_ARCH ?= "armhf"
>>>>    IMAGE_PREINSTALL += "linux-image-armmp"
>>>>    
>>>> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-armmp"
>>>> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-armmp"
>>>> -
>>>>    ROOTFS_DEV ?= "vda"
>>>>    
>>>>    QEMU_ARCH ?= "arm"
>>>> diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf
>>>> b/meta-isar/conf/multiconfig/qemuarm-stretch.conf index
>>>> f3636f6..1cce97a 100644 ---
>>>> a/meta-isar/conf/multiconfig/qemuarm-stretch.conf +++
>>>> b/meta-isar/conf/multiconfig/qemuarm-stretch.conf @@ -11,9 +11,6 @@
>>>> IMAGE_PREINSTALL += " \ linux-image-armmp \
>>>>    "
>>>>    
>>>> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-armmp"
>>>> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-armmp"
>>>> -
>>>>    ROOTFS_DEV ?= "vda"
>>>>    
>>>>    QEMU_ARCH ?= "arm"
>>>> diff --git a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf
>>>> b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf index
>>>> 3a23692..38ea191 100644 ---
>>>> a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf +++
>>>> b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf @@ -15,9 +15,6 @@
>>>> DISTRO_ARCH ?= "armhf"
>>>>    IMAGE_PREINSTALL += "linux-image-vexpress"
>>>>    
>>>> -KERNEL_IMAGE ?= "vmlinuz-3.2.0-4-vexpress"
>>>> -INITRD_IMAGE ?= "initrd.img-3.2.0-4-vexpress"
>>>> -
>>>>    ROOTFS_DEV ?= "mmcblk0"
>>>>    
>>>>    QEMU_ARCH ?= "arm"
>>>> diff --git a/meta-isar/conf/multiconfig/qemui386-jessie.conf
>>>> b/meta-isar/conf/multiconfig/qemui386-jessie.conf index
>>>> 55cb172..d589661 100644 ---
>>>> a/meta-isar/conf/multiconfig/qemui386-jessie.conf +++
>>>> b/meta-isar/conf/multiconfig/qemui386-jessie.conf @@ -8,9 +8,6 @@
>>>> DISTRO_ARCH ?= "i386"
>>>>    IMAGE_PREINSTALL += "linux-image-686-pae"
>>>>    
>>>> -KERNEL_IMAGE ?= "vmlinuz-3.16.0-4-686-pae"
>>>> -INITRD_IMAGE ?= "initrd.img-3.16.0-4-686-pae"
>>>> -
>>>>    ROOTFS_DEV ?= "sda"
>>>>    
>>>>    QEMU_ARCH ?= "i386"
>>>> diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf
>>>> b/meta-isar/conf/multiconfig/qemui386-stretch.conf index
>>>> c0285b4..40239e4 100644 ---
>>>> a/meta-isar/conf/multiconfig/qemui386-stretch.conf +++
>>>> b/meta-isar/conf/multiconfig/qemui386-stretch.conf @@ -11,9 +11,6
>>>> @@ IMAGE_PREINSTALL += " \ linux-image-686-pae \
>>>>    "
>>>>    
>>>> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-4-686-pae"
>>>> -INITRD_IMAGE ?= "initrd.img-4.9.0-4-686-pae"
>>>> -
>>>>    ROOTFS_DEV ?= "sda"
>>>>    
>>>>    QEMU_ARCH ?= "i386"
>>>> diff --git a/meta-isar/conf/multiconfig/rpi-jessie.conf
>>>> b/meta-isar/conf/multiconfig/rpi-jessie.conf index 82b38d2..d1dd9d9
>>>> 100644 --- a/meta-isar/conf/multiconfig/rpi-jessie.conf
>>>> +++ b/meta-isar/conf/multiconfig/rpi-jessie.conf
>>>> @@ -31,7 +31,4 @@ IMAGE_PREINSTALL += " \
>>>>        vim \
>>>>        "
>>>>    
>>>> -KERNEL_IMAGE ?= "vmlinuz-4.9.0-3-rpi"
>>>> -INITRD_IMAGE ?= "initrd.img-4.9.0-3-rpi"
>>>> -
>>>>    ROOTFS_DEV ?= "mmcblk0p2"
>>>> diff --git a/meta/classes/ext4-img.bbclass
>>>> b/meta/classes/ext4-img.bbclass index 9fa9aa5..277f3f3 100644
>>>> --- a/meta/classes/ext4-img.bbclass
>>>> +++ b/meta/classes/ext4-img.bbclass
>>>> @@ -24,14 +24,6 @@ do_ext4_image() {
>>>>        sudo cp -r ${IMAGE_ROOTFS}/* ${WORKDIR}/mnt
>>>>        sudo umount ${WORKDIR}/mnt
>>>>        rm -r ${WORKDIR}/mnt
>>>> -
>>>> -    if [ -n "${KERNEL_IMAGE}" ]; then
>>>> -        cp ${IMAGE_ROOTFS}/boot/${KERNEL_IMAGE}
>>>> ${DEPLOY_DIR_IMAGE}
>>>> -    fi
>>>> -
>>>> -    if [ -n "${INITRD_IMAGE}" ]; then
>>>> -        cp ${IMAGE_ROOTFS}/boot/${INITRD_IMAGE}
>>>> ${DEPLOY_DIR_IMAGE}
>>>> -    fi
>>>>    }
>>>>    
>>>>    addtask ext4_image before do_build after do_rootfs
>>>> diff --git a/meta/classes/image.bbclass
>>>> b/meta/classes/image.bbclass index 9ef8bee..5d917622 100644
>>>> --- a/meta/classes/image.bbclass
>>>> +++ b/meta/classes/image.bbclass
>>>> @@ -1,9 +1,6 @@
>>>>    # This software is a part of ISAR.
>>>>    # Copyright (C) 2015-2017 ilbers GmbH
>>>>    
>>>> -KERNEL_IMAGE ?= ""
>>>> -INITRD_IMAGE ?= ""
>>>> -
>>>>    IMAGE_INSTALL ?= ""
>>>>    IMAGE_TYPE    ?= "ext4-img"
>>>>    IMAGE_ROOTFS   = "${WORKDIR}/rootfs"
>>>> @@ -76,3 +73,23 @@ do_populate() {
>>>>    
>>>>    addtask populate before do_build
>>>>    do_populate[deptask] = "do_deploy_deb"
>>>> +
>>>> +do_copy_boot_files() {
>>>> +    if [ -z "${KERNEL_IMAGE}" ]; then
>>>> +        KERNEL_IMAGE=$(readlink ${IMAGE_ROOTFS}/vmlinuz)
>>>
>>> readlink -e in case it is no symlink or a chain of links, debian
>>> packages do not do that but custom kernels could behave differently
>>>    
>>
>> For custom kernels, if you don't follow debian style, you could
>> define KERNEL_IMAGE and INITRD_IMAGE in your local config (like it
>> was before). This function doesn't touch these variables if they are
>> already defined. So I assume that if they aren't defined - the pure
>> debian is used.
>>
>> I'd suggest to rely on debian style for default cases, this will help
>> to avoid defining of custom policies without real use-cases. If
>> eventually we will find out, that for some specific case the default
>> policy doesn't work, then we could define new custom one.
> 
> Sure, as long as you are absolutely sure that these files will always
> be symlinks and there will never be a symlink chain. I would not rely
> on that and just add the "-e" it does not do any harm.
> 

Tried to test with '-e' parameter and got the following for Raspbian:

asmirnov@zbook:~/Work/isar/isar/build$ readlink -e 
/home/asmirnov/Work/isar/isar/build/tmp/work/debian-jessie-armhf/isar-image-base/rootfs/initrd.img 


asmirnov@zbook:~/Work/isar/isar/build$ readlink 
/home/asmirnov/Work/isar/isar/build/tmp/work/debian-jessie-armhf/isar-image-base/rootfs/initrd.img 

/boot/initrd.img-3.16.0-4-armm

Alex

>>>    
>>>> +    fi
>>>> +
>>>> +    if [ -n "${KERNEL_IMAGE}" ]; then
>>>> +        cp ${IMAGE_ROOTFS}/${KERNEL_IMAGE} ${DEPLOY_DIR_IMAGE}
>>>> +    fi
>>>> +
>>>> +    if [ -z "${INITRD_IMAGE}" ]; then
>>>> +        INITRD_IMAGE=$(readlink ${IMAGE_ROOTFS}/initrd.img)
>>>> +    fi
>>>> +
>>>> +    if [ -n "${INITRD_IMAGE}" ]; then
>>>> +        cp ${IMAGE_ROOTFS}/${INITRD_IMAGE} ${DEPLOY_DIR_IMAGE}
>>>> +    fi
>>>> +}
>>>> +
>>>> +addtask copy_boot_files before do_build after do_rootfs
>>>    
>>
> 

-- 
With best regards,
Alexander Smirnov

ilbers GmbH
Baierbrunner Str. 28c
D-81379 Munich
+49 (89) 122 67 24-0
http://ilbers.de/
Commercial register Munich, HRB 214197
General manager: Baurzhan Ismagulov

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

end of thread, other threads:[~2017-10-17 18:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-16 15:58 [PATCH 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
2017-10-16 15:59 ` [PATCH 1/2] meta-isar: Drop hardcoded kernel versions Alexander Smirnov
2017-10-16 15:59 ` [PATCH 2/2] meta-isar: Rework boot files copying Alexander Smirnov
2017-10-16 16:11   ` Henning Schild
2017-10-16 16:30     ` Alexander Smirnov
2017-10-17 16:08       ` Henning Schild
2017-10-17 18:24         ` Alexander Smirnov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox