Package: pxe-kexec
Version: 0.2.4-3+b5
Severity: minor

This config file works in pxelinux but not pxe-kexec:

    root@tvserver:~# busybox tftp -g -r /pxelinux.cfg/default 10.128.2.2
    /pxelinux.cfg/defaul 100% |********************************|   223  0:00:00 
ETA
    root@tvserver:~# cat default
    DEFAULT linux
    LABEL linux
      IPAPPEND 2
      KERNEL vmlinuz
      INITRD initrd.img
      APPEND boot=live netboot=cifs nfsopts=ro,guest,vers=3.1.1 
nfsroot=//10.128.2.4/qemu live-media-path= earlyprintk=ttyS0 console=ttyS0 
loglevel=1

    root@tvserver:~# pxe-kexec --debug -nLl linux 10.128.2.2
    ⋮
    DEBUG: Writing 1*512=512 bytes (1)
    DEBUG: Writing 1*512=512 bytes (1)
    DEBUG: Writing 1*512=512 bytes (1)
    DEBUG: Writing 1*32=32 bytes (1)

    DEBUG: Executing kexec '-l' '/tmp/pxe-kexec-kernel' '--initrd=' 
'--append=boot=live netboot=cifs nfsopts=ro,guest,vers=3.1.1 
nfsroot=//10.128.2.4/qemu live-media-path= early
    Cannot open `': No such file or directory
    Loading kernel failed.

This is happening because pxe-kexec only supports the older notation "APPEND 
initrd=xxx ...".
Please fix pxe-kexec so it is compatible with pxelinux 6, which is used in 
Debian 9/10/11/12.

    https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX#INITRD_initrd_file

In the meantime, using "APPEND initrd=..." seems to be a viable workaround.
This works in both pxelinux and pxe-kexec:

    root@tvserver:~# busybox tftp -g -r /pxelinux.cfg/default 10.128.2.2
    /pxelinux.cfg/defaul 100% |********************************|   221  0:00:00 
ETA
    root@tvserver:~# cat default
    DEFAULT linux
    LABEL linux
      IPAPPEND 2
      KERNEL vmlinuz
      APPEND initrd=initrd.img boot=live netboot=cifs 
nfsopts=ro,guest,vers=3.1.1 nfsroot=//10.128.2.4/qemu live-media-path= 
earlyprintk=ttyS0 console=ttyS0 loglevel=1
    root@tvserver:~# pxe-kexec -nLl linux 10.128.2.2
    Downloading kernel ....
    Downloading initrd ...............
    Kernel loaded
    root@tvserver:~# systemctl kexec
    [...]
    Invalid physical address chosen!
    Physical KASLR disabled: no suitable memory region!
    [...]

-- System Information:
Debian Release: 11.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.14.0-0.bpo.2-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to