[v2] classes/initramfs: Print messages in case of a build error

Message ID 20230512144613.2448204-1-Quirin.Gylstorff@siemens.com
State Accepted, archived
Headers show
Series [v2] classes/initramfs: Print messages in case of a build error | expand

Commit Message

Quirin Gylstorff May 12, 2023, 2:46 p.m. UTC
From: Quirin Gylstorff <quirin.gylstorff@siemens.com>

This patch eases the fault analysis in case of a broken
initramfs generation.

This prints the messages from 'update-initramfs' instead of:

```
Available versions:
Nothing to do, exiting.
ERROR: No initramfs was found after generation!
```

Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
---
Changes v2:
 - Fix author

 meta/classes/initramfs.bbclass | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Comments

Uladzimir Bely May 19, 2023, 4:16 a.m. UTC | #1
On Fri, 2023-05-12 at 16:46 +0200, 'Quirin Gylstorff' via isar-users
wrote:
> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> 
> This patch eases the fault analysis in case of a broken
> initramfs generation.
> 
> This prints the messages from 'update-initramfs' instead of:
> 
> ```
> Available versions:
> Nothing to do, exiting.
> ERROR: No initramfs was found after generation!
> ```
> 
> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> ---
> Changes v2:
>  - Fix author
> 
>  meta/classes/initramfs.bbclass | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)

Applied to next, thanks.

Patch

diff --git a/meta/classes/initramfs.bbclass b/meta/classes/initramfs.bbclass
index b4c7d15e..817e97a3 100644
--- a/meta/classes/initramfs.bbclass
+++ b/meta/classes/initramfs.bbclass
@@ -43,11 +43,16 @@  do_generate_initramfs() {
         export SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}"
     fi
 
-    sudo -E chroot "${INITRAMFS_ROOTFS}" \
-        update-initramfs -u -v
+    sudo -E chroot "${INITRAMFS_ROOTFS}" sh -c '\
+        export kernel_version=$(basename /boot/vmlinux* | cut -d'-' -f2-); \
+        if [ -n "$kernel_version" ]; then \
+          update-initramfs -u -v -k "$kernel_version"; \
+        else \
+          update-initramfs -u -v ;  \
+        fi'
 
     if [ ! -e "${INITRAMFS_ROOTFS}/initrd.img" ]; then
-        die "No initramfs was found after generation!"
+        bberror "No initramfs was found after generation!"
     fi
     cp ${INITRAMFS_ROOTFS}/initrd.img ${DEPLOYDIR}/${INITRAMFS_IMAGE_NAME}
 }