注意:

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Difference between revisions of "Install/Bootloader"

From Funtoo
Jump to navigation Jump to search
Line 76: Line 76:
<!--T:211-->
<!--T:211-->
{{console|body=
{{console|body=
(chroot) # ##i##mount -o remount,rw --target /sys/firmware/efi/efivars
(chroot) # ##i##mount -o remount,rw /sys/firmware/efi/efivars
(chroot) # ##i##grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # ##i##grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # ##i##boot-update
(chroot) # ##i##boot-update
Line 86: Line 86:
<!--T:192-->
<!--T:192-->
{{console|body=
{{console|body=
(chroot) # ##i##mount -o remount,rw --target /sys/firmware/efi/efivars
(chroot) # ##i##mount -o remount,rw /sys/firmware/efi/efivars
(chroot) # ##i##grub-install --target=i386-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # ##i##grub-install --target=i386-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # ##i##boot-update
(chroot) # ##i##boot-update

Revision as of 20:48, December 5, 2018

Other languages:
English • ‎Türkçe • ‎español • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎

Install Guide: Bootloader

Install Guide, Chapter 14 < Prev Next >

These install instructions show you how to use GRUB to boot using BIOS (legacy) or UEFI.

Boot-update (ego boot) is installed by default, but GRUB is not, as it is not required for all Funtoo Linux systems (such as containers, for example.) But for booting on bare metal, it is the recommended and best-supported boot loader, so you will need to emerge it:

(chroot) # emerge -av grub

Next, edit /etc/boot.conf using nano and specify "Funtoo Linux genkernel" as the default setting at the top of the file, replacing "Funtoo Linux". Also, if you're not using memtest86+ remove the entry in boot.conf to avoid errors.

/etc/boot.conf should now look like this:

   /etc/boot.conf
boot {
	generate grub
	default "Funtoo Linux genkernel" 
	timeout 3 
}

"Funtoo Linux" {
	kernel bzImage[-v]
}

"Funtoo Linux genkernel" {
	kernel kernel[-v]
	initrd initramfs[-v]
	params += real_root=auto 
} 

"Funtoo Linux better-initramfs" {
	kernel vmlinuz[-v]
	initrd /initramfs.cpio.gz
}

If you are booting a custom or non-default kernel, please read man boot.conf for information on the various options available to you.

Old School (BIOS) MBR

When using "old school" BIOS booting, run the following command to install GRUB to your MBR, and generate the /boot/grub/grub.cfg configuration file that GRUB will use for booting:

(chroot) # grub-install --target=i386-pc --no-floppy /dev/sda
(chroot) # boot-update

New School (UEFI) Boot Entry

If you're using "new school" UEFI booting, run of the following sets of commands, depending on whether you are installing a 64-bit or 32-bit system. This will add GRUB as a UEFI boot entry.

For x86-64bit systems:

(chroot) # mount -o remount,rw /sys/firmware/efi/efivars
(chroot) # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # boot-update

For x86-32bit systems:

(chroot) # mount -o remount,rw /sys/firmware/efi/efivars
(chroot) # grub-install --target=i386-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # boot-update
Troubleshooting

If output of grub-install looks like this:

Installing for x86_64-efi platform.
Could not prepare Boot variable: Read-only file system
Installation finished. No error reported.

You might need remount efivars in rw mode:

(chroot) # mount -o remount,rw /sys/firmware/efi/efivars

First Boot, and in the future...

OK -- you are almost ready to boot!

You only need to run grub-install when you first install Funtoo Linux, but you need to re-run boot-update every time you modify your /etc/boot.conf file or add new kernels to your system. This will regenerate /boot/grub/grub.cfg so that you will have new kernels available in your GRUB boot menu, the next time you reboot.