iPXE discussion forum
Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files (/showthread.php?tid=10770)



Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files - ccy - 2018-01-20 14:30

I am trying to boot the installation ArchLinux files on my machine with UEFI firmware. I had turned off secure boot.

I am able to reach the iPXE shell from DHCP undionly.ipxe.

Here is my iPXE script that trying to fetch kernel and initrd files from http:

Code:
kernel http://192.168.0.5/arch/boot/x86_64/vmlinuz archisobasedir=arch archiso_http_srv=http://192.168.0.5/ ip=:::::eth0:dhcp

initrd http://192.168.05/arch/boot/x86_64/archiso.img

boot

I encounter this error after fetching the files from http service and boot:

Code:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

This is the ArchLinux ISO files structure:

Code:
├── arch
│   ├── boot
│   │   ├── intel_ucode.img
│   │   ├── intel_ucode.LICENSE
│   │   ├── memtest
│   │   ├── memtest.COPYING
│   │   ├── syslinux
│   │   │   ├── archiso.cfg
│   │   │   ├── archiso_head.cfg
│   │   │   ├── archiso_pxe.cfg
│   │   │   ├── archiso_sys.cfg
│   │   │   ├── archiso_tail.cfg
│   │   │   ├── cat.c32
│   │   │   ├── chain.c32
│   │   │   ├── cmd.c32
│   │   │   ├── cmenu.c32
│   │   │   ├── config.c32
│   │   │   ├── cptime.c32
│   │   │   ├── cpu.c32
│   │   │   ├── cpuid.c32
│   │   │   ├── cpuidtest.c32
│   │   │   ├── debug.c32
│   │   │   ├── dhcp.c32
│   │   │   ├── disk.c32
│   │   │   ├── dmi.c32
│   │   │   ├── dmitest.c32
│   │   │   ├── elf.c32
│   │   │   ├── ethersel.c32
│   │   │   ├── gfxboot.c32
│   │   │   ├── gpxecmd.c32
│   │   │   ├── hdt
│   │   │   │   ├── modalias.gz
│   │   │   │   └── pciids.gz
│   │   │   ├── hdt.c32
│   │   │   ├── hexdump.c32
│   │   │   ├── host.c32
│   │   │   ├── ifcpu64.c32
│   │   │   ├── ifcpu.c32
│   │   │   ├── ifmemdsk.c32
│   │   │   ├── ifplop.c32
│   │   │   ├── kbdmap.c32
│   │   │   ├── kontron_wdt.c32
│   │   │   ├── ldlinux.c32
│   │   │   ├── lfs.c32
│   │   │   ├── libcom32.c32
│   │   │   ├── libgpl.c32
│   │   │   ├── liblua.c32
│   │   │   ├── libmenu.c32
│   │   │   ├── libutil.c32
│   │   │   ├── linux.c32
│   │   │   ├── lpxelinux.0
│   │   │   ├── ls.c32
│   │   │   ├── lua.c32
│   │   │   ├── mboot.c32
│   │   │   ├── memdisk
│   │   │   ├── meminfo.c32
│   │   │   ├── menu.c32
│   │   │   ├── pci.c32
│   │   │   ├── pcitest.c32
│   │   │   ├── pmload.c32
│   │   │   ├── poweroff.c32
│   │   │   ├── prdhcp.c32
│   │   │   ├── pwd.c32
│   │   │   ├── pxechn.c32
│   │   │   ├── reboot.c32
│   │   │   ├── rosh.c32
│   │   │   ├── sanboot.c32
│   │   │   ├── sdi.c32
│   │   │   ├── splash.png
│   │   │   ├── sysdump.c32
│   │   │   ├── syslinux.c32
│   │   │   ├── syslinux.cfg
│   │   │   ├── vesa.c32
│   │   │   ├── vesainfo.c32
│   │   │   ├── vesamenu.c32
│   │   │   ├── vpdtest.c32
│   │   │   ├── whichsys.c32
│   │   │   └── zzjson.c32
│   │   └── x86_64
│   │       ├── archiso.img
│   │       └── vmlinuz
│   ├── pkglist.x86_64.txt
│   └── x86_64
│       ├── airootfs.sfs
│       ├── airootfs.sfs.sig
│       └── airootfs.sha512
├── EFI
│   ├── archiso
│   │   └── efiboot.img
│   ├── boot
│   │   ├── bootx64.efi
│   │   ├── HashTool.efi
│   │   └── loader.efi
│   ├── shellx64_v1.efi
│   └── shellx64_v2.efi
├── isolinux
│   ├── boot.cat
│   ├── isohdpfx.bin
│   ├── isolinux.bin
│   ├── isolinux.cfg
│   └── ldlinux.c32
└── loader
    ├── entries
    │   ├── archiso-x86_64.conf
    │   ├── uefi-shell-v1-x86_64.conf
    │   └── uefi-shell-v2-x86_64.conf
    └── loader.conf

Thank you.


RE: Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files - NiKiZe - 2018-01-20 15:00

undionly.kpxe is for legacy bios boot, (I'm assuming undionly.ipxe was a spello)

for EFI boot you would like snponly.efi or ipxe.efi instead....

However you have clearly been able to boot the kernel so not sure how you got to that point...

any way in efi mode you will have to add initrd= option to the kernel command line for it to know whch file it should use from efifs as ram image data.

Code:
kernel http://192.168.0.5/arch/boot/x86_64/vmlinuz archisobasedir=arch archiso_http_srv=http://192.168.0.5/ ip=:::::eth0:dhcp initrd=archiso.img
initrd http://192.168.05/arch/boot/x86_64/archiso.img
boot

Forum FAQ covers this as well:
http://forum.ipxe.org/showthread.php?tid=5948&pid=19101#pid19101

(2018-01-23 08:23)FAQ Wrote:  
"Kernel panic - not syncing: VFS" when booting Linux in EFI mode

For the kernel to know which initrd it should load, it needs to be specified on the cmdline mentioned in efi stub documentation

Example:
Code:
kernel vmlinuz initrd=initram.igz
initrd initram.igz
boot





RE: Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files - ccy - 2018-01-20 16:23

(2018-01-20 15:00)NiKiZe Wrote:  undionly.kpxe is for legacy bios boot, (I'm assuming undionly.ipxe was a spello)

for EFI boot you would like snponly.efi or ipxe.efi instead....

However you have clearly been able to boot the kernel so not sure how you got to that point...

I am sorry, it was my mistake. I am using ipxe.efi to boot instead of undionly.kpxe


RE: Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files - aiirii - 2019-07-23 04:12

(2018-01-20 15:00)NiKiZe Wrote:  undionly.kpxe is for legacy bios boot, (I'm assuming undionly.ipxe was a spello)

for EFI boot you would like snponly.efi or ipxe.efi instead....

However you have clearly been able to boot the kernel so not sure how you got to that point...

any way in efi mode you will have to add initrd= option to the kernel command line for it to know whch file it should use from efifs as ram image data.

Code:
kernel http://192.168.0.5/arch/boot/x86_64/vmlinuz archisobasedir=arch archiso_http_srv=http://192.168.0.5/ ip=:::::eth0:dhcp initrd=archiso.img
initrd http://192.168.05/arch/boot/x86_64/archiso.img
boot

yes, it works. thks! you must explicitly specify the initrd filename in the kernel line


RE: Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files - cspxe - 2019-07-23 19:04

(2018-01-20 15:00)NiKiZe Wrote:  any way in efi mode you will have to add initrd= option to the kernel command line for it to know whch file it should use from efifs as ram image data.

THIS! Fixed my problem. Had system booting in BIOS mode fine, but using same files would not boot in EFI. Looked as if the initrd was never loaded, though the kernel output never said such.

Can you point to where in the iPXE documentation (or elsewhere) this is noted?

Thank you!!


RE: Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files - NiKiZe - 2019-07-23 20:16

(2019-07-23 19:04)cspxe Wrote:  Can you point to where in the iPXE documentation (or elsewhere) this is noted?

This should be in the kernel documentation, but it's also in the forum FAQ:
http://forum.ipxe.org/showthread.php?tid=5948&pid=19101#pid19101

(2018-01-23 08:23)FAQ Wrote:  
"Kernel panic - not syncing: VFS" when booting Linux in EFI mode

For the kernel to know which initrd it should load, it needs to be specified on the cmdline mentioned in efi stub documentation

Example:
Code:
kernel vmlinuz initrd=initram.igz
initrd initram.igz
boot





RE: Encounter "Kernel panic - not syncing: VFS" when boot ArchLinux installation files - cspxe - 2019-07-23 22:00

(2019-07-23 20:16)NiKiZe Wrote:  This should be in the kernel documentation, but it's also in the forum FAQ:
http://forum.ipxe.org/showthread.php?tid=5948&pid=19101#pid19101

For the kernel to know which initrd it should load, it needs to be specified on the cmdline mentioned in efi stub documentation

Awesome, thank you sir! Moderately obscure (like a lot of this stuff is).

CS