Tuesday, November 21, 2017

linux - Grub fails to boot my barebone Arch BTRFS setup



I'm not sure what I'm doing wrong.
I basically used the latest arch linux live disk in a VM (Linux KVM),




  • booted the latest arch linux live disk in a VM (Linux KVM on Arch)

  • made a single partition

  • formatted that with btrfs -m dup

  • mounted the partition, ran pacstrap with base and base-devel


  • genfstab -U /mnt /mnt/etc/fstab

  • arch-chroot into the partition at /mnt

  • install grub through pacman, run grub-install /dev/vda and grub-mkconfig -o /etc/grub/grub.cfg

  • reboot

  • Grub throws a few error messages: "error: no such device: [some device ID].\n loading linux core repo kernel \n error no such partition \n loading initial ramdisk \n error you need to load the kernel first \n press any key to continue"



I can still boot the machine by going into the grub commandline, doing "linux (hd0,msdos1)/boot/vmlinuz...." and the same for initrd, and running "boot" to boot it, but that seems a little inconvenient.
Yes I'm cutting short some things like hostname and what not, but it should boot as far as I know.




Does anyone know what I'm doing wrong?



Edit: I changed /etc/default/grub to not use UUIDs and ran grub-mkconfig again, here's the grub.cfg it generated: http://pastebin.ca/3746197
it still will not boot, though.


Answer



I found the problem. Not proud of my findings.



It's supposed to be grub-mkconfig -o /boot/grub/grub.cfg, not /etc/grub/grub.cfg. D'oh!



Leaving this here in case anyone else runs into it.



No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...