/[gentoo]/xml/htdocs/doc/en/new-upgrade-to-gentoo-1.4.xml
Gentoo

Contents of /xml/htdocs/doc/en/new-upgrade-to-gentoo-1.4.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations) (download) (as text)
Sat Oct 4 11:04:56 2003 UTC (10 years, 10 months ago) by swift
Branch: MAIN
Changes since 1.3: +2 -0 lines
File MIME type: application/xml
Add license information

1 rac 1.1 <?xml version='1.0' encoding="UTF-8"?>
2     <?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl"?>
3    
4     <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
5    
6     <guide link="/doc/lang/new-upgrade-to-gentoo-1.4.xml">
7    
8     <title>Gentoo 1.4 Upgrade Guide</title>
9    
10     <author title = "Author">
11     <mail link = "rac@gentoo.org">Robert Coie</mail>
12     </author>
13    
14     <author title = "Copy Editor">
15     <mail link = "avenj@gentoo.org">Jon Portnoy</mail>
16     </author>
17    
18     <version>0.1</version>
19     <date>3 March 2003</date>
20    
21 swift 1.4 <license/>
22    
23 rac 1.1 <abstract>A method for upgrading older Gentoo installations in place to Gentoo 1.4</abstract>
24    
25     <chapter>
26     <title>Before you begin</title>
27     <section>
28     <title>Be prepared</title>
29     <body>
30     <p>As with any major upgrade to the core of your Gentoo
31     system, there is always the possibility that unforeseen
32     problems will ensue. It is always prudent to back up all
33     important data before beginning this process. If possible,
34     try to allocate a large block of time for this upgrade, so
35     that you will not feel rushed. All the software on your
36     machine will need to be recompiled.</p>
37     </body>
38     </section>
39     <section>
40     <title>Other options</title>
41     <body>
42     <p>This is not the only way to upgrade your system. You can
43     install a new 1.4 system onto a separate partition and
44     reuse some of your system configuration instead. This method also has
45     the advantage that you can always go back to your old system
46     in the meantime as a fallback. You may also decide to simply
47     not upgrade your system. If you decide you want to upgrade
48     in place, read on.</p>
49     </body>
50     </section>
51     <section>
52     <title>General notes</title>
53     <body>
54     <p>Whenever the code listings suggest running the
55     <c>emerge</c> command, it is always a good idea to make a test
56     run of the command using the <c>-p</c> or <c>--pretend</c>
57     option to make sure that the command will do what you expect
58     it to do.</p>
59     </body>
60     </section>
61     </chapter>
62     <chapter>
63     <title>Upgrading in place</title>
64     <section>
65     <title>Get Portage as current as possible</title>
66     <body>
67     <p>Some of the syntax of current ebuilds is unreadable by
68     older versions of Portage. If you don't have at least Portage 2.0.44, try upgrading Portage.</p>
69     <pre>
70     # <i>emerge sync</i>
71     # <i>emerge -u portage</i>
72     </pre>
73     <note>If your Portage version is very old, you may get an
74     error message containing the phrase "unscriptable object".
75     Read and follow the instructions in
76     <path>/usr/portage/sys-apps/portage/files/README.RESCUE</path>.
77     Your Portage install should then be
78     current.</note>
79     </body></section>
80    
81     <section>
82     <title>Preparing GCC for cohabitation</title>
83     <body>
84     <p>You will be installing a newer version of GCC during this
85     upgrade. Versions of GCC older than 2.95.3-r8 are not
86     designed to have multiple versions of GCC installed. You must
87     therefore upgrade GCC to at least version 2.95.3-r8. This
88     will also have the beneficial side-effect of installing the
89     <c>gcc-config</c> package on your system, which can be used to
90     switch back and forth between various installed versions of
91     GCC.</p>
92    
93     <pre>
94     # <i>emerge -u gcc</i>
95     </pre>
96    
97     <p>You can now check to see if gcc-config is working properly:</p>
98     <pre>
99     # <c>gcc-config --get-current-profile</c>
100     </pre>
101 rac 1.2 <p>This should return i686-pc-linux-gnu-2.95.3 on most x86 systems. Older systems may return i586-pc-linux-gnu-2.95.3.</p>
102 rac 1.1 </body>
103     </section>
104     <section>
105     <title>Installing GCC 3</title>
106     <body>
107     <p>Now you can install a newer version of GCC without damaging
108     your current compiler. Look in
109     <path>/usr/portage/sys-devel/gcc</path> for a version of the
110     GCC ebuild that is at least 3.2.1-r6. Choose the highest
111     version that is marked stable for your architecture. To see
112     if an ebuild is considered stable for your architecture, look
113     for the KEYWORDS line in the ebuild file. If it has your
114     architecture listed without a ~ in front of it, it is
115     considered stable. Assuming 3.2.2 is the most current stable
116     version, then issue the following command:</p>
117     <pre>
118 rac 1.2 # <i>emerge /usr/portage/sys-devel/gcc/gcc-3.2.2.ebuild</i>
119 rac 1.1 </pre>
120     </body>
121     </section>
122     <section>
123     <title>Changing profiles</title>
124     <body>
125     <p>Now you need to change two sets of profiles: your
126     gcc-config profile and your Portage profile.</p>
127     <pre>
128     # <i>cd /etc</i>
129     # <i>rm make.profile</i>
130     # <i>ln -s ../usr/portage/profiles/default-x86-1.4 make.profile</i> <codenote>Replace "x86" with your architecture</codenote>
131     </pre>
132    
133     <pre>
134     # <i>gcc-config --list-profiles</i> <codenote>Note the one for the version you just emerged, use it below</codenote>
135     # <i>gcc-config i686-pc-linux-gnu-3.2.2</i> <codenote>Replace with the version you noted above</codenote>
136     </pre>
137     </body>
138     </section>
139     <section>
140     <title>Recompile toolchain</title>
141     <body>
142     <p>Now you need to recompile your core toolchain with your new
143     compiler. If you are continuing in the same shell, you need
144     to run <c>source /etc/profile</c> as gcc-config instructed you
145     to. Then emerge glibc and binutils using your new
146     compiler:</p>
147     <pre>
148     # <i>emerge glibc binutils</i>
149     </pre>
150     <warn>It is quite likely that you will upgrade glibc from a
151     2.2 or older version to 2.3. Do not downgrade glibc
152     afterwards. Any software you have compiled against glibc 2.3
153     will stop working, and this can make your system
154     unusable.</warn>
155     </body>
156     </section>
157     <section>
158     <title>Recompiling everything with your new compiler</title>
159     <body><p>Now you may recompile everything on your system with
160     your new compiler:</p>
161     <pre>
162     # <i>emerge -e world</i>
163     </pre>
164 rac 1.3 <note>If this command fails at any point due to errors, you
165     can use <c>emerge --resume</c> to continue the process where
166     you left off. This requires Portage 2.0.47 or later.</note>
167 rac 1.1 </body>
168     </section>
169     </chapter>
170     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20