public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions
@ 2017-10-18 10:13 Alexander Smirnov
  2017-10-18 10:13 ` [[URGENT][PATCH v3 1/2] meta-isar: Drop hardcoded kernel versions Alexander Smirnov
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-18 10:13 UTC (permalink / raw)
  To: isar-users; +Cc: Alexander Smirnov

Hello all,

IMPORTANT: lets try to review this series ASAP, becuase Isar build is
broken again due to recent update of Raspbian kernel version in apt.
Instead of yet-another-version update I'd like to commit proper
solution.

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.

Changes since v2:
 - Avoid races in 'deploy/images' folder creation.

Changes since v1:
 - Differentiate 'do_copy_boot_files' stamps.
 - Update start_vm script accordingly.
 - Check if symlinks 'vmlinuz' and 'initrd.img' exist before reading
   them. If symlink doesn't exist, this function skips it.

With best regards,
Alex


*** BLURB HERE ***

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                        | 24 ++++++++++++++++++++---
 scripts/start_vm                                  |  8 ++++++--
 11 files changed, 34 insertions(+), 44 deletions(-)

-- 
2.9.4


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

* [[URGENT][PATCH v3 1/2] meta-isar: Drop hardcoded kernel versions
  2017-10-18 10:13 [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
@ 2017-10-18 10:13 ` Alexander Smirnov
  2017-10-18 10:13 ` [[URGENT][PATCH v3 2/2] meta-isar: Rework boot files copying Alexander Smirnov
  2017-10-18 12:08 ` [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
  2 siblings, 0 replies; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-18 10:13 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

* [[URGENT][PATCH v3 2/2] meta-isar: Rework boot files copying
  2017-10-18 10:13 [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
  2017-10-18 10:13 ` [[URGENT][PATCH v3 1/2] meta-isar: Drop hardcoded kernel versions Alexander Smirnov
@ 2017-10-18 10:13 ` Alexander Smirnov
  2017-10-18 12:08 ` [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
  2 siblings, 0 replies; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-18 10:13 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                     | 14 ++-----------
 meta/classes/image.bbclass                        | 25 ++++++++++++++++++++---
 scripts/start_vm                                  |  8 ++++++--
 11 files changed, 30 insertions(+), 41 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..18a74ca 100644
--- a/meta/classes/ext4-img.bbclass
+++ b/meta/classes/ext4-img.bbclass
@@ -1,5 +1,5 @@
 # This software is a part of ISAR.
-# Copyright (C) 2015-2016 ilbers GmbH
+# Copyright (C) 2015-2017 ilbers GmbH
 
 # Extra space for rootfs in MB
 ROOTFS_EXTRA ?= "64"
@@ -10,8 +10,6 @@ do_ext4_image[stamp-extra-info] = "${DISTRO}-${MACHINE}"
 
 # Generate ext4 filesystem image
 do_ext4_image() {
-    mkdir -p ${DEPLOY_DIR_IMAGE}
-
     rm -f ${EXT4_IMAGE_FILE}
 
     ROOTFS_SIZE=`sudo du -sm ${IMAGE_ROOTFS} |  awk '{print $1 + ${ROOTFS_EXTRA};}'`
@@ -24,14 +22,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
+addtask ext4_image before do_build after do_copy_boot_files
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 9ef8bee..2284655 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,25 @@ do_populate() {
 
 addtask populate before do_build
 do_populate[deptask] = "do_deploy_deb"
+
+do_copy_boot_files() {
+    if [ -z "${KERNEL_IMAGE}" ] && [ -h "${IMAGE_ROOTFS}/vmlinuz" ]; 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}" ] && [ -h "${IMAGE_ROOTFS}/initrd.img" ]; 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
+do_copy_boot_files[dirs] = "${DEPLOY_DIR_IMAGE}"
+do_copy_boot_files[stamp-extra-info] = "${DISTRO}-${MACHINE}"
diff --git a/scripts/start_vm b/scripts/start_vm
index 400484a..c8605b0 100755
--- a/scripts/start_vm
+++ b/scripts/start_vm
@@ -114,6 +114,11 @@ do
 done
 
 readonly IMAGE_DIR=$BUILD_DIR/tmp/deploy/images
+readonly ROOTFS_IMAGE=isar-image-base-debian-$DISTRO-qemu$ARCH.ext4.img
+
+eval $(bitbake -e multiconfig:qemu$ARCH-jessie:isar-image-base | grep WORKDIR=)
+readonly KERNEL_IMAGE=$(basename $(readlink $WORKDIR/rootfs/vmlinuz))
+readonly INITRD_IMAGE=$(basename $(readlink $WORKDIR/rootfs/initrd.img))
 
 readonly ISARROOT="$(dirname "$0")"/..
 
@@ -121,8 +126,7 @@ readonly MACHINE_CONF=$ISARROOT/meta-isar/conf/machine/qemu$ARCH.conf
 eval "$(egrep 'MACHINE_SERIAL' $MACHINE_CONF |bb2sh)"
 
 readonly CONFIG_CONF=$ISARROOT/meta-isar/conf/multiconfig/qemu$ARCH-$DISTRO.conf
-eval "$(egrep '(KERNEL|INITRD)_IMAGE|ROOTFS_DEV|QEMU_' $CONFIG_CONF |bb2sh)"
-readonly ROOTFS_IMAGE=isar-image-base-debian-$DISTRO-qemu$ARCH.ext4.img
+eval "$(egrep 'ROOTFS_DEV|QEMU_' $CONFIG_CONF |bb2sh)"
 
 QCPU=
 [ -n "$QEMU_CPU" ] && QCPU="-cpu $QEMU_CPU"
-- 
2.9.4


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

* Re: [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions
  2017-10-18 10:13 [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
  2017-10-18 10:13 ` [[URGENT][PATCH v3 1/2] meta-isar: Drop hardcoded kernel versions Alexander Smirnov
  2017-10-18 10:13 ` [[URGENT][PATCH v3 2/2] meta-isar: Rework boot files copying Alexander Smirnov
@ 2017-10-18 12:08 ` Alexander Smirnov
  2017-10-18 13:23   ` Claudius Heine
  2 siblings, 1 reply; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-18 12:08 UTC (permalink / raw)
  To: isar-users

Hi all,
On 10/18/2017 01:13 PM, Alexander Smirnov wrote:
> Hello all,
> 
> IMPORTANT: lets try to review this series ASAP, becuase Isar build is
> broken again due to recent update of Raspbian kernel version in apt.
> Instead of yet-another-version update I'd like to commit proper
> solution.
> 
> 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.
> 
> Changes since v2:
>   - Avoid races in 'deploy/images' folder creation.
> 
> Changes since v1:
>   - Differentiate 'do_copy_boot_files' stamps.
>   - Update start_vm script accordingly.
>   - Check if symlinks 'vmlinuz' and 'initrd.img' exist before reading
>     them. If symlink doesn't exist, this function skips it.

any feedback on this? I want to merge this ASAP to fix Isar build. Next 
is red now.

Thank you in advance.

Alex

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

* Re: [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions
  2017-10-18 12:08 ` [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
@ 2017-10-18 13:23   ` Claudius Heine
  2017-10-18 13:47     ` Alexander Smirnov
  0 siblings, 1 reply; 7+ messages in thread
From: Claudius Heine @ 2017-10-18 13:23 UTC (permalink / raw)
  To: Alexander Smirnov, isar-users

Hi,

On 10/18/2017 02:08 PM, Alexander Smirnov wrote:
> Hi all,
> On 10/18/2017 01:13 PM, Alexander Smirnov wrote:
>> Hello all,
>>
>> IMPORTANT: lets try to review this series ASAP, becuase Isar build is
>> broken again due to recent update of Raspbian kernel version in apt.
>> Instead of yet-another-version update I'd like to commit proper
>> solution.
>>
>> 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.
>>
>> Changes since v2:
>>   - Avoid races in 'deploy/images' folder creation.
>>
>> Changes since v1:
>>   - Differentiate 'do_copy_boot_files' stamps.
>>   - Update start_vm script accordingly.
>>   - Check if symlinks 'vmlinuz' and 'initrd.img' exist before reading
>>     them. If symlink doesn't exist, this function skips it.
> 
> any feedback on this?

Just about Hennings readlink remark. You might want to try 'readlink -m' 
instead of 'readlink -e'. It appears that the target of your symlink 
didn't exist, so 'readlink -e' returns nothing.

Cheers,
Claudius

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de

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

* Re: [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions
  2017-10-18 13:23   ` Claudius Heine
@ 2017-10-18 13:47     ` Alexander Smirnov
  2017-10-18 17:15       ` Alexander Smirnov
  0 siblings, 1 reply; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-18 13:47 UTC (permalink / raw)
  To: Claudius Heine, isar-users



On 10/18/2017 04:23 PM, Claudius Heine wrote:
> Hi,
> 
> On 10/18/2017 02:08 PM, Alexander Smirnov wrote:
>> Hi all,
>> On 10/18/2017 01:13 PM, Alexander Smirnov wrote:
>>> Hello all,
>>>
>>> IMPORTANT: lets try to review this series ASAP, becuase Isar build is
>>> broken again due to recent update of Raspbian kernel version in apt.
>>> Instead of yet-another-version update I'd like to commit proper
>>> solution.
>>>
>>> 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.
>>>
>>> Changes since v2:
>>>   - Avoid races in 'deploy/images' folder creation.
>>>
>>> Changes since v1:
>>>   - Differentiate 'do_copy_boot_files' stamps.
>>>   - Update start_vm script accordingly.
>>>   - Check if symlinks 'vmlinuz' and 'initrd.img' exist before reading
>>>     them. If symlink doesn't exist, this function skips it.
>>
>> any feedback on this?
> 
> Just about Hennings readlink remark. You might want to try 'readlink -m' 
> instead of 'readlink -e'. It appears that the target of your symlink 
> didn't exist, so 'readlink -e' returns nothing.

I've tried '-m', but there is another problem:

1. If symlink references absolute path, then readlink returns this 
absolute path, i.e.:

$ ln -s /boot/abc l1
$ readlink -m l1
/boot/abc/

2. If symlink references relative path, so the absolute path is added:

$ ln -s boot/abc l2
$ readlink -m l2
/home/asmirnov/Work/isar/isar/boot/abc/


So then I propose to use basename and concatenate absolute path like:

KERNEL_IMAGE=$(basename $(readlink -m ...))
cp ${IMAGE_ROOTFS}/boot/$KERNEL_IMAGE ...

Alex

> 
> Cheers,
> Claudius
> 

-- 
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: [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions
  2017-10-18 13:47     ` Alexander Smirnov
@ 2017-10-18 17:15       ` Alexander Smirnov
  0 siblings, 0 replies; 7+ messages in thread
From: Alexander Smirnov @ 2017-10-18 17:15 UTC (permalink / raw)
  To: Claudius Heine, isar-users

On 10/18/2017 04:47 PM, Alexander Smirnov wrote:
> 
> 
> On 10/18/2017 04:23 PM, Claudius Heine wrote:
>> Hi,
>>
>> On 10/18/2017 02:08 PM, Alexander Smirnov wrote:
>>> Hi all,
>>> On 10/18/2017 01:13 PM, Alexander Smirnov wrote:
>>>> Hello all,
>>>>
>>>> IMPORTANT: lets try to review this series ASAP, becuase Isar build is
>>>> broken again due to recent update of Raspbian kernel version in apt.
>>>> Instead of yet-another-version update I'd like to commit proper
>>>> solution.
>>>>
>>>> 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.
>>>>
>>>> Changes since v2:
>>>>   - Avoid races in 'deploy/images' folder creation.
>>>>
>>>> Changes since v1:
>>>>   - Differentiate 'do_copy_boot_files' stamps.
>>>>   - Update start_vm script accordingly.
>>>>   - Check if symlinks 'vmlinuz' and 'initrd.img' exist before reading
>>>>     them. If symlink doesn't exist, this function skips it.
>>>
>>> any feedback on this?
>>
>> Just about Hennings readlink remark. You might want to try 'readlink 
>> -m' instead of 'readlink -e'. It appears that the target of your 
>> symlink didn't exist, so 'readlink -e' returns nothing.
> 
> I've tried '-m', but there is another problem:
> 
> 1. If symlink references absolute path, then readlink returns this 
> absolute path, i.e.:
> 
> $ ln -s /boot/abc l1
> $ readlink -m l1
> /boot/abc/
> 
> 2. If symlink references relative path, so the absolute path is added:
> 
> $ ln -s boot/abc l2
> $ readlink -m l2
> /home/asmirnov/Work/isar/isar/boot/abc/
> 
> 
> So then I propose to use basename and concatenate absolute path like:
> 
> KERNEL_IMAGE=$(basename $(readlink -m ...))
> cp ${IMAGE_ROOTFS}/boot/$KERNEL_IMAGE ...
> 

Due to series is urgent, will do this in separate patch.

Alex

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

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

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-18 10:13 [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
2017-10-18 10:13 ` [[URGENT][PATCH v3 1/2] meta-isar: Drop hardcoded kernel versions Alexander Smirnov
2017-10-18 10:13 ` [[URGENT][PATCH v3 2/2] meta-isar: Rework boot files copying Alexander Smirnov
2017-10-18 12:08 ` [URGENT][PATCH v3 0/2] Correctly determine kernel and initrd versions Alexander Smirnov
2017-10-18 13:23   ` Claudius Heine
2017-10-18 13:47     ` Alexander Smirnov
2017-10-18 17:15       ` Alexander Smirnov

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