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

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

Commit Message

Quirin Gylstorff May 12, 2023, 12:33 p.m. UTC
From: kas <kas@example.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>
---
 meta/classes/initramfs.bbclass | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Comments

Jan Kiszka May 12, 2023, 1:03 p.m. UTC | #1
On 12.05.23 14:33, 'Quirin Gylstorff' via isar-users wrote:
> From: kas <kas@example.com>
        ^^^^^^^^^^^^^^^^^^^^^

Jan

> 
> 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>
> ---
>  meta/classes/initramfs.bbclass | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> 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}
>  }

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}
 }