3

I've followed the Beginners Guide to installing Arch Linux on my laptop. When I boot, I get the EFI boot menu, but when I select Arch Linux I get this error:

Kernal panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.5.4-1-ARCH #1
...

And then the system locks up until I hard reset.

I think I must have configured the boot loader incorrectly.

My harddrive is configured with GPT partition table and partitioned as:

/dev/sda1    /boot    512MiB
/dev/sda2    /        20GiB
/dev/sda3    (swap)   4GiB
/dev/sda4    /home    199.1GiB (remaining space)

I have run bootctl install, and then created these two files:

/boot/loader/loader.conf

default arch
timeout 4
editor  0

/boot/loader/entries/arch.conf

title   Arch Linux
efi     /vmlinuz-linux
initrd  /initramfs-linux.img
options root=/dev/sda2 rw

I have checked that the /vmlinuz-linux and /initramfs-linux.img files both exist:

# ls /boot
EFI  initramfs-linux-fallback.img  initramfs-linux.img  loader  vmlinuz-linux

Where am I going wrong?


Edit: Thought my fstab might be useful, so posting that too (retyped manually so skipping the heading comments and the UUIDs, any typos are my transcribing):

/etc/fstab

# /dev/sda2
UUID={long uuid}    /      ext4    rw,relatime,data=ordered   0 1

# /dev/sda1
UUID={long uuid}    /boot  vfat    rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro  0 2

# /dev/sda4
UUID={long uuid}    /home  ext4     rw,relatime,data=ordered   0 2

# /dev/sda3
UUID={long uuid}    none   swap     defaults  0 0
  • Have you tried to use root=UUID={long uuid of sda2} (or use PARTUUID)? – cylgalad Jun 4 '16 at 7:45
  • Yeah, that didn't work. I did manage to get it bootable by fixing my arch.conf file. I'll post an answer when I'm on my laptop – Kai Jun 4 '16 at 11:01
3

My /boot/loader/entries/arch.conf should have been

title   Arch Linux
linux   /vmlinuz-linux
initrd  /initramfs-linux.img
options initrd=initramfs-linux.img root=PARTUUID={/dev/sda2 uuid} rw

(replace {/dev/sda2 uuid} with the actual UUID)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.