Fixed by using grub.
Error when trying to boot into new install.
ERROR: device ' ' not found. Skipping fsck. :: mounting ' ' on real root mount : /new_root: no valid filesystem type specified. ERROR: Failed to mount ' ' on real root
And I’m getting dropped in emergency shell. I used official wiki, used refind as bootloader. Second time I tried installing and got same error.
Edit1: fstab
`#/dev/nvme0n1p2
UUID=4dae009f-c08f-4636-b1b5-85a4713a6f40 / ext4 rw,relatime 0 1
#/dev/nvme0n1p1
UUID=0019-78B6 /boot vfat rw,relatime, fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2 `
p2 is root partition
p1 is efi partition.
Edit2: running timedatectl in chroot returns
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
Refind does not generate the proper Configs when ran from the live image. From the wiki
This is how my
/boot/refind_linux.conf
looks like:"Boot with standard options" "rw root=/dev/nvme1n1p2" "Boot to single-user mode" "rw root=/dev/nvme1n1p2 single" "Boot with minimal options" "ro root=/dev/nvme1n1p2"
Using nano it just created new file
Have you mounted
/boot
? Usually it’s in a different partition so you’ll need to mount it.Edit: yup, your boot is in a different partition according to your fstab
From where should I mount it? Emergency shell? Chroot?
Every time I made this mistake I booted again the live iso, mounted the boot drive and edit it.
Edit: you can also just edit the entry on refind directly to boot once on a correct config, and then fix it inside your actual system. The error is that the root filesystem will have an uuid that relates to the live iso image, not to your actual system.
I think I managed to mount it but what should I edit?
Ok, if I understood correctly your fstab what you should do is:
mount /dev/nvme0n1p1 /mnt
nano /mnt/refind_linux.conf
"Boot with standard options" "rw root=/dev/nvme0n1p2" "Boot to single-user mode" "rw root=/dev/nvme0n1p2 single" "Boot with minimal options" "ro root=/dev/nvme0n1p2"
umount /mnt
That should work
Edit: noticed my disk was 1 while yours is 0, didn’t remembered I had two ssds on that machine hahahah
Edit2: check that the file exists in /mnt, it should if you ran refind-install the first time.
I get the same error. Should I install grub?
Did you confirm that the file existed before editing? And that you were mounting the correct boot and not root partition?
I don’t know what else it can be if that doesn’t solve it.
systemd doesn’t like booting with ro, too dumb to check then mount filesystems.
@Nibodhika @Hiro8811
His fstab says rw, and the example I sent for refind config also has rw on the first option. You can definitely boot systemd on ro, I’ve done that in the past when I had some issue (can’t remember what exactly). The error he’s having happens because when you generate the refind config inside the arch live image it adds the UUID of the root of the live iso to the boot parameters, so when it tries to boot from there it can’t find the drive with that UUID, ergo the message with an empty string where it should have the drive. The solution is to simply change that to the name of the drive where you have your root. I do that almost every time I install arch because I always forget about this quirk from refind.