source: final-system/ppc64/yaboot.xml @ 370b16d

Last change on this file since 370b16d was 370b16d, checked in by Jim Gifford <clfs@…>, 18 years ago

r3961@server (orig r1782): ken | 2006-06-18 17:05:16 -0700
Trying to fix the ppc64 boot chapter, with a minor fix to boot/ppc/yaboot, and tidying up the 'Important' messages in ppc64 yaboot.

  • Property mode set to 100644
File size: 4.2 KB
Line 
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-system-yaboot" role="wrap">
9  <?dbhtml filename="yaboot.html"?>
10
11  <title>Yaboot-&yaboot-version;</title>
12
13  <indexterm zone="ch-system-yaboot">
14    <primary sortas="a-Yaboot">Yaboot</primary>
15  </indexterm>
16
17  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
18  href="../ppc/yaboot.xml"
19  xpointer="xpointer(//*[@role='package'])"/>
20
21  <sect2 role="installation">
22    <title>Installation of Yaboot</title>
23
24    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
25    href="../ppc/yaboot.xml"
26    xpointer="xpointer(//*[@os='a'])"/>
27
28    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
29    href="../ppc/yaboot.xml"
30    xpointer="xpointer(//*[@os='b'])"/>
31
32    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
33    href="../ppc/yaboot.xml"
34    xpointer="xpointer(//*[@os='c'])"/>
35
36    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
37    href="../ppc/yaboot.xml"
38    xpointer="xpointer(//*[@os='d'])"/>
39
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>
45
46<screen><userinput>sed -i -e "s/\(-print-libgcc-file-name\)/${BUILD32} \1/" \
47    -e "s/\(-Bstatic\)/-melf32ppclinux \1/" Makefile
48</userinput></screen>
49
50    <variablelist os="j">
51      <title>The meaning of the sed parameters:</title>
52
53      <varlistentry>
54        <term><parameter>"s/\(-print-libgcc-file-name\)/${BUILD32} \1/"</parameter></term>
55        <listitem>
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>
59        </listitem>
60      </varlistentry>
61      <varlistentry>
62        <term><parameter>"s/\(-Bstatic\)/-melf32ppclinux \1/"</parameter></term>
63        <listitem>
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>
68        </listitem>
69      </varlistentry>
70
71    </variablelist>
72
73    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
74    href="../ppc/yaboot.xml"
75    xpointer="xpointer(//*[@os='e'])"/>
76
77    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
78    href="../ppc/yaboot.xml"
79    xpointer="xpointer(//*[@os='f'])"/>
80
81    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
82    href="../ppc/yaboot.xml"
83    xpointer="xpointer(//*[@os='g'])"/>
84
85<screen os="h"><userinput>CFLAGS="${BUILD32}" make PREFIX=/usr</userinput></screen>
86
87    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
88    href="../ppc/yaboot.xml"
89    xpointer="xpointer(//*[@os='i'])"/>
90
91    <important os="j0">
92      <para>The multilib install of yaboot can fail if you miss any of the
93      patches or seds, or omit the CFLAGS variable. <command>ld</command> will
94      issue warnings, but the install will appear to complete successfully.
95      That would result in an unbootable system, so you need to log the output
96      to check it.</para>
97    </important>
98
99<screen><userinput>make PREFIX=/usr install 2&gt;&amp;1 | tee instlog</userinput></screen>
100
101    <para os='k'>To ensure that the install was successful, run the following
102    command:</para>
103
104<screen os='l'><userinput>grep 'powerpc:common64' instlog</userinput></screen>
105
106    <para os='m'>If the command gave you <emphasis>any</emphasis> output
107    (... is incompatible with powerpc:common output) the build of yaboot is
108    broken and you will have to correct your error(s) and repeat it.</para>
109
110  </sect2>
111
112  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
113  href="../ppc/yaboot.xml"
114  xpointer="xpointer(id('contents-yaboot'))"/>
115
116</sect1>
Note: See TracBrowser for help on using the repository browser.