LEAD ME DOWN ANOTHER RABBIT HOLE WITH OBTUSE NON-EXPLANATIONS, I DARE YOU MOTHERFUCKERS
oh you just gotta append some initrd= options to the boot loader or whatever, tehee :troll:
WELL HOW THE FUCK DO I DO THAT?? I WILL FIND YOU
When you boot, you’ll see grub. Interrupt the countdown by pressing a key (for example selecting another option than the default one). With your default boot option selected, press “e”. You’ll be able to edit your bootloader conf on the fly, specifically for this boot. Find the line that specifies the kernel to load - should start with “linux /boot/…” or “linux /vmlinuz…”. Add your “initrd=” parameter at the end of this line, just like a command line parameter, with a space before. Then boot with ctrl+x.
This will be effective only for that single boot. To make it permanent, find your grub configuration file. I don’t know arch well, but on Debian you’d edit files in /etc/grub.d (adding the “initrd=” thing at the end of the kernel line again) then do “grub-mkconfig” and “grub-install”. On arch I suppose it might be as simple as editing /boot/grub/grub.cfg (or menu.lst or something), and then doing grub-install. You should be able to find the arch-specific paths easily online.
For the record, you should only need to run grub-install
once. This command will install the master boot record on BIOS systems, or copy the EFI bootloader to the ESP and tweak the EFI variables to add it to the boot list on (U)EFI systems. grub-mkconfig
is what you want to run to scan the system for kernels and operatings systems and generate your GRUB configuration file. This does not require GRUB to be re-installed. None of this information is stored in the master boot record (a paltry 512 bytes) or the bootloader binaries. The bootloader includes a rudimentary filesystem driver which it uses to load the configuration file (along with your kernel and initrd). Most distributions invoke grub-mkconfig
automatically when installing a new kernel. The only time you should re-run grub-install
is if the location of your grub config file has changed (i.e. you repartitioned the drive).
On most distros you don’t even need to bother with this, but since Arch (and Gentoo 😎) are all about choice (jacking off motion), who knows? You might want to use something like LILO (yuck), rEFInd (yay), or compile your kernel so it can be booted directly by the EFI firmware without any bootloader at all.
rant
While I’m here, I’m just going to say that I absolutely hate setting up initrds and avoid them by all means when rolling my own kernels. And I’ve been running Gentoo off and on since 2004. There is no reason why my filesystem drivers can’t simply be compiled directly into the kernel. Save modules for the oddball shit like video game controllers, USB wifi dongles, etc.
Never installed GRUB, at least not explicitly. I went with efistub, but I will try again with GRUB.
e:
Choose a bootloader identifier, here named GRUB. A dirextory of that name will be created[…]
refuses to explain how
I actually got to the same point with GRUB that I was at with efistub. System won’t boot, saying “no such device” and “unknown filesystem”