Hello.
I need help to load Linux kernel with rootfs via LAVA (2017.2) job.
My job definition fails with kernel panic “provide correct ‘root=’ option”:
===
device_type: x86
job_name: x86-pipeline
timeouts:
job:
minutes: 15
action:
minutes: 5
actions:
bootloader-action:
minutes: 5
bootloader-retry:
minutes: 5
bootloader-interrupt:
minutes: 5
extract-nfsrootfs:
seconds: 90
priority: medium
visibility: public
metadata:
source: https://git.linaro.org/lava-team/refactoring.git
path: ipxe.yaml
actions:
- deploy:
timeout:
minutes: 2
modules_compression: xz
to: tftp
kernel:
url: http://192.168.0.1:8000/x86-64/bzImage
ramdisk:
url: http://192.168.0.1:8000/x86-64/rootfs.cpio.gz
compression: gz
os: debian
- boot:
method: ipxe
commands: ramdisk
prompts:
- 'root@debian:~#'
- '/ #'
- test:
timeout:
minutes: 5
definitions:
- repository: git://git.linaro.org/qa/test-definitions.git
from: git
path: ubuntu/smoke-tests-basic.yaml
name: smoke-tests
- repository: http://git.linaro.org/lava-team/lava-functional-tests.git
from: git
path: lava-test-shell/single-node/singlenode03.yaml
name: singlenode-advanced
===
After then I have added kernel boot options (after metadata section) which lead to “Failed to load file: rootfs.cpio.gz” from iPXE:
===
context:
extra_kernel_args: initrd=/rootfs.cpio.gz root=/dev/ram0
===
But at the same time I could successfully load it manual from iPXE console:
===
iPXE> dhcp net0
Configuring (net0 7c:05:07:0d:37:c9)...... ok
iPXE> set console console=ttyS0,115200n8 lava_mac={LAVA_MAC}
iPXE> set extraargs initrd=/rootfs.cpio root=/dev/ram0 ip=dhcp
iPXE> kernel http://192.168.0.1:8000/x86-64/bzImage ${extraargs} ${console}
http://192.168.0.1:8000/x86-64/bzImage... ok
iPXE> initrd http://192.168.0.1:8000/x86-64/rootfs.cpio
http://192.168.0.1:8000/x86-64/rootfs.cpio... ok
iPXE> imgstat
bzImage : 6762544 bytes [EFI] [SELECTED] "initrd=/rootfs.cpio root=/dev/ram0 ip=dhcp console=ttyS0,115200n8 lava_mac={LAVA_MAC}"
rootfs.cpio : 43977216 bytes
iPXE> boot
===
Best regards
Sergey Kovalev.