Code: Select all
# locate refind.conf |grep boot
/boot/refind.conf.bak
/boot/efi/EFI/refind/refind.conf
/boot/efi/EFI/refind/refind.conf-sample
Code: Select all
~ $ locate refind.conf
/boot/efi/EFI/refind/refind.conf
/boot/efi/EFI/refind/refind.conf-sample
Code: Select all
LABEL=CT250MX_EFI /boot/efi vfat auto,noatime 1 2
LABEL=CT250MX_PART2 / ext4 defaults,noatime 0 1
LABEL=WD5001_PART2 /video ext4 nofail,auto,relatime 0 3
LABEL=DATA /data ext4 nofail,auto,relatime 0 4
LABEL=10TBbackup /mnt/backup ext4 noauto,auto,user 0 0
/dev/sr0 /mnt/cdrom auto noauto,user,ro 0 0
tmpfs /var/tmp/portage tmpfs nofail,noatime,nr_inodes=1M,size=20G 0 0
Code: Select all
$ grep -v ^# /etc/fstab
LABEL=CT500MX_EFI /boot/efi vfat relatime 1 2
LABEL=CT500MX_PART2 / ext4 relatime 0 1
LABEL=SAGE_VIDEO /video ext4 auto,relatime 0 1
/dev/sr0 /mnt/cdrom auto user,noauto,nofail 0 0
/dev/shm /var/tmp/portage tmpfs noatime,nodev,nosuid 0 0
devpts /dev/pts devpts rw,notime,gid=5,mode=620,ptmxmode=000 0 0
LABEL=P1-1TB /mnt/freegentoo ext4 relatime,noauto 0 1
LABEL=P2-1TB /mnt/custom ext4 relatime,noauto 0 1
LABEL=P3-1TB /home/tony/.VirtualBox ext4 relatime,auto 0 1
//trantor/video /mnt/samba-trantor cifs vers=1.0,users,user=guest,password=none,rw 0 0
//trantor/data /mnt/trantor-data cifs auto,vers=1.0,users,user=guest,password=none,rw 0 0
I think that's just a convention. You could call it /efi or /mnt/efi or /mymotherinlaw. The boot system doesn't know about the Linux names. It just searches the first partition on the drive, which must be vfat, partition for files ending in .efidepontius wrote:That's interesting to see. So the critical partition for booting is now "/boot/efi",

FWIW, my similar machine uses Grub, and I found it much easier to setup than rEFInd. I just installed Grub, generated grub.cfg, and edited the result down to what I'd have typed for a manual configuration in legacy Grub days (i.e. using /boot/vmlinuz and /boot/vmlinuz.old), using grub-config to get the syntax right.Tony0945 wrote:OK! I'll report back too on my NVME and Ryzen 3900 adventure. Together we will muddle through.

Code: Select all
$ find /boot -type f -print
/boot/EFI/gummiboot/gummibootx64.efi
/boot/Boot/BOOTX64.EFI
/boot/current/vmlinuz
/boot/current/System.map
/boot/admin/System-gentoo.map
/boot/admin/gentoo
/boot/admin/gentoo-config
/boot/admin/image.squashfs
/boot/admin/gentoo.igz
/boot/loader/entries/admin.conf
/boot/loader/entries/gentoo.conf
/boot/loader/entries/gentoo-5.5.conf
/boot/loader/entries/gentoo-last.conf
/boot/loader/entries/gentoo-single.conf
/boot/loader/loader.conf
/boot/livecd
/boot/last/System.map
/boot/last/vmlinuz
/boot/gentoo-5.5/System.map
/boot/gentoo-5.5/vmlinuzCode: Select all
Model: Unknown (unknown)
Disk /dev/nvme0n1: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2149MB 2147MB fat32 EFI boot, esp
2 2149MB 500GB 498GB btrfs root-n1
Code: Select all
$ eq u refind
...
- - btrfs : Builds the EFI binary btrfs filesystem driver
- - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of
globally
+ - ext2 : Builds the EFI binary ext2 filesystem driver
+ - ext4 : Builds the EFI binary ext4 filesystem driver
- - hfs : Builds the EFI binary hfs filesystem driver
+ - iso9660 : Builds the EFI binary iso9660 filesystem driver
- - ntfs : Builds the EFI binary ntfs filesystem driver
- - reiserfs : Builds the EFI binary reiserfs filesystem driver
Code: Select all
timeout 5
showtools shell, gdisk, memtest, about, reboot, exit, firmware
scanfor internal,external,optical,manual biosexternal
dont_scan_volumes LABEL="SAGE_VIDEO" LABEL="P1-1TB" LABEL="P2-1TB" LABEL="P3-1TB"
fold_linux_kernels false
default_selection 1
menuentry Linux {
icon EFI/refind/icons/os_linux.png
volume 904404F8-B481-440C-A1E3-11A5A954E601
loader bzImage-3.3.0-rc7
initrd initrd-3.3.0.img
options "ro root=UUID=5f96cafa-e0a7-4057-b18f-fa709db5b837"
disabled
}
menuentry "Arch Linux" {
icon /EFI/refind/icons/os_arch.png
volume "Arch Linux"
loader /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
options "root=PARTUUID=5028fa50-0079-4c40-b240-abfaf28693ea rw add_efi_memmap"
submenuentry "Boot using fallback initramfs" {
initrd /boot/initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
disabled
}
menuentry Ubuntu {
loader /EFI/ubuntu/grubx64.efi
icon /EFI/refind/icons/os_linux.png
disabled
}
menuentry "ELILO" {
loader \EFI\elilo\elilo.efi
disabled
}
menuentry "Windows 7" {
loader \EFI\Microsoft\Boot\bootmgfw.efi
disabled
}
menuentry "Windows via shell script" {
icon \EFI\refind\icons\os_win.png
loader \EFI\tools\shell.efi
options "fs0:\EFI\tools\launch_windows.nsh"
disabled
}
menuentry "My macOS" {
icon \EFI\refind\icons\os_mac.png
volume "macOS boot"
loader \System\Library\CoreServices\boot.efi
disabled
}
It searches ALL the partitions that it can find and read. That's why I have the "don't scan volumes" line. The partitions listed there (by LABEL, It could also be by PARTUUID and maybe more) have kernels for projects. They are not meant for the build box. I don't want rEFInd offering them for boot. The server system has backups for the workstations. I don't want them offered on the server also. If YOUR system doesn't have stray kernels, the default search everything will be OK. It seems to work very fast.[/code]depontius wrote:In the system I'm running now, my kernels sit in a "/boot" partition, separate from root. I don't see how the heck rEFInd can find my kernels. Does it know how to read /etc/fstab?
The Doctor wrote:Firmware will always look for kernel called /efi/boot/bootx64.efi in the vfat partition. I'd put a kernel there that can boot the computer.
Code: Select all
tony@MSI ~ $ find /boot/efi -name *.efi
/boot/efi/EFI/refind/refind_x64.efi
/boot/efi/EFI/refind/drivers_x64/ext4_x64.efiSelecting an EFI DriverAnon-E-moose wrote:I'm not sure refind will work with a f2fs filesystem, as least the same way it does with other filesystems.
When I built my new machine I mounted the sda drive from the old one machine, did all my copying and just left it (unmounted) but live if needed, since it's an ssd and I'm not using it I don't worry about drive failure on it, just costs a few m-watts of power.
FWIW I installed rEFInd manually (I didn't like the look of its installer) and never got around to making a refind.conf; it works fine without one, albeit with one small message complaining about its absence.Tony0945 wrote:It searches ALL the partitions that it can find and read. That's why I have the "don't scan volumes" line. The partitions listed there (by LABEL, It could also be by PARTUUID and maybe more) have kernels for projects. They are not meant for the build box. I don't want rEFInd offering them for boot. The server system has backups for the workstations. I don't want them offered on the server also. If YOUR system doesn't have stray kernels, the default search everything will be OK. It seems to work very fast.
...

rEFInd supports semi-automatic Linux EFI stub loader detection. This feature works as part of the standard boot loader scan operation, but it extends it as follows:
rEFInd looks for boot loaders whose names include the strings bzImage, kernel, or vmlinuz. For instance, bzImage-4.15.0.efi or vmlinuz-5.4.0 would match, and trigger subsequent steps in this procedure. The scan_all_linux_kernels option in refind.conf controls the scanning for kernels whose names do not end in .efi; if this option is set to false, kernel filenames must end in .efi to be picked up by rEFInd. This option is set to true by default, but you can change it if you don't want to scan all Linux kernels.
If a file's name ends in .efi.signed, any other file with an otherwise-identical name that lacks this extension is excluded. This peculiar rule exists because old versions of Ubuntu deliver two copies of every kernel, one with and one without this extension. The one with the extension is signed with a Secure Boot key; the one without it is not so signed. Thus, if both files are present, the one without the key won't boot on a computer with Secure Boot active, and either will boot if Secure Boot is inactive. Thus, rEFInd excludes the redundant (unsigned) file in order to help keep the list of boot options manageable.
....
The default refind.conf is all commented out except for the manual stanzas which are disabled by default anyway.Goverp wrote:FWIW I installed rEFInd manually (I didn't like the look of its installer) and never got around to making a refind.conf; it works fine without one, albeit with one small message complaining about its absence.
Technically EFI is allowed to support any filesystems it wants, it's just that all x86 mainboard makers are as lazy as possible when it comes to firmware and do the bare minimum that gets windows to boot, which happens to be fat32.Anon-E-moose wrote:The only constraints on efi partitions, AFAIK, are formatted fat32 with flags boot and esp, as far as the name, I don't think it matters.
Ah! So it's not part of the spec, just commercial practice.Ant P. wrote:Technically EFI is allowed to support any filesystems it wants, it's just that all x86 mainboard makers are as lazy as possible when it comes to firmware and do the bare minimum that gets windows to boot, which happens to be fat32.Anon-E-moose wrote:The only constraints on efi partitions, AFAIK, are formatted fat32 with flags boot and esp, as far as the name, I don't think it matters.
I've put my grub.cfg on one of my Gentoo wiki pages.Tony0945 wrote:.... Grub is for BIOS boot, with it's constant editing. How many people on this forum have rebuilt their kernel and forgotten to update grub? How many have made a typographical error in editing and think they have a kernel error because it won't boot? ...