Difference between revisions of "Install/BootLoader"

From Funtoo
Jump to: navigation, search
(Created page with "<noinclude> {{Note|This is a template that is used as part of the Installation instructions, which covers boot loader installation. Templates are being used to allow multiple...")
 
(Removed page from translation)
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
{{Note|This is a template that is used as part of the Installation instructions, which covers boot loader installation. Templates are being used to allow multiple variant install guides that use most of the same re-usable parts.}}
+
{{InstallPart|boot loader configuration}}
</noinclude>
+
</noinclude>=== Installing a Bootloader ===
=== Installing a Bootloader ===
 
  
{{fancynote|An alternate boot loader called extlinux can be used instead of GRUB if you desire. See the [[Extlinux|extlinux Guide]] for information on how to do this.}}
+
These install instructions show you how to use GRUB to boot using BIOS (old-school) or UEFI (new-school). As of boot-update-1.7.2, now in Portage, the steps are very similar.
  
==== Installing Grub ====
+
First, emerge <code>boot-update</code>. This will also cause <code>grub-2</code> and {{c|efibootmgr}} to be merged, since they are dependencies:
 
 
The boot loader is responsible for loading the kernel from disk when your computer boots. For new installations, GRUB 2 and Funtoo's boot-update tool should be used as a boot loader. GRUB supports both GPT/GUID and legacy MBR partitioning schemes.
 
 
 
To use this recommended boot method, first emerge <code>boot-update</code>. This will also cause <code>grub-2</code> to be merged, since it is a dependency of <code>boot-update</code>. (You may need to adjust <code>GRUB_PLATFORMS</code> if you are on a UEFI system. See [[UEFI Install Guide]]).
 
  
 
<console>
 
<console>
Line 16: Line 11:
 
</console>
 
</console>
  
Then, edit <code>/etc/boot.conf</code> and specify "<code>Funtoo Linux genkernel</code>" as the <code>default</code> setting at the top of the file, replacing <code>"Funtoo Linux"</code>.  
+
Then, edit <code>/etc/boot.conf</code> using {{c|nano}} and specify "<code>Funtoo Linux genkernel</code>" as the <code>default</code> setting at the top of the file, replacing <code>"Funtoo Linux"</code>.  
  
 
<code>/etc/boot.conf</code> should now look like this:
 
<code>/etc/boot.conf</code> should now look like this:
  
<pre>
+
{{file|name=/etc/boot.conf|body=
 
boot {
 
boot {
        generate grub
+
generate grub
        default "Funtoo Linux genkernel"
+
default "Funtoo Linux genkernel"  
        timeout 3  
+
timeout 3  
 
}
 
}
  
 
"Funtoo Linux" {
 
"Funtoo Linux" {
        kernel bzImage[-v]
+
kernel bzImage[-v]
        # params += nomodeset
 
 
}
 
}
  
 
"Funtoo Linux genkernel" {
 
"Funtoo Linux genkernel" {
# if you use bliss-kernel package
+
kernel kernel[-v]
# you should change string
+
initrd initramfs[-v]
# kernel kernel[-v]
+
params += real_root=auto  
# to
 
# kernel kernel/[-v]/kernel[-v]
 
        kernel kernel[-v]
 
        initrd initramfs[-v]
 
        params += real_root=auto  
 
        # params += nomodeset
 
 
}  
 
}  
</pre>
 
  
If you use bliss-kernel, your <code>/etc/boot.conf</code> should look like:
+
"Funtoo Linux better-initramfs" {
 +
kernel vmlinuz[-v]
 +
initrd /initramfs.cpio.gz
 +
}
 +
}}
  
<pre>
+
If you are booting a custom or non-default kernel, please read <code>man boot.conf</code> for information on the various options available to you.
boot {
+
 
        generate grub
+
==== Old School (BIOS) MBR ====
        default "Funtoo Linux genkernel"
 
        timeout 3
 
}
 
  
"Funtoo Linux" {
+
When using "old school" BIOS booting, run the following command to install GRUB to your MBR, and generate the {{c|/boot/grub/grub.cfg}} configuration file that GRUB will use for booting:
        kernel bzImage[-v]
 
        # params += nomodeset
 
}
 
  
"Funtoo Linux genkernel" {
+
<console>
        kernel kernels/[-v]/kernel[-v]
+
(chroot) # ##i##grub-install --target=i386-pc --no-floppy /dev/sda
        initrd initramfs[-v]
+
(chroot) # ##i##boot-update
        params += real_root=auto
+
</console>
        # params += nomodeset
 
}
 
</pre>
 
  
Please read <code>man boot.conf</code> for further details.
+
==== New School (UEFI) Boot Entry ====
  
===== Running grub-install and boot-update =====
+
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.
  
Finally, we will need to actually install the GRUB boot loader to your disk, and also run <code>boot-update</code> which will generate your boot loader configuration file:
+
For x86-64bit systems:
  
 
<console>
 
<console>
(chroot) # ##i##grub-install --no-floppy /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
 
</console>
 
</console>
  
Now you need to update your boot loader configuration file:
+
For x86-32bit systems:
 +
 
 
<console>
 
<console>
 +
(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
 
</console>
 
</console>
You only need to run <code>grub-install</code> when you first install Funtoo Linux, but you need to re-run <code>boot-update</code> every time you modify your <code>/etc/boot.conf</code> file, so your changes are applied on next boot.
+
 
 +
==== First Boot, and in the future... ====
 +
 
 +
OK -- you are ready to boot!
 +
 
 +
You only need to run <code>grub-install</code> when you first install Funtoo Linux, but you need to re-run <code>boot-update</code> every time you modify your <code>/etc/boot.conf</code> file or add new kernels to your system. This will regenerate {{c|/boot/grub/grub.cfg}} so that you will have new kernels available in your GRUB boot menu, the next time you reboot.

Latest revision as of 20:33, July 16, 2015


   Note

This is a template that is used as part of the Installation instructions which covers: boot loader configuration. Templates are being used to allow multiple variant install guides that use most of the same re-usable parts.

Installing a Bootloader

These install instructions show you how to use GRUB to boot using BIOS (old-school) or UEFI (new-school). As of boot-update-1.7.2, now in Portage, the steps are very similar.

First, emerge boot-update. This will also cause grub-2 and efibootmgr to be merged, since they are dependencies:

(chroot) # emerge boot-update

Then, edit /etc/boot.conf using nano and specify "Funtoo Linux genkernel" as the default setting at the top of the file, replacing "Funtoo Linux".

/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) # 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) # grub-install --target=i386-efi --efi-directory=/boot --bootloader-id="Funtoo Linux [GRUB]" --recheck /dev/sda
(chroot) # boot-update

First Boot, and in the future...

OK -- you are 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.