[PATCH 1/1] generate_initramfs: fix progress reporting on dracut

8 views
Skip to first unread message

Felix Moessbauer

unread,
Nov 14, 2025, 8:07:30 AMNov 14
to isar-...@googlegroups.com, Felix Moessbauer, Jan Kiszka
When generating the initrd with dracut, the copy-in operations emit
output that is different from the initramfs-tools output. This patch
extends the progress parser to also support the dracut output.

Prior to the patch, the progress bar stayed at 0% until the task was
finished.

Reported-by: Jan Kiszka <jan.k...@siemens.com>
Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
Note: this patch is completely independent of the recent dracut series,
as debian trixie already uses dracut internally.

Best regards,
Felix Moessbauer
Siemens AG

meta/lib/rootfs_progress.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/lib/rootfs_progress.py b/meta/lib/rootfs_progress.py
index 1cc70c87..d18d22cd 100644
--- a/meta/lib/rootfs_progress.py
+++ b/meta/lib/rootfs_progress.py
@@ -81,7 +81,9 @@ class InitrdProgressHandler(PkgsProgressHandler):
self._stage = 'post-prepare'

def process_line(self, line):
- if line.startswith('Adding module'):
+ if line.startswith('Adding module') \
+ or line.startswith('dracut-install: cp') \
+ or line.startswith('dracut-install: Failed to find module'):
self._pkg += 1
elif line.startswith('(excluding'):
self._pkg += len(line.split(' ')) - 1
--
2.51.0

Quirin Gylstorff

unread,
Nov 17, 2025, 3:18:19 AMNov 17
to isar-...@googlegroups.com


On 11/14/25 14:07, 'Felix Moessbauer' via isar-users wrote:
> def process_line(self, line):
> - if line.startswith('Adding module'):
> + if line.startswith('Adding module') \
> + or line.startswith('dracut-install: cp') \
The backslash should not be used in a pure python function.
Quirin> + or line.startswith('dracut-install: Failed to find
module'):

Quirin Gylstorff

unread,
Nov 17, 2025, 3:23:59 AMNov 17
to isar-...@googlegroups.com


On 11/17/25 09:18, 'Quirin Gylstorff' via isar-users wrote:
>
>
> On 11/14/25 14:07, 'Felix Moessbauer' via isar-users wrote:
>>       def process_line(self, line):
>> -        if line.startswith('Adding module'):
>> +        if line.startswith('Adding module') \
>> +           or line.startswith('dracut-install: cp') \
> The backslash should not be used in a pure python function.
> Quirin
Sorry send to fast, black would format it that way:

if (
line.startswith("Adding module")
or line.startswith("dracut-install: cp")
or line.startswith("dracut-install: Failed to find module")
):

Felix Moessbauer

unread,
Nov 17, 2025, 6:51:19 AMNov 17
to isar-...@googlegroups.com, quirin.g...@siemens.com, Felix Moessbauer, Jan Kiszka
When generating the initrd with dracut, the copy-in operations emit
output that is different from the initramfs-tools output. This patch
extends the progress parser to also support the dracut output.

Prior to the patch, the progress bar stayed at 0% until the task was
finished.

Reported-by: Jan Kiszka <jan.k...@siemens.com>
Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
Changes since v1:
- format code according to black formatter rules

meta/lib/rootfs_progress.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/lib/rootfs_progress.py b/meta/lib/rootfs_progress.py
index 1cc70c87..0ac81e14 100644
--- a/meta/lib/rootfs_progress.py
+++ b/meta/lib/rootfs_progress.py
@@ -81,7 +81,11 @@ class InitrdProgressHandler(PkgsProgressHandler):
self._stage = 'post-prepare'

def process_line(self, line):
- if line.startswith('Adding module'):
+ if (
+ line.startswith("Adding module")
+ or line.startswith("dracut-install: cp")
+ or line.startswith("dracut-install: Failed to find module")
+ ):

Zhihang Wei

unread,
Nov 26, 2025, 4:43:43 AMNov 26
to Felix Moessbauer, isar-...@googlegroups.com, quirin.g...@siemens.com, Jan Kiszka
Applied to next, thanks.
Reply all
Reply to author
Forward
0 new messages