Difference between pages "Welcome" and "Package:Boot-Update"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
(add mention of metro and keychain to main page)
 
 
Line 1: Line 1:
<div class="container" style="font-family: Open Sans; font-size: 14px; line-height: 20px;"><div class="row"><div class="col-xs-12 col-md-8 col-lg-8">
{{Ebuild
{{Slideshow}}
|Summary=Funtoo Core Boot Framework for global boot loader configuration
Want to submit a screenshot? [http://forums.funtoo.org/index.php?/topic/180-screenshots/ See here.]
|CatPkg=sys-boot/boot-update
</div><div class="col-xs-12 col-md-4 col-lg-4">
|Maintainer=Drobbins
'''Funtoo Linux''' is a Linux-based operating system that is a variant of [http://www.gentoo.org Gentoo Linux], led by [[User:Drobbins|Daniel Robbins]], the creator and former Chief Architect of [http://en.wikipedia.org/wiki/Gentoo_Linux Gentoo Linux], who serves as benevolent dictator for life (BDFL) of the project. ''Funtoo Linux is optimized for the best possible performance, supporting Intel Core i7, AMD FX Processors, and others.''  [[Subarches|See what we support.]] See [[#Distinctives|Distinctives]], below, for more information about what makes Funtoo Linux special.
|Repository=Funtoo Overlay
 
|Organization=Funtoo Technologies
'''Other Funtoo Projects include''':
|Overlay=Funtoo
*  [[Keychain]], an SSH/GPG agent front-end.
* [[Metro]], automated Funtoo build engine.
<div class="bs-callout bs-callout-warning">
[[Support Funtoo]] to help us grow! '''Donate $15 per month and get a free [[Funtoo Hosting|Funtoo Virtual Container]].'''
</div>
=== News ===
{{NewsList|1}}
[[News|View More News...]]
</div>
</div><div class="row">
<div class="col-xs-12 col-md-4 col-lg-4">
=== Resources ===
'''View the [[Funtoo Linux FAQ]] for answers to common questions.'''
 
{{#ask: [[Category:People]] [[Gravatar MD5::+]]
| limit=22
| order=random
| format=template
| template=GravatarDisplay
| link=none
| searchlabel=
}}
 
Join us - {{CreateAccount}}, and then add yourself to our [[Usermap]]!
 
'''Our resources:''' -- also see the <code>Go</code> menu:
* '''{{CreateAccount}}''' ([[Funtoo Authentication FAQ|Auth FAQ]])
* '''[http://forums.funtoo.org forums.funtoo.org]''' - our new forums!
* '''[http://bugs.funtoo.org bugs.funtoo.org]''', our bug tracker ([[Reporting Bugs|Instructions]]).
* [http://larrythecow.org larrythecow.org], Gentoo blog service.
* [http://kernel-seeds.org kernel-seeds.org], kernel build help.
* [http://git.funtoo.org git.funtoo.org], our cgit repository browser.
* '''[[Support Funtoo]]''' to help our project grow.
* '''[[Funtoo Hosting|Get a Funtoo Virtual Container]]'''.
 
'''Ebuild pages recently updated:''' {{#ask: [[Category:Ebuilds]]
| order=descending
| sort=Modification date
| format=list
| limit=10
| searchlabel=more...
}}
}}
</div><div class="col-sm-12 col-xs-12 col-md-4 col-lg-4">
Funtoo boot-update provides a unified mechanism for configuring the GRUB 1.9x ({{Package|sys-boot/grub}}) and GRUB 0.97 ({{Package|sys-boot/grub-legacy}}) boot loaders. It is the recommended, official way to configure Funtoo Linux systems for booting.
=== Getting Started ===


We encourage you to '''[[Funtoo Linux Installation|install Funtoo Linux]]''', and get involved in our user community. Get to know fellow Funtoo Linux users on our '''[http://forums.funtoo.org forums]'''. If you have any improvements or find any bugs in Funtoo Linux, you are strongly encouraged to report them on our '''[http://bugs.funtoo.org bug tracker]'''. We take all bugs seriously, and all work performed on Funtoo Linux is tracked on our bug tracker, for purposes of transparency.
== Current Version ==


Funtoo Linux has a very active [http://en.wikipedia.org/wiki/IRC IRC] community on Freenode, in the <code>#funtoo</code> channel, and you are encouraged to hang out online with us.
* {{Package|sys-boot/boot-update}}


=== Expand the wiki! ===
== Man Pages ==
Consult the following man pages for detailed, up-to-date information on configuration file settings and command-line arguments:


The [[:Help:Funtoo_Editing_Guidelines | How to 'wiki']] will help get you started on wiki editing. Have a look at [[Requested-Documents]] and [[:Category:Needs_Updates | pages that need to be updated.]]
* boot-update(8)
* boot.conf(5)


See [[:Category:Ebuilds|Ebuilds]] for a list of all ebuild pages, and [[Adding an Ebuild to the Wiki]] for information on how to add one.
{{:Install/BootLoader}}


</div><div class="col-sm-12 col-xs-12 col-md-4 col-lg-4">
=== GRUB 0.97 (grub-legacy) Quick Start ===
=== Distinctives ===


Funtoo Linux is a meta-distribution, which means it is built (fully automatically) with the functionality and optimizations that ''you'' want, not what some distro maintainer thought was best for you. Funtoo Linux packages are installed directly from source code, thanks to the [http://en.wikipedia.org/wiki/Portage_(software) Portage ports system], inspired by the FreeBSD ports system, written in Python and with full advanced package management functionality.
If using <code>sys-boot/grub-legacy-0.97</code>, perform the following steps:


''Benefits for desktops'': leaner, optimized, faster system. ''Additional benefits for servers'': enable only what you actually need to reduce attack surface, thus improving security.
* Partition disk using MBR partitions '''(GPT not supported)'''
* Install kernel/initrd to <code>/boot</code>


We use [http://en.wikipedia.org/wiki/Git_(software) Git] for all our development, and we also use Git to deliver our ports tree to you.
<console>
###i## emerge sys-boot/boot-update
###i## emerge ">=sys-boot/grub-legacy-0.97-r11"
###i## grub-install-legacy /dev/sda
</console>
Due to an issue with <code>grub-legacy</code>, you may see the following message:
<console>
###i## grub-install-legacy /dev/sda
The file /boot/grub-legacy/stage1 not read correctly.
</console>
Should you receive this message, you will have to install <code>grub-legacy</code> from the grub shell.
Assuming <code>/boot</code> is the partition <code>/dev/sda1</code> and you want to install grub to the MBR, you would run the following:
<console>
###i## grub-legacy
root (hd0,0)
setup (hd0)
quit
</console>
When adjusting to fit your setup, remember 'root' is the location of your boot partition, 'setup' is where you want to install grub, and don't forget about grub's unique naming conventions for hard drives / partitions. For more information run:
<console>
###i## info grub-legacy
</console>


In contrast to Gentoo Linux, we offer a number of innovations, including our extensive use of git, [[Funtoo 1.0 Profile|our profile system]], [[Package:Boot-Update|boot-update]] boot management tool, our incredibly flexible [[Funtoo Linux Networking|template-based networking scripts]], [[Metro Quick Start Tutorial|Metro]] distribution build system, support of Debian, RHEL and other kernels, [[Creating_Python-related_Ebuilds|enhanced Python support]], Portage mini-manifests, user-centric distribution model, and a large number of community infrastructure improvements.
Ensure that <code>/etc/fstab</code> is correct, and edit <code>/etc/boot.conf</code> to reflect your installation.
</div></div></div>
Ensure a <code>generate grub-legacy</code> setting in the <code>boot</code> section. Then run:


__NOTITLE__
<console>
__NOEDITSECTION__
###i## boot-update
{{#subobject:|slideIndex=0|slideCaption=
</console>
<h4> [[User:Drobbins|drobbins]] </h4>
This will auto-generate the <code>/boot/grub-legacy/grub.conf</code> required for booting. Note that <code>grub-legacy-0.97-r11</code> and later stores <code>grub.conf</code> in the <code>/boot/grub-legacy</code> directory.


[[GNOME First Steps|GNOME 3.12]]
Re-run <code>boot-update</code> every time your available kernels / initrds or <code>/etc/boot.conf</code> configuration changes.
([[Funtoo_Linux_FAQ#Do_you_support_systemd.3F|without systemd]], because that's how we roll.)


Note: Badgers optional.
[[Category:Projects]]
|slideImage=File:gnome3122.jpg|slideLink=GNOME First Steps}}
[[Category:Funtoo features]]
{{#subobject:|slideIndex=1|slideCaption=
{{EbuildFooter}}
<h4>[[User:Anak1n|anak1n]] </h4>
 
flux box
|slideImage=File:fluxbox-09.02.14.jpg}}
{{#subobject:|slideIndex=2|slideCaption=
<h4>spectromas</h4>
 
[[Package:Awesome_(Window_Manager)|Awesome WM]]
|slideImage=File:awesome.jpg|slideLink=Package:Awesome (Window Manager)}}
{{#subobject:|slideIndex=3|slideCaption=
<h4> [[User:Anak1n|anak1n]] </h4>
 
KDE
|slideImage=File:anak1n-kde.jpg}}
{{#seo:
|title=Funtoo Linux
|keywords=funtoo,linux,gentoo,Daniel Robbins
|description=Funtoo Linux is a Gentoo-based Linux distribution that uses Portage
}}

Revision as of 18:18, January 11, 2015

Boot-Update

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

Funtoo boot-update provides a unified mechanism for configuring the GRUB 1.9x (No results) and GRUB 0.97 (No results) boot loaders. It is the recommended, official way to configure Funtoo Linux systems for booting.

Current Version

Man Pages

Consult the following man pages for detailed, up-to-date information on configuration file settings and command-line arguments:

  • boot-update(8)
  • boot.conf(5)

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.

GRUB 0.97 (grub-legacy) Quick Start

If using sys-boot/grub-legacy-0.97, perform the following steps:

  • Partition disk using MBR partitions (GPT not supported)
  • Install kernel/initrd to /boot
root # emerge sys-boot/boot-update
root # emerge ">=sys-boot/grub-legacy-0.97-r11"
root # grub-install-legacy /dev/sda

Due to an issue with grub-legacy, you may see the following message:

root # grub-install-legacy /dev/sda
The file /boot/grub-legacy/stage1 not read correctly.

Should you receive this message, you will have to install grub-legacy from the grub shell. Assuming /boot is the partition /dev/sda1 and you want to install grub to the MBR, you would run the following:

root # grub-legacy
root (hd0,0)
setup (hd0)
quit

When adjusting to fit your setup, remember 'root' is the location of your boot partition, 'setup' is where you want to install grub, and don't forget about grub's unique naming conventions for hard drives / partitions. For more information run:

root # info grub-legacy

Ensure that /etc/fstab is correct, and edit /etc/boot.conf to reflect your installation. Ensure a generate grub-legacy setting in the boot section. Then run:

root # boot-update

This will auto-generate the /boot/grub-legacy/grub.conf required for booting. Note that grub-legacy-0.97-r11 and later stores grub.conf in the /boot/grub-legacy directory.

Re-run boot-update every time your available kernels / initrds or /etc/boot.conf configuration changes.