dracutdevs / dracut

dracut the event driven initramfs infrastructure
https://github.com/dracutdevs/dracut/wiki
GNU General Public License v2.0
597 stars 396 forks source link

Improve lsinitrd to ease debugging for developers and end users. #2552

Open steffen-maier opened 9 months ago

steffen-maier commented 9 months ago

Changes to lsinitrd

enable unpacking files from squash-root.img

This is helpful for debugging some kdump mkdumprd that prefer dracut-squash.

print stored dracut cmdline

It's more convenient for debugging than extracting or unpacking the corresponding files.

Checklist

Factored out from another PR (https://github.com/dracutdevs/dracut/pull/2534#issuecomment-1805189234).

steffen-maier commented 9 months ago

I'm not sure how this code change in lsinitrd could affect the few failing integration tests dealing with dracut core and modules. The test fails look more like infrastructure or maybe other code coming with the used distro, such as qemu. At least the tests marked as required in the git workflow were successful.

Example fails:

qemu-system-x86_64: ../softmmu/physmem.c:2419: iotlb_to_section: Assertion `section_index < d->map.sections_nb' failed. ./test.sh: line 143: 3724 Aborted (core dumped) "$testdir"/run-qemu "${disk_args[@]}" -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" -initrd "$TESTDIR"/initramfs.makeroot TEST: root filesystem over multiple iSCSI with network-manager [FAILED]

qemu-system-x86_64: ../hw/pci/msix.c:227: msix_table_mmio_write: Assertion `addr + size <= dev->msix_entries_nr * PCI_MSIX_ENTRY_SIZE' failed. ./test.sh: line 189: 2144 Aborted (core dumped) "$testdir"/run-qemu "${disk_args[@]}" -append "root=/dev/fakeroot rw quiet console=ttyS0,115200n81 selinux=0" -initrd "$TESTDIR"/initramfs.makeroot TEST: root filesystem on NBD with network-manager [FAILED]

qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EDX.spec-ctrl [bit 26] Error: The operation was canceled.

Some run into an initqueue timeout waiting for the root-fs dependencies.

Some test seems to get I/O errors after the boot and root-fs mount were already successful:

BdsDxe: starting Boot0001 "UEFI QEMU HARDDISK QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0) Starting systemd-udevd version 254.6-1-arch made it to the rootfs! Powering down. [ 12.160063] ata1.00: Read log 0x10 page 0x00 failed, Emask 0x1 [ 12.161143] ata1: failed to read log page 10h (errno=-5) [ 12.162899] ata1.00: exception Emask 0x1 SAct 0x40 SErr 0x0 action 0x0 [ 12.163177] ata1.00: irq_stat 0x40000000 [ 12.163790] ata1.00: failed command: WRITE FPDMA QUEUED [ 12.164062] ata1.00: cmd 61/08:30:00:00:00/00:00:00:00:00/40 tag 6 ncq dma 4096 out [ 12.164062] res 41/04:01:00:00:00/00:00:00:00:00/00 Emask 0x1 (device error) [ 12.164506] ata1.00: status: { DRDY ERR } [ 12.164691] ata1.00: error: { ABRT }

LaszloGombos commented 9 months ago

I'm not sure how this code change in lsinitrd could affect the few failing integration tests dealing with dracut core and modules.

Those failures are unrelated to your change - see https://github.com/dracutdevs/dracut/issues/2506

stale[bot] commented 4 months ago

This issue is being marked as stale because it has not had any recent activity. It will be closed if no further activity occurs. If this is still an issue in the latest release of Dracut and you would like to keep it open please comment on this issue within the next 7 days. Thank you for your contributions.

steffen-maier commented 4 months ago

I think this is still interesting, so commenting to keep it open after the stale bot added the stale label.