[bf8c11f] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?> |
---|
| 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" |
---|
| 3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ |
---|
| 4 | <!ENTITY % general-entities SYSTEM "../../general.ent"> |
---|
| 5 | %general-entities; |
---|
| 6 | ]> |
---|
| 7 | |
---|
| 8 | <sect1 id="ch-bootable-yaboot" arch="ppc"> |
---|
| 9 | <?dbhtml filename="yaboot.html"?> |
---|
| 10 | |
---|
| 11 | <title>Making the LFS System Bootable</title> |
---|
| 12 | |
---|
| 13 | <indexterm zone="ch-bootable-yaboot"> |
---|
| 14 | <primary sortas="a-Yaboot">Yaboot</primary> |
---|
| 15 | <secondary>configuring</secondary></indexterm> |
---|
| 16 | |
---|
[a625f8b] | 17 | <para os="a">Your shiny new LFS system is almost complete. One of the last |
---|
| 18 | things to do is to ensure that the system can be properly booted. The |
---|
| 19 | instructions below apply only to NewWorld Macintoshes and (probably) |
---|
| 20 | PegasosPPC.</para> |
---|
| 21 | |
---|
| 22 | <para os="b">Boot loading can be a complex area, so a few cautionary words |
---|
| 23 | are in order. Be familiar with the current boot loader and any other |
---|
| 24 | operating systems present on the hard drive(s) that need to be bootable. |
---|
| 25 | Make sure that an emergency CD is ready to <quote>rescue</quote> the |
---|
| 26 | computer if it becomes un-bootable.</para> |
---|
| 27 | |
---|
| 28 | <para os="c">Earlier, we compiled and installed the yaboot boot loader software |
---|
| 29 | in preparation for this step. The procedure involves writing the bootloader |
---|
| 30 | to a bootstrap partition and blessing it so that OpenFirmware will boot from |
---|
| 31 | it. This is all handled by <command>ybin</command> the yaboot installer.</para> |
---|
| 32 | |
---|
| 33 | <para os="d">Ybin assembles all the information it needs by reading yaboot.conf, |
---|
| 34 | then writes the bootstrap. When booted, the bootstrap provides an initial menu to |
---|
| 35 | choose between linux, boot from CD, and e.g. osx (depending on what was in yaboot.conf). |
---|
| 36 | If you boot to 'linux', yaboot kicks in and lets you select which kernel to use.</para> |
---|
| 37 | |
---|
| 38 | <para os="e">Images (kernels) are specified, together with any necessary path, |
---|
| 39 | in yaboot.conf - the details are incorporated into the bootloader, but no attempt |
---|
| 40 | is made to access or validate the paths until they are selected. There are many |
---|
| 41 | possible options that can be specified in yaboot.conf, see the man page for the |
---|
| 42 | details. Most people will be able to specify device=hd: (for a single hard disk), |
---|
| 43 | but if you have multiple disks, or if you wish to be pedantic, you can specify the |
---|
| 44 | full OF path to the device, obtained by running <command>ofpath</command>.</para> |
---|
| 45 | |
---|
| 46 | <para os="f">Note that the man page mentions which filesystems yaboot can |
---|
| 47 | navigate to find the images - the only linux filesystem type mentioned is ext2. |
---|
| 48 | You can use ext3 because that can be read like ext2, but if you wish to use |
---|
| 49 | reiserfs or any other filesystem you may need to create a separate boot partition |
---|
| 50 | formatted as ext2.</para> |
---|
| 51 | |
---|
| 52 | <para os="h">Using the above information, determine the appropriate designators |
---|
| 53 | for the bootstrap partition and the root partition. For the following example, |
---|
| 54 | it is assumed that the bootstrap partition is <filename class="partition">hda2 |
---|
| 55 | </filename> and the root partition is <filename class="partition">hda7</filename> |
---|
| 56 | . We will also assume that you wish to be able to boot an OSX installation on |
---|
| 57 | <filename class="partition">hda4</filename>. Change these items as necessary |
---|
| 58 | for your machine.</para> |
---|
| 59 | |
---|
| 60 | <para os="k">Create a <quote>yaboot.conf</quote> file defining yaboot's boot |
---|
| 61 | menu:</para> |
---|
| 62 | |
---|
| 63 | <screen os="l" role="nodump"><userinput>cat > /etc/yaboot.conf << "EOF" |
---|
| 64 | <literal># Begin /etc/yaboot.conf |
---|
| 65 | |
---|
| 66 | # By default, yaboot will boot the first menu entry. |
---|
| 67 | |
---|
| 68 | # Allow 10 seconds before booting the default. |
---|
| 69 | # this will also apply to the first-stage os selector |
---|
[9cc11c3] | 70 | timeout=100 |
---|
[a625f8b] | 71 | |
---|
| 72 | # These variables are global |
---|
| 73 | # first, where to put the bootstrap partition |
---|
| 74 | boot=/dev/hda2 |
---|
| 75 | |
---|
| 76 | # Which disk to use |
---|
| 77 | device=hd: |
---|
| 78 | |
---|
| 79 | # Default partition for the kernel images |
---|
| 80 | partition=7 |
---|
| 81 | |
---|
| 82 | # default root partition |
---|
| 83 | root=/dev/hda7 |
---|
| 84 | |
---|
| 85 | # where ybin is to find yaboot and ofboot |
---|
| 86 | install=/usr/lib/yaboot/yaboot |
---|
| 87 | magicboot=/usr/lib/yaboot/ofboot |
---|
| 88 | |
---|
| 89 | # allow the initial menu to offer CD as an option |
---|
| 90 | enablecdboot |
---|
| 91 | |
---|
| 92 | # allow the initial menu to boot from mac osx |
---|
| 93 | macosx=/dev/hda4 |
---|
| 94 | |
---|
| 95 | # The first entry is for LFS. |
---|
| 96 | # For all images, the pathname is relative to the filesystem |
---|
| 97 | # on which they are mounted. |
---|
[930f404] | 98 | image=/boot/lfskernel-&linux-version; |
---|
[a625f8b] | 99 | label=&version; |
---|
| 100 | read-only</literal> |
---|
| 101 | EOF</userinput></screen> |
---|
| 102 | |
---|
| 103 | |
---|
| 104 | <para os="n">Add an entry for the host distribution, if you have one. It might |
---|
| 105 | look something like this if the kernel and initrd are in the host's '/' |
---|
| 106 | directory on <filename class="partition">hda6</filename>:</para> |
---|
| 107 | |
---|
| 108 | <screen os="o" role="nodump"><userinput>cat >> /etc/yaboot.conf << "EOF" |
---|
| 109 | <literal>title Debian |
---|
| 110 | image=/pci@f4000000/ata-6d/disk@0:6,/vmlinux |
---|
| 111 | label=Debian |
---|
| 112 | initrd=/pci@f4000000/ata-6d/disk@0:6,/initrd.gz |
---|
| 113 | initrd-size=10000 |
---|
| 114 | append="root=/dev/hda7" |
---|
| 115 | read-only</literal> |
---|
| 116 | EOF</userinput></screen> |
---|
| 117 | |
---|
| 118 | <warning os="r"> |
---|
| 119 | <para>The following command will overwrite the current boot loader. |
---|
| 120 | Do not run the command if this is not desired.</para> |
---|
| 121 | </warning> |
---|
| 122 | |
---|
| 123 | <screen os="s" role="nodump"><userinput>ybin</userinput></screen> |
---|
[bf8c11f] | 124 | |
---|
[6d5bc698] | 125 | <para os="t">Alternatively, if the bootstrap partition has not already been |
---|
| 126 | initialized, perhaps because you are using a Live CD, you will need to use |
---|
| 127 | a different command to install the bootloader for the first time:</para> |
---|
| 128 | |
---|
| 129 | <screen os="u" role="nodump"><userinput>mkofboot</userinput></screen> |
---|
| 130 | |
---|
[bf8c11f] | 131 | </sect1> |
---|