Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nixos/crashdump: kexec unrecognized option on raspberry pi #376525

Open
3 tasks done
giomf opened this issue Jan 24, 2025 · 0 comments · May be fixed by #377370
Open
3 tasks done

nixos/crashdump: kexec unrecognized option on raspberry pi #376525

giomf opened this issue Jan 24, 2025 · 0 comments · May be fixed by #377370
Labels
0.kind: bug Something is broken 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS

Comments

@giomf
Copy link
Contributor

giomf commented Jan 24, 2025

Nixpkgs version

  • Stable (24.11)

Describe the bug

Hi,

I encounter some kernel panics on my raspberry pi. Now I want to debug or at least catch the crash dump.
For this purpose I wanted to use the crashdump module using boot.crashDump.enable = true;

Unfortunately, when booting I saw /nix/store/ixxq8sw9p0azxh3zjgwf4pwjklv2yixg-kexec-tools-2.0.29/sbin/kexec: unrecognized option '--reset-vga' in my logs.

Having a closer look into crashdump showed me that the option --reset-vga and --console-vga are used but are not available on my kexec version on my raspberry pi.

Steps to reproduce

  • create a nixos configuration for a raspberry pi
  • set boot.crashDump.enable = true
  • Build an image and flash the pi
  • Have a look at the boot logs

Expected behaviour

kexec should exit without an error

Screenshots

No response

Relevant log output

Jul 05 20:03:06 EppdPi stage-2-init: setting up /etc...
Jul 05 20:03:06 EppdPi stage-2-init: loading crashdump kernel...
Jul 05 20:03:06 EppdPi stage-2-init: /nix/store/ixxq8sw9p0azxh3zjgwf4pwjklv2yixg-kexec-tools-2.0.29/sbin/kexec: unrecognized option '--reset-vga'
Jul 05 20:03:06 EppdPi stage-2-init: kexec-tools 2.0.29
Jul 05 20:03:06 EppdPi stage-2-init: Usage: kexec [OPTION]... [kernel]
Jul 05 20:03:06 EppdPi stage-2-init: Directly reboot into a new kernel
Jul 05 20:03:06 EppdPi stage-2-init: -h, --help           Print this help.
Jul 05 20:03:06 EppdPi stage-2-init: -v, --version        Print the version of kexec.
Jul 05 20:03:06 EppdPi stage-2-init: -f, --force          Force an immediate kexec,
Jul 05 20:03:06 EppdPi stage-2-init: don't call shutdown.
Jul 05 20:03:06 EppdPi stage-2-init: -i, --no-checks      Fast reboot, no memory integrity checks.
Jul 05 20:03:06 EppdPi stage-2-init: -x, --no-ifdown      Don't bring down network interfaces.
Jul 05 20:03:06 EppdPi stage-2-init: -y, --no-sync        Don't sync filesystems before kexec.
Jul 05 20:03:06 EppdPi stage-2-init: -l, --load           Load the new kernel into the
Jul 05 20:03:06 EppdPi stage-2-init: current kernel.
Jul 05 20:03:06 EppdPi stage-2-init: -p, --load-panic     Load the new kernel for use on panic.
Jul 05 20:03:06 EppdPi stage-2-init: -u, --unload         Unload the current kexec target kernel.
Jul 05 20:03:06 EppdPi stage-2-init: If capture kernel is being unloaded
Jul 05 20:03:06 EppdPi stage-2-init: specify -p with -u.
Jul 05 20:03:06 EppdPi stage-2-init: -e, --exec           Execute a currently loaded kernel.
Jul 05 20:03:06 EppdPi stage-2-init: --exec-live-update Execute a currently loaded xen image after
Jul 05 20:03:06 EppdPi stage-2-init: storing the state required to live update.
Jul 05 20:03:06 EppdPi stage-2-init: -t, --type=TYPE      Specify the new kernel is of this type.
Jul 05 20:03:06 EppdPi stage-2-init: --mem-min=<addr> Specify the lowest memory address to
Jul 05 20:03:06 EppdPi stage-2-init: load code into.
Jul 05 20:03:06 EppdPi stage-2-init: --mem-max=<addr> Specify the highest memory address to
Jul 05 20:03:06 EppdPi stage-2-init: load code into.
Jul 05 20:03:06 EppdPi stage-2-init: --reuseinitrd    Reuse initrd from first boot.
Jul 05 20:03:06 EppdPi stage-2-init: --print-ckr-size Print crash kernel region size.
Jul 05 20:03:06 EppdPi stage-2-init: --load-preserve-context Load the new kernel and preserve
Jul 05 20:03:06 EppdPi stage-2-init: context of current kernel during kexec.
Jul 05 20:03:06 EppdPi stage-2-init: --load-jump-back-helper Load a helper image to jump back
Jul 05 20:03:06 EppdPi stage-2-init: to original kernel.
Jul 05 20:03:06 EppdPi stage-2-init: --load-live-update Load the new kernel to overwrite the
Jul 05 20:03:06 EppdPi stage-2-init: running kernel.
Jul 05 20:03:06 EppdPi stage-2-init: --entry=<addr>   Specify jump back address.
Jul 05 20:03:06 EppdPi stage-2-init: (0 means it's not jump back or
Jul 05 20:03:06 EppdPi stage-2-init: preserve context)
Jul 05 20:03:06 EppdPi stage-2-init: to original kernel.
Jul 05 20:03:06 EppdPi stage-2-init: -s, --kexec-file-syscall Use file based syscall for kexec operation
Jul 05 20:03:06 EppdPi stage-2-init: -c, --kexec-syscall  Use the kexec_load syscall for for compatibility
Jul 05 20:03:06 EppdPi stage-2-init: with systems that don't support -s
Jul 05 20:03:06 EppdPi stage-2-init: -a, --kexec-syscall-auto  Use file based syscall for kexec and fall
Jul 05 20:03:06 EppdPi stage-2-init: back to the compatibility syscall when file based
Jul 05 20:03:06 EppdPi stage-2-init: syscall is not supported or the kernel did not
Jul 05 20:03:06 EppdPi stage-2-init: understand the image (default)
Jul 05 20:03:06 EppdPi stage-2-init: --hotplug            Do in-kernel update of kexec segments on CPU/Memory
Jul 05 20:03:06 EppdPi stage-2-init: hot add/remove events, avoiding the need to reload
Jul 05 20:03:06 EppdPi stage-2-init: kdump kernel on online/offline events.
Jul 05 20:03:06 EppdPi stage-2-init: -d, --debug          Enable debugging to help spot a failure.
Jul 05 20:03:06 EppdPi stage-2-init: -S, --status         Return 1 if the type (by default crash) is loaded,
Jul 05 20:03:06 EppdPi stage-2-init: 0 if not.
Jul 05 20:03:06 EppdPi stage-2-init: Supported kernel file types and options:
Jul 05 20:03:06 EppdPi stage-2-init: vmlinux
Jul 05 20:03:06 EppdPi stage-2-init: An ARM64 ELF image, big or little endian.
Jul 05 20:03:06 EppdPi stage-2-init: Typically vmlinux or a stripped version of vmlinux.
Jul 05 20:03:06 EppdPi stage-2-init: Image
Jul 05 20:03:06 EppdPi stage-2-init: An ARM64 binary image, compressed or not, big or little endian.
Jul 05 20:03:06 EppdPi stage-2-init: Typically an Image file.
Jul 05 20:03:06 EppdPi stage-2-init: uImage
Jul 05 20:03:06 EppdPi stage-2-init: An ARM64 U-boot uImage file, compressed or not, big or little endian.
Jul 05 20:03:06 EppdPi stage-2-init: vmlinuz
Jul 05 20:03:06 EppdPi stage-2-init: An ARM64 vmlinuz, PE image of a compressed, little endian.
Jul 05 20:03:06 EppdPi stage-2-init: kernel, built with ZBOOT enabled.
Jul 05 20:03:06 EppdPi stage-2-init: Architecture options:
Jul 05 20:03:06 EppdPi stage-2-init: --append=STRING       Set the kernel command line to STRING.
Jul 05 20:03:06 EppdPi stage-2-init: --command-line=STRING Set the kernel command line to STRING.
Jul 05 20:03:06 EppdPi stage-2-init: --dtb=FILE            Use FILE as the device tree blob.
Jul 05 20:03:06 EppdPi stage-2-init: --initrd=FILE         Use FILE as the kernel initial ramdisk.
Jul 05 20:03:06 EppdPi stage-2-init: --serial=STRING       Name of console used for purgatory printing. (e.g. ttyAMA0)
Jul 05 20:03:06 EppdPi stage-2-init: --ramdisk=FILE        Use FILE as the kernel initial ramdisk.
Jul 05 20:03:06 EppdPi stage-2-init: --reuse-cmdline       Use kernel command line from running system.

Additional context

No response

System metadata

  • system: "aarch64-linux"
  • host os: Linux 6.6.31, NixOS, 24.11 (Vicuna), 24.11.20250120.ae584d9
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.24.11
  • nixpkgs: /nix/store/9fk956gyw6mjlrxbbnd4v7h93vig83jm-source

Notify maintainers

I really dont know who to mention here. A lot of maintainers but the contributions are old.

Note for maintainers: Please tag this issue in your pull request description. (i.e. Resolves #ISSUE.)

I assert that this issue is relevant for Nixpkgs

Is this issue important to you?

Add a 👍 reaction to issues you find important.

@giomf giomf added 0.kind: bug Something is broken 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS labels Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug Something is broken 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant