Ignore:
Timestamp:
May 10, 2006, 10:25:52 AM (19 years ago)
Author:
Jim Gifford <clfs@…>
Branches:
clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
2676abb
Parents:
23fc9445
Message:

r3360@server (orig r1549): ken | 2006-05-10 09:56:16 -0700
Make yaboot work in ppc64 final-system, and label ppc64 as working in the main index.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BOOK/final-system/ppc64/yaboot.xml

    r23fc9445 rc06e893  
    1515  </indexterm>
    1616
    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'])"/>
    3620
    3721  <sect2 role="installation">
    3822    <title>Installation of Yaboot</title>
    3923
    40   <caution>
     24    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     25    href="../ppc/yaboot.xml"
     26    xpointer="xpointer(//*[@os='a'])"/>
    4127
    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'])"/>
    4431
    45   </caution>
     32    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     33    href="../ppc/yaboot.xml"
     34    xpointer="xpointer(//*[@os='c'])"/>
    4635
    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'])"/>
    4939
    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>
    5145
    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>
    5449
    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>
    5652
    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>
    9955        <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>
    10559        </listitem>
    10660      </varlistentry>
    107 
    108       <varlistentry id="ofboot">
    109         <term><command>ofboot</command></term>
     61      <varlistentry>
     62        <term><parameter>"s/\(-Bstatic\)/-melf32ppclinux \1/"</parameter></term>
    11063        <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>
    16968        </listitem>
    17069      </varlistentry>
     
    17271    </variablelist>
    17372
     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
    174104  </sect2>
    175105
     106  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     107  href="../ppc/yaboot.xml"
     108  xpointer="xpointer(id('contents-yaboot'))"/>
     109
    176110</sect1>
Note: See TracChangeset for help on using the changeset viewer.