Changeset c06e893 for BOOK/final-system/ppc64
- Timestamp:
- May 10, 2006, 10:25:52 AM (19 years ago)
- Branches:
- clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
- Children:
- 2676abb
- Parents:
- 23fc9445
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/final-system/ppc64/yaboot.xml
r23fc9445 rc06e893 15 15 </indexterm> 16 16 17 <sect2 role="package"> 18 <title/> 19 20 <!-- this is a copy of the ppc version. once it is working, the text needs to 21 be fixed to refer to the master text instead of copying it --> 22 23 <para>The Yaboot package contains a PowerPC Boot Loader for machines using 24 OpenFirmware such as NewWorld Macintoshes.</para> 25 26 <segmentedlist> 27 <segtitle>&dependencies;</segtitle> 28 29 <seglistitem> 30 <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, 31 Make, Ncurses, and Sed</seg> 32 </seglistitem> 33 </segmentedlist> 34 35 </sect2> 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 18 href="../ppc/yaboot.xml" 19 xpointer="xpointer(//*[@role='package'])"/> 36 20 37 21 <sect2 role="installation"> 38 22 <title>Installation of Yaboot</title> 39 23 40 <caution> 24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 25 href="../ppc/yaboot.xml" 26 xpointer="xpointer(//*[@os='a'])"/> 41 27 42 <para>This does not work! For now, if you have an existing system, use 43 yaboot from that system.</para> 28 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 29 href="../ppc/yaboot.xml" 30 xpointer="xpointer(//*[@os='b'])"/> 44 31 45 </caution> 32 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 33 href="../ppc/yaboot.xml" 34 xpointer="xpointer(//*[@os='c'])"/> 46 35 47 <para>Yaboot has a compilation error. The following patch properly fixes 48 the issue:</para> 36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 37 href="../ppc/yaboot.xml" 38 xpointer="xpointer(//*[@os='d'])"/> 49 39 50 <screen><userinput>patch -Np1 -i ../yaboot-&yaboot-version;-fix-1.patch</userinput></screen> 40 <para>Existing multilib distributions alter gcc to default to 32-bit 41 output. Because our gcc defaults to 64-bit, we need to pass appropriate 42 options to both the compiler and the linker. The Makefile already 43 overrides any CC and ignores LDFLAGS in favour of its own variables, so we 44 need to use the following seds for a successful compile and install.</para> 51 45 52 <para>The supplied man pages have <filename class="directory">/usr/local 53 </filename> in the text. This sed will correct that:</para> 46 <screen><userinput>sed -i -e "s/\(-print-libgcc-file-name\)/${BUILD32} \1/" \ 47 -e "s/\(-Bstatic\)/-melf32ppclinux \1/" Makefile 48 </userinput></screen> 54 49 55 <screen><userinput>sed -i 's%/usr/local%/usr%' man/*</userinput></screen> 50 <variablelist os="j"> 51 <title>The meaning of the sed parameters:</title> 56 52 57 <para>Compile the Yaboot package:</para> 58 59 <screen><userinput>make PREFIX=/usr</userinput></screen> 60 61 <para>Install the package:</para> 62 63 <screen><userinput>make PREFIX=/usr install</userinput></screen> 64 65 </sect2> 66 67 <sect2 id="contents-yaboot" role="content"> 68 <title>Contents of Yaboot</title> 69 70 <segmentedlist> 71 <segtitle>Installed programs</segtitle> 72 <segtitle>Installed files</segtitle> 73 74 <seglistitem> 75 <seg>addnote, mkofboot (link to ybin), ofboot, ofpath, yaboot, 76 yabootconfig, ybin</seg> 77 <seg>yaboot.conf</seg> 78 </seglistitem> 79 </segmentedlist> 80 81 <variablelist> 82 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 83 <?dbfo list-presentation="list"?> 84 <?dbhtml list-presentation="table"?> 85 86 <varlistentry id="addnote"> 87 <term><command>addnote</command></term> 88 <listitem> 89 <para>For IBM CHRP machines, add a PT_NOTE program header 90 entry to an elf file so that it can be booted.</para> 91 <indexterm zone="ch-system-yaboot addnote"> 92 <primary sortas="b-addnote">addnote</primary> 93 </indexterm> 94 </listitem> 95 </varlistentry> 96 97 <varlistentry id="mkofboot"> 98 <term><command>mkofboot</command></term> 53 <varlistentry> 54 <term><parameter>"s/\(-print-libgcc-file-name\)/${BUILD32} \1/"</parameter></term> 99 55 <listitem> 100 <para>Format the bootstrap partition and install the yaboot 101 boot loader.</para> 102 <indexterm zone="ch-system-yaboot mkofboot"> 103 <primary sortas="b-mkofboot">mkofboot</primary> 104 </indexterm> 56 <para>This picks a convenient place within the Makefile's lgcc 57 variable and inserts the flag to force <command>gcc</command> to 58 create 32-bit code when compiling yaboot.</para> 105 59 </listitem> 106 60 </varlistentry> 107 108 <varlistentry id="ofboot"> 109 <term><command>ofboot</command></term> 61 <varlistentry> 62 <term><parameter>"s/\(-Bstatic\)/-melf32ppclinux \1/"</parameter></term> 110 63 <listitem> 111 <para>Script to format the boot menu using yaboot.conf and 112 write the resulting OpenFirmware code to the bootstrap.</para> 113 <indexterm zone="ch-system-yaboot ofboot"> 114 <primary sortas="b-ofboot">ofboot</primary> 115 </indexterm> 116 </listitem> 117 </varlistentry> 118 119 <varlistentry id="ofpath"> 120 <term><command>ofpath</command></term> 121 <listitem> 122 <para>Determine OpenFirmware path corresponding to a device 123 node.</para> 124 <indexterm zone="ch-system-yaboot ofpath"> 125 <primary sortas="b-ofpath">ofpath</primary> 126 </indexterm> 127 </listitem> 128 </varlistentry> 129 130 <varlistentry id="yaboot"> 131 <term><command>yaboot</command></term> 132 <listitem> 133 <para>OpenFirmware boot loader.</para> 134 <indexterm zone="ch-system-yaboot yaboot"> 135 <primary sortas="b-yaboot">yaboot</primary> 136 </indexterm> 137 </listitem> 138 </varlistentry> 139 140 <varlistentry id="yabootconfig"> 141 <term><command>yabootconfig</command></term> 142 <listitem> 143 <para>Generate and install a simple yaboot.conf.</para> 144 <indexterm zone="ch-system-yaboot yabootconfig"> 145 <primary sortas="b-yabootconfig">yabootconfig</primary> 146 </indexterm> 147 </listitem> 148 </varlistentry> 149 150 <varlistentry id="ybin"> 151 <term><command>ybin</command></term> 152 <listitem> 153 <para>Shell script to update or install the boot loader 154 on a bootstrap partition.</para> 155 <indexterm zone="ch-system-yaboot ybin"> 156 <primary sortas="b-ybin">ybin</primary> 157 </indexterm> 158 </listitem> 159 </varlistentry> 160 161 <varlistentry id="yaboot.conf"> 162 <term><filename>yaboot.conf</filename></term> 163 <listitem> 164 <para>Configuration file used by <command>ybin</command> to determine 165 how to install <command>yaboot</command> on the bootstrap partition.</para> 166 <indexterm zone="ch-system-yaboot yaboot.conf"> 167 <primary sortas="e-yaboot.conf">yaboot.conf</primary> 168 </indexterm> 64 <para>This picks the end of the LFLAGS which the Makefile passes to 65 the linker to create the second-stage linux loader, and inserts a 66 flag to force <command>ld</command> to use a suitable 32-bit 67 emulation picked from the output of <command>'ld -V'</command>.</para> 169 68 </listitem> 170 69 </varlistentry> … … 172 71 </variablelist> 173 72 73 <important> 74 <para>The above patches and seds are critical in ensuring a 75 successful build. In particular, the package will appear to install 76 correctly without the second sed, but will fail to load linux, 77 requiring you to use OF or a rescue disk to boot.</para> 78 </important> 79 80 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 81 href="../ppc/yaboot.xml" 82 xpointer="xpointer(//*[@os='e'])"/> 83 84 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 85 href="../ppc/yaboot.xml" 86 xpointer="xpointer(//*[@os='f'])"/> 87 88 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 89 href="../ppc/yaboot.xml" 90 xpointer="xpointer(//*[@os='g'])"/> 91 92 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 93 href="../ppc/yaboot.xml" 94 xpointer="xpointer(//*[@os='h'])"/> 95 96 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 97 href="../ppc/yaboot.xml" 98 xpointer="xpointer(//*[@os='i'])"/> 99 100 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 101 href="../ppc/yaboot.xml" 102 xpointer="xpointer(//*[@os='j'])"/> 103 174 104 </sect2> 175 105 106 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 107 href="../ppc/yaboot.xml" 108 xpointer="xpointer(id('contents-yaboot'))"/> 109 176 110 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.