/[gentoo]/xml/htdocs/doc/en/migration-to-2.6.xml
Gentoo

Diff of /xml/htdocs/doc/en/migration-to-2.6.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.10 Revision 1.29
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version='1.0' encoding="UTF-8"?>
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3
4<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/migration-to-2.6.xml,v 1.10 2005/01/16 15:56:35 swift Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/migration-to-2.6.xml,v 1.29 2011/09/11 08:43:18 swift Exp $ -->
5 4
6<guide link="/doc/en/migration-to-2.6.xml"> 5<guide>
7
8<title>The complete Gentoo Linux 2.6 migration guide</title> 6<title>The complete Gentoo Linux 2.6 migration guide</title>
9 7
10<author title="Author"> 8<author title="Author">
11 <mail link="dsd@gentoo.org">Daniel Drake</mail> 9 <mail link="dsd@gentoo.org">Daniel Drake</mail>
12</author> 10</author>
13<author title="Contributor"> 11<author title="Contributor">
14 <mail link="sergey_zlodey@mail.ru">Sergey Galkin</mail> 12 <mail link="sergey_zlodey@mail.ru">Sergey Galkin</mail>
15</author> 13</author>
16<author title="Contributor"> 14<author title="Contributor">
17 <mail link="svyatogor@gentoo.org">Sergey Kuleshov</mail> 15 <mail link="svyatogor@gentoo.org">Sergey Kuleshov</mail>
18</author> 16</author>
19<author title="Editor"> 17<author title="Editor">
20 <mail link="neysx@gentoo.org">Xavier Neys</mail> 18 <mail link="neysx@gentoo.org">Xavier Neys</mail>
21</author> 19</author>
22<author title="Editor"> 20<author title="Editor">
23 <mail link="bennyc@gentoo.org">Benny Chuang</mail> 21 <mail link="bennyc@gentoo.org">Benny Chuang</mail>
22</author>
23<author title="Editor">
24 <mail link="nightmorph"/>
24</author> 25</author>
25 26
26<abstract> 27<abstract>
27This document will aid you in the process of migrating from Linux 2.4 to Linux 28This document will aid you in the process of migrating from Linux 2.4 to Linux
282.6, devfs to udev, OSS to ALSA, and LVM to LVM2. 292.6, devfs to udev, OSS to ALSA, and LVM to LVM2.
29</abstract> 30</abstract>
30 31
31<version>0.2.1</version> 32<version>2</version>
32<date>2005-01-11</date> 33<date>2011-09-11</date>
33 34
34<chapter> 35<chapter>
35<title>Introduction</title> 36<title>Introduction</title>
36
37<section>
38<title>Status of this document</title>
39<body>
40
41<p>
42The migration processes described in this document are not minor changes. This
43document is in early stages and may be missing some details but hopefully the
44main things have been covered. If you do try a migration, please <uri
45link="http://bugs.gentoo.org">report</uri> any problem you might encounter so
46that we can refine this guide.
47</p>
48
49<p>
50We are planning on making Linux 2.6 the default kernel for when 2005.0 is
51released (for some arch's). At the same time, we will encourage all existing
52users of those arch's to upgrade to Linux 2.6, as many will still be running
532.4. Your feedback on this document is much appreciated, so that when this
54time comes, the document can be in good shape for the mass-migration.
55</p>
56
57</body>
58</section> 37<section>
59
60<section>
61<title>Whats new in Linux 2.6?</title> 38<title>What is new in Linux 2.6?</title>
62<body> 39<body>
63 40
64<p> 41<p>
65That is no easy question to answer. Linux 2.6 is the result of over 2 years 42That is not an easy question to answer. Linux 2.6 is the result of over 2 years
66of rapid development and stabilisation of new features, and is architectually 43of rapid development and stabilisation of new features, and is architecturally
67quite different from its 2.4 counterpart. Some of the more major changes are 44quite different from its 2.4 counterpart. Some of the major changes are listed
68listed below: 45below:
69</p> 46</p>
70 47
71<ul> 48<ul>
72 <li> 49 <li>
73 Scheduler/Interactivity improvements: Linux feels very smooth on desktop 50 Scheduler/Interactivity improvements: Linux feels very smooth on desktop
74 systems and copes much better than 2.4 while under load 51 systems and copes much better than 2.4 while under load
75</li> 52 </li>
76 <li> 53 <li>
77 Scalability: Linux now scales much better at both ends - on small embedded 54 Scalability: Linux now scales much better at both ends - on small embedded
78 devices and also systems with many processors 55 devices and also systems with many processors
79 </li> 56 </li>
80 <li>Performance: Throughput from common applications is much improved</li> 57 <li>Performance: Throughput from common applications is much improved</li>
81 <li> 58 <li>
82 Hardware support: Linux now supports many more architectures and hardware 59 Hardware support: Linux now supports many more architectures and hardware
83 devices out-of-the-box than any other operating system. 60 devices out-of-the-box than any other operating system.
84</li> 61 </li>
85</ul> 62</ul>
86 63
87<p> 64<p>
88Joseph Pranevich has written a very detailed document, <uri 65Joseph Pranevich has written a very detailed document, <uri
89link="http://www.kniggit.net/wwol26.html">The Wonderful World Of Linux 66link="http://www.kniggit.net/wwol26.html">The Wonderful World Of Linux
902.6</uri> which you may be interested to glance over. If you are interested in 672.6</uri> which you may be interested to glance over. If you are interested in
91the more technical details, you can refer to <uri 68the more technical details, you can refer to <uri
92link="http://www.linux.org.uk/~davej/docs/post-halloween-2.6.txt">The 69link="http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt">The
93post-halloween document</uri> - but bear in mind that this is somewhat outdated 70post-halloween document</uri> - but do bear in mind that this is somewhat
94now. 71outdated now.
72</p>
73
74</body>
75</section>
76<section>
77<title>Gentoo and 2.6</title>
78<body>
79
95</p> 80<p>
81From the 2005.0 release of Gentoo Linux, the default kernel is the latest 2.6
82series kernel. The default profile of the system is picked up from
83<path>/etc/make.profile</path> which on 2005.0 or above would be a symlink to
84<path>/usr/portage/profiles/default-linux/x86/2005.0</path> under which various
85important settings are taken care of.
86</p>
87
88<p>
89If you are using a 2.4 profile, please change it to one that supports a 2.6
90kernel by doing the following.
91</p>
92
93<pre caption="Changing your profile">
94# <i>rm -f /etc/make.profile</i>
95# <i>ln -snf /usr/portage/profiles/default-linux/x86/2005.1 /etc/make.profile</i>
96</pre>
96 97
97</body> 98</body>
98</section> 99</section>
99<section> 100<section>
100<title>What is udev?</title> 101<title>What is udev?</title>
101<body> 102<body>
102 103
103<p> 104<p>
104In the past, Gentoo has instructed users to use <e>devfs</e> for managing the 105In the past, Gentoo has instructed users to use <e>devfs</e> for managing the
105/dev directory, which contains a series of device interfaces to allow system 106<path>/dev</path> directory, which contains a series of device interfaces to
106applications to communicate with hardware (through the kernel). 107allow system applications to communicate with hardware (through the kernel).
107</p> 108</p>
108 109
109<p> 110<p>
110<e>devfs</e>, whilst a good concept, has some internal problems, and has been 111<e>devfs</e>, whilst a good concept, has some internal problems, and has been
111marked obselete in Linux 2.6. 112completely removed from the main stable tree as of 2.6.13.
112</p> 113</p>
113 114
114<p> 115<p>
115<e>udev</e> is the new way of managing device nodes. It addresses issues with 116<e>udev</e> is the new way of managing device nodes. It addresses issues with
116previous device managers, and also attempts to solve some other problems. 117previous device managers, and also attempts to solve some other problems.
117</p> 118</p>
118 119
119<p> 120<p>
120The above may not mean much to you, but fear not, the hard working Gentoo 121The above may not mean much to you, but fear not, the hard working Gentoo
121developers have put effort into making the migration from devfs very easy. 122developers have put effort into making the migration from devfs very easy.
123Please read the <uri link="/doc/en/udev-guide.xml">Gentoo udev Guide</uri> for
124more information regarding the same.
122</p> 125</p>
123 126
124</body> 127</body>
125</section> 128</section>
126<section> 129<section>
168 171
169<p> 172<p>
170<e>If you do not currently use LVM for data-storage management, then LVM2 173<e>If you do not currently use LVM for data-storage management, then LVM2
171migration does not apply to you.</e> If this is the case, you can safely ignore 174migration does not apply to you.</e> If this is the case, you can safely ignore
172any parts of this document referencing LVM/LVM2. Upgrading to Linux 2.6 does 175any parts of this document referencing LVM/LVM2. Upgrading to Linux 2.6 does
173<e>not</e> require you to store your data on LVM partitions - you can keep 176<e>not</e> require you to store your data on LVM partitions - you can keep your
174your data in the standard partition-format as it always has been. 177data in the standard partition-format as it always has been.
175</p> 178</p>
176 179
177<p> 180<p>
178If you are not a LVM user, but you think LVM2 sounds useful for you, you can 181If you are not a LVM user, but you think LVM2 sounds useful for you, you can
179convert your disks to this format at a later date, by following the 182convert your disks to this format at a later date, by following the <uri
180<uri link="http://www.gentoo.org/doc/en/lvm2.xml">Gentoo LVM2 Installation 183link="/doc/en/lvm2.xml">Gentoo LVM2 Installation Guide</uri>. For now, let us
181Guide</uri>. For now, lets just concentrate on getting a smooth 2.6 migration 184just concentrate on getting a smooth 2.6 migration underway.
182underway.
183</p> 185</p>
184 186
185</body> 187</body>
186</section> 188</section>
187</chapter> 189</chapter>
208 <li><c>sys-apps/baselayout</c></li> 210 <li><c>sys-apps/baselayout</c></li>
209 <li><c>sys-apps/util-linux</c></li> 211 <li><c>sys-apps/util-linux</c></li>
210 <li> 212 <li>
211 <c>sys-kernel/genkernel</c> (only if you wish to use genkernel as opposed 213 <c>sys-kernel/genkernel</c> (only if you wish to use genkernel as opposed
212 to manual configuration) 214 to manual configuration)
213</li> 215 </li>
214</ul> 216</ul>
215 217
216<pre caption="Updating all world packages"> 218<pre caption="Updating all world packages">
217# <i>emerge sync</i> 219# <i>emerge --sync</i>
218# <i>emerge -ua world</i> 220# <i>emerge -ua world</i>
219</pre> 221</pre>
220 222
221</body> 223</body>
222</section> 224</section>
230</p> 232</p>
231 233
232<p> 234<p>
233Linux 2.6 introduces a new module format, and therefore requires new tools for 235Linux 2.6 introduces a new module format, and therefore requires new tools for
234handling modules. These are bundled up into the 236handling modules. These are bundled up into the
235<c>sys-apps/module-init-tools</c> package. </p> 237<c>sys-apps/module-init-tools</c> package.
238</p>
236 239
237<p> 240<p>
238You should now remove modutils and install module-init-tools: 241You should now remove modutils and install module-init-tools:
239</p> 242</p>
240 243
241<pre caption="Switching from modutils to module-init-tools"> 244<pre caption="Switching from modutils to module-init-tools">
242# <i>emerge unmerge sys-apps/modutils</i> 245# <i>emerge --unmerge sys-apps/modutils</i>
243# <i>emerge module-init-tools</i> 246# <i>emerge module-init-tools</i>
244</pre> 247</pre>
245 248
246<note> 249<note>
247Don't worry - even though you have just unmerged modutils, module-init-tools 250Don't worry - even though you have just unmerged modutils, module-init-tools
248provides backwards compatibility for Linux 2.4, so you will still be 251provides backwards compatibility for Linux 2.4, so you will still be able to
249able to boot into Linux 2.4 and handle modules for that kernel. 252boot into Linux 2.4 and handle modules for that kernel.
250</note> 253</note>
251 254
252<note> 255<note>
253For the above reason, module-init-tools might already be installed and working 256For the above reason, module-init-tools might already be installed and working
254with your existing Linux 2.4 kernel. In this case, you don't need to worry 257with your existing Linux 2.4 kernel. In this case, you don't need to worry
269<pre caption="Installing udev"> 272<pre caption="Installing udev">
270# <i>emerge -a udev</i> 273# <i>emerge -a udev</i>
271</pre> 274</pre>
272 275
273<p> 276<p>
274You should now read the 277You should now read the <uri link="/doc/en/udev-guide.xml">Gentoo udev
275<uri link="http://www.gentoo.org/doc/en/udev-guide.xml">Gentoo udev
276Guide</uri> to get a more complete idea about the differences between udev 278Guide</uri> to get a more complete idea about the differences between udev and
277and devfs. 279devfs.
278</p> 280</p>
279 281
280</body> 282</body>
281</section> 283</section>
282<section> 284<section>
296case. We will use this opportunity to check that the device files exist, and 298case. We will use this opportunity to check that the device files exist, and
297create them if they do not. 299create them if they do not.
298</p> 300</p>
299 301
300<p> 302<p>
301As your existing device manager will be mounted at /dev, we cannot access it 303As your existing device manager will be mounted at <path>/dev</path>, we cannot
302directly. So we will bind-mount your root partition to another location and 304access it directly. So we will bind-mount your root partition to another
303access the /dev directory from there. 305location and access the <path>/dev</path> directory from there.
304</p> 306</p>
305 307
306<pre caption="Bind-mounting your root partition and listing static devices"> 308<pre caption="Bind-mounting your root partition and listing static devices">
307# <i>mkdir -p /mnt/temp</i> 309# <i>mkdir -p /mnt/temp</i>
308# <i>mount -o bind / /mnt/temp</i> 310# <i>mount --rbind / /mnt/temp</i>
309# <i>cd /mnt/temp/dev</i> 311# <i>cd /mnt/temp/dev</i>
310# <i>ls -l console null</i> 312# <i>ls -l console null</i>
311</pre> 313</pre>
312 314
313<p> 315<p>
359<body> 361<body>
360 362
361<p> 363<p>
362The first thing you need to do is install sources of a 2.6 kernel of your 364The first thing you need to do is install sources of a 2.6 kernel of your
363choice. The two Gentoo-supported 2.6 kernels are currently 365choice. The two Gentoo-supported 2.6 kernels are currently
364<e>gentoo-dev-sources</e> (for desktops) and <e>hardened-dev-sources</e> (for 366<e>gentoo-sources</e> (for desktops) and <e>hardened-sources</e> (for
365servers). There are others available, see the <uri 367servers). There are others available, see the <uri
366link="/doc/en/gentoo-kernel.xml">Gentoo Linux Kernel Guide</uri> for more 368link="/doc/en/gentoo-kernel.xml">Gentoo Linux Kernel Guide</uri> for more
367choices. 369choices.
368</p> 370</p>
369 371
370<p> 372<p>
371In this guide, we'll use <c>gentoo-dev-sources</c> as an example. Install your 373In this guide, we'll use <c>gentoo-sources</c> as an example. Install your
372chosen set of kernel sources using the <c>emerge</c> utility: 374chosen set of kernel sources using the <c>emerge</c> utility:
373</p> 375</p>
374 376
375<pre caption="Installing gentoo-dev-sources"> 377<pre caption="Installing gentoo-sources">
376# <i>emerge -a gentoo-dev-sources</i> 378# <i>emerge -a gentoo-sources</i>
377These are the packages that I would merge, in order: 379These are the packages that I would merge, in order:
378Calculating dependencies ...done! 380Calculating dependencies ...done!
379[ebuild N ] sys-kernel/gentoo-dev-sources-2.6.9-r2 381[ebuild NS ] sys-kernel/gentoo-sources-2.6.10-r4
380 382
381Do you want me to merge these packages? [Yes/No] <i>y</i> 383Do you want me to merge these packages? [Yes/No] <i>y</i>
382</pre> 384</pre>
383 385
386<p>
387When performing the above <c>emerge</c> command, if you find that it wants to
388install a 2.4 version of gentoo-sources (e.g. <c>gentoo-sources-2.4.26</c>),
389then it means that the profile you are using is not designed for Linux 2.6
390users. Please follow the <uri link="/doc/en/gentoo-upgrading.xml">Gentoo
391Upgrading Document</uri> to switch to a 2.6-based profile, and retry installing
3922.6 kernel sources.
393</p>
394
384</body> 395</body>
385</section> 396</section>
386<section> 397<section>
387<title>Updating the /usr/src/linux symbolic link</title> 398<title>Updating the /usr/src/linux symbolic link</title>
388<body> 399<body>
389 400
390<p> 401<p>
391Various components of the Gentoo utilities rely on /usr/src/linux being a 402Various components of the Gentoo utilities rely on <path>/usr/src/linux</path>
392symbolic link to the kernel sources that you are running (or wish to compile 403being a symbolic link to the kernel sources that you are running (or wish to
393against). 404compile against).
394</p>
395
396<p> 405</p>
406
407<p>
397We will now update our /usr/src/linux link to point at the kernel sources we 408We will now update our <path>/usr/src/linux</path> link to point at the kernel
398just installed. Continuing our example: 409sources we just installed. Continuing our example:
399</p> 410</p>
400 411
401<pre caption="Updating the /usr/src/linux softlink"> 412<pre caption="Updating the /usr/src/linux softlink">
402# <i>cd /usr/src</i> 413# <i>cd /usr/src</i>
403# <i>ln -sfn linux-2.6.9-gentoo-r2 linux</i> 414# <i>ln -sfn linux-2.6.10-gentoo-r4 linux</i>
404</pre> 415</pre>
405 416
406</body> 417</body>
407</section> 418</section>
408</chapter> 419</chapter>
522type from <e>usbdevfs</e> to <e>usbfs</e>. 533type from <e>usbdevfs</e> to <e>usbfs</e>.
523</p> 534</p>
524 535
525<note> 536<note>
526Recent 2.4 kernels will also allow you to use "usbfs" as well as "usbdevfs", so 537Recent 2.4 kernels will also allow you to use "usbfs" as well as "usbdevfs", so
527you aren't breaking any backwards compatibility by doing this. 538you are not breaking any backwards compatibility by doing this.
528</note> 539</note>
529 540
530</body> 541</body>
531</section> 542</section>
532<section> 543<section>
553</p> 564</p>
554 565
555</body> 566</body>
556</section> 567</section>
557<section> 568<section>
558<title>X11 config file should now use /dev/input/mice for PS/2 and USB 569<title>X11 config file should now use /dev/input/mice for PS/2 and USB mice</title>
559mice</title>
560<body> 570<body>
561 571
562<p> 572<p>
563One of the changes that a default udev configuration introduces is different 573One of the changes that a default udev configuration introduces is different
564organisation of the mouse device nodes. Previously, you would have had nodes 574organisation of the mouse device nodes. Previously, you would have had nodes
574below when you attempt to start X11: 584below when you attempt to start X11:
575</p> 585</p>
576 586
577<pre caption="Common error when starting X on a udev system for the first time"> 587<pre caption="Common error when starting X on a udev system for the first time">
578(EE) xf86OpenSerial: Cannot open device /dev/mouse 588(EE) xf86OpenSerial: Cannot open device /dev/mouse
579 No such file or directory. 589 No such file or directory.
580(EE) Mouse0: cannot open input device 590(EE) Mouse0: cannot open input device
581(EE) PreInit failed for input device "Mouse0" 591(EE) PreInit failed for input device "Mouse0"
582No core pointer 592No core pointer
583</pre> 593</pre>
584 594
597<path>/etc/X11/XF86Config</path> 607<path>/etc/X11/XF86Config</path>
598</note> 608</note>
599 609
600<pre caption="Sample mouse InputDevice section"> 610<pre caption="Sample mouse InputDevice section">
601Section "InputDevice" 611Section "InputDevice"
602 Identifier "Mouse0" 612 Identifier "Mouse0"
603 Driver "mouse" 613 Driver "mouse"
604 Option "Protocol" "auto" 614 Option "Protocol" "auto"
605 Option "Device" "/dev/input/mice" 615 Option "Device" "/dev/input/mice"
606EndSection 616EndSection
607</pre> 617</pre>
608 618
619<note>
620If you are using a serial mouse, the new device path will be
621<path>/dev/tts/0</path> instead of <path>/dev/ttyS0</path>.
622</note>
623
609</body> 624</body>
610</section> 625</section>
611<section> 626<section>
612<title>New Serial-ATA (SATA) drivers name the devices differently</title> 627<title>New Serial-ATA (SATA) drivers name the devices differently</title>
613<body> 628<body>
614 629
615<p> 630<p>
616If you used the original Serial ATA drivers under Linux 2.4, you probably 631If you used the original Serial ATA drivers under Linux 2.4, you probably
617observed your SATA devices having names such as <c>/dev/hde</c>. 632observed your SATA devices having names such as <path>/dev/hde</path>.
618</p>
619
620<p> 633</p>
634
635<p>
621Linux 2.6 introduces some new SATA drivers (libata) which are based on the 636Linux 2.6 introduces some new SATA drivers (libata) which are based on the SCSI
622SCSI subsystem. As these drivers are based on SCSI, your SATA disks will now 637subsystem. As these drivers are based on SCSI, your SATA disks will now show up
623show up as SCSI devices. Your first SATA disk will be named <c>/dev/sda</c>. 638as SCSI devices. Your first SATA disk will be named <path>/dev/sda</path>. You will
624You will need to update your <c>/etc/fstab</c> file to reflect this, and you 639need to update your <path>/etc/fstab</path> file to reflect this, and you will need
625will need to bear this in mind when choosing the root/real_root kernel boot 640to bear this in mind when choosing the root/real_root kernel boot parameter
626parameter later on. 641later on.
627</p> 642</p>
628 643
629<note> 644<note>
630libata has been backported into recent versions of Linux 2.4, so you may 645libata has been backported into recent versions of Linux 2.4, so you may
631already be familiar with the new device naming. 646already be familiar with the new device naming.
643framebuffer console. 658framebuffer console.
644</p> 659</p>
645 660
646<p> 661<p>
647The developer of bootsplash appears to have lost interest in his project, given 662The developer of bootsplash appears to have lost interest in his project, given
648some design problems. However, Gentoo developer <e>Michal Januszewski</e> is 663some design problems. However, Gentoo developer <e>Michał Januszewski</e> is
649developing a successor, <c>gensplash</c>, which in included in the 664developing a successor, <c>gensplash</c>, which in included in the
650gentoo-dev-sources kernel. You can follow Michals 665gentoo-sources-2.6 kernel. You can follow Michał's <uri
651<uri link="http://dev.gentoo.org/~spock/projects/gensplash/archive/gensplash-in-5-easy-steps.txt"> 666link="http://dev.gentoo.org/~spock/projects/gensplash/archive/gensplash-in-5-easy-steps.txt">
652Gensplash in 5 easy steps</uri> document in order to familiarize yourself with 667Gensplash in 5 easy steps</uri> document in order to familiarize yourself with
653how gensplash is operated. 668how gensplash is operated.
654</p> 669</p>
655 670
656</body> 671</body>
735<pre caption="Required kernel options"> 750<pre caption="Required kernel options">
736File systems ---&gt; 751File systems ---&gt;
737 Pseudo Filesystems ---&gt; 752 Pseudo Filesystems ---&gt;
738 [*] /proc file system support 753 [*] /proc file system support
739 [*] Virtual memory file system support (former shm fs) 754 [*] Virtual memory file system support (former shm fs)
740 755
741<comment>(the following are required for udev):</comment> 756<comment>(the following are required for udev):</comment>
742General setup ---&gt; 757General setup ---&gt;
743 [*] Support for hot-pluggable devices 758 [*] Support for hot-pluggable devices
744 759
745Device Drivers ---&gt;
746 Block devices ---&gt;
747 &lt;*&gt; RAM disk support
748
749<comment>(the following are required for ALSA):</comment> 760<comment>(the following are required for ALSA):</comment>
750Device Drivers ---&gt; 761Device Drivers ---&gt;
751 Sound ---&gt; 762 Sound ---&gt;
752 &lt;*&gt; Sound card support 763 &lt;*&gt; Sound card support
753 Advanced Linux Sound Architecture ---&gt; 764 Advanced Linux Sound Architecture ---&gt;
754 &lt;M&gt; Advanced Linux Sound Architecture 765 &lt;M&gt; Advanced Linux Sound Architecture
755 &lt;M&gt; Sequencer support 766 &lt;M&gt; Sequencer support
756 &lt;M&gt; OSS Mixer API 767 &lt;M&gt; OSS Mixer API
757 [*] OSS Sequencer API 768 [*] OSS Sequencer API
758<comment> (and dont forget to select your soundcard from the submenus!)</comment> 769<comment> (and do not forget to select your soundcard from the submenus!)</comment>
759 770
760<comment>(the following are required if you use LVM for disk management):</comment> 771<comment>(the following are required if you use LVM for disk management):</comment>
761Device Drivers ---&gt; 772Device Drivers ---&gt;
762 Multi-device support (RAID and LVM) ---&gt; 773 Multi-device support (RAID and LVM) ---&gt;
763 [*] Multiple devices driver support (RAID and LVM) 774 [*] Multiple devices driver support (RAID and LVM)
775hardware present in your system. Be sure to enable support for the IDE 786hardware present in your system. Be sure to enable support for the IDE
776controller on your motherboard if you wish to benefit from fast DMA disk 787controller on your motherboard if you wish to benefit from fast DMA disk
777access. Refer to the <uri 788access. Refer to the <uri
778link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=7">Configuring the 789link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=7">Configuring the
779Kernel</uri> section of the <uri link="/doc/en/handbook/index.xml">Gentoo 790Kernel</uri> section of the <uri link="/doc/en/handbook/index.xml">Gentoo
780Handbook</uri> for additional guidance here. 791Handbook</uri> for additional guidance here.
781</p> 792</p>
782 793
783</body> 794</body>
784</section> 795</section>
785<section> 796<section>
815kernel image over. You must then update your bootloader config manually. 826kernel image over. You must then update your bootloader config manually.
816</p> 827</p>
817 828
818<pre caption="Installing the kernel"> 829<pre caption="Installing the kernel">
819# <i>mount /boot</i> 830# <i>mount /boot</i>
820# <i>cp arch/i386/boot/bzImage /boot/bzImage-2.6.9-gentoo-r2</i> 831# <i>cp arch/i386/boot/bzImage /boot/bzImage-2.6.10-gentoo-r4</i>
821# <i>cp System.map /boot/System.map-2.6.9-gentoo-r2</i>
822</pre> 832</pre>
823 833
824<p> 834<p>
825Note that the above instructions are examples only, you should follow your 835Note that the above instructions are examples only, you should follow your
826usual procedure of updating kernels by following the instructions in the <uri 836usual procedure of updating kernels by following the instructions in the <uri
863</pre> 873</pre>
864 874
865<p> 875<p>
866In the above example, we also take advantage of genkernel features to open 876In the above example, we also take advantage of genkernel features to open
867menuconfig to allow you to customise the kernel configuration (if you wish), 877menuconfig to allow you to customise the kernel configuration (if you wish),
868and to update the grub bootloader configuration after compilation. 878and to update the grub bootloader configuration after compilation.
869</p> 879</p>
870 880
871<p> 881<p>
872You should choose genkernel arguments that suit you, but do not forget to 882You should choose genkernel arguments that suit you, but do not forget to
873include the <c>--udev</c> argument! Refer to the <uri 883include the <c>--udev</c> argument! Refer to the <uri
876Kernel</uri> chapter of the <uri link="/doc/en/handbook/index.xml">Gentoo 886Kernel</uri> chapter of the <uri link="/doc/en/handbook/index.xml">Gentoo
877Handbook</uri> for additional information. 887Handbook</uri> for additional information.
878</p> 888</p>
879 889
880<p> 890<p>
881If you choose to update your bootloader config yourself, then you must 891If you choose to update your bootloader config yourself, then you must remember
882remember to include the <c>udev</c> kernel parameter. A sample <e>grub</e> 892to include the <c>udev</c> kernel parameter. A sample <e>grub</e> config
883config section is shown below, but remember to adjust the <e>real_root</e> 893section is shown below, but remember to adjust the <e>real_root</e> parameter
884parameter for your system. 894for your system.
885</p> 895</p>
886 896
887<pre caption="Sample GRUB config for genkernel + udev"> 897<pre caption="Sample GRUB config for genkernel + udev">
888title=Gentoo Linux (2.6 kernel) 898title Gentoo Linux (2.6 kernel)
889root (hd0,0) 899root (hd0,0)
890kernel /kernel-2.6.9-gentoo-r2 <i>udev</i> root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 900kernel /kernel-2.6.10-gentoo-r4 <i>udev</i> root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3
891initrd /initrd-2.6.9-gentoo-r2 901initrd /initrd-2.6.10-gentoo-r4
892</pre> 902</pre>
893 903
894</body> 904</body>
895</section> 905</section>
896</chapter> 906</chapter>
931the portage tree (as described above) you will probably want to autoload them 941the portage tree (as described above) you will probably want to autoload them
932too. 942too.
933</p> 943</p>
934 944
935<p> 945<p>
936You can achieve this similarly as to how you did with 2.4. Simply open up the 946To achieve this, edit <path>/etc/conf.d/modules</path> in your favorite text
937file <path>/etc/modules.autoload.d/kernel-2.6</path> in a text editor and list
938the names of the modules you would like autoloaded. 947editor and list the names of the modules you would like autoloaded.
939</p> 948</p>
940 949
941<pre caption="Opening the module autoload list in nano"> 950<pre caption="Opening the module autoload list in nano">
942# <i>nano -w /etc/modules.autoload.d/kernel-2.6</i> 951# <i>nano -w /etc/conf.d/modules</i>
943</pre> 952</pre>
944 953
945<pre caption="Sample autoload list to load the 3c59x and nvidia modules"> 954<pre caption="Sample configuration entry to load the 3c59x and nvidia modules">
946# /etc/modules.autoload.d/kernel-2.6: kernel modules to load when system boots. 955modules="<i>3c59x nvidia</i>"
947#
948# Note that this file is for 2.6 kernels.
949#
950# Add the names of modules that you'd like to load when the system
951# starts into this file, one per line. Comments begin with # and
952# are ignored. Read man modules.autoload for additional details.
953
9543c59x
955nvidia
956</pre> 956</pre>
957 957
958</body> 958</body>
959</section> 959</section>
960</chapter> 960</chapter>
964<section> 964<section>
965<title>Upgrading to LVM2 tools</title> 965<title>Upgrading to LVM2 tools</title>
966<body> 966<body>
967 967
968<note> 968<note>
969If you do not use LVM to manage your disk storage, you can safely skip 969If you do not use LVM to manage your disk storage, you can safely skip this
970this chapter and skip onto the next. 970chapter and skip onto the next.
971</note> 971</note>
972 972
973<p> 973<p>
974Fortunately, upgrading from the LVM1 user tools to the LVM2 versions is very 974Fortunately, upgrading from the LVM1 user tools to the LVM2 versions is very
975simple: 975simple:
976</p> 976</p>
977 977
978<pre caption="Upgrading user-tools from LVM1 to LVM2"> 978<pre caption="Upgrading user-tools from LVM1 to LVM2">
979# <i>emerge unmerge lvm-user</i> 979# <i>emerge --unmerge lvm-user</i>
980# <i>emerge lvm2</i> 980# <i>emerge lvm2</i>
981</pre> 981</pre>
982 982
983<note> 983<note>
984The LVM2 tools are fully backwards-compatible with LVM1. Your disk data will 984You will need to re-emerge <c>lvm-user</c> if you plan to go back to booting a
985not be touched. You are not breaking any backwards-compatibility by doing 9852.4 kernel, as <c>lvm2</c> by itself isn't enough for 2.4 kernels.
986this, you will continue to be able to boot 2.4 as usual.
987</note> 986</note>
988 987
989</body> 988</body>
990</section> 989</section>
991</chapter> 990</chapter>
1010Choose Linux 2.6. 1009Choose Linux 2.6.
1011</p> 1010</p>
1012 1011
1013<p> 1012<p>
1014Once the system has booted, check that things are working. If you made a 1013Once the system has booted, check that things are working. If you made a
1015mistake in the kernel configuration, don't worry, you can skip back to the 1014mistake in the kernel configuration, don't worry, you can skip back to the <uri
1016<uri link="#conf">Configuring, building, and installing the kernel</uri> 1015link="#conf">Configuring, building, and installing the kernel</uri> section,
1017section, make your change, recompile and install new kernel image, reboot, and 1016make your change, recompile and install new kernel image, reboot, and try
1018try again! 1017again!
1019</p> 1018</p>
1020 1019
1021</body> 1020</body>
1022</section> 1021</section>
1023<section> 1022<section>
1032<pre caption="Invoking the automatic ALSA configuration utility"> 1031<pre caption="Invoking the automatic ALSA configuration utility">
1033# <i>alsaconf</i> 1032# <i>alsaconf</i>
1034</pre> 1033</pre>
1035 1034
1036<p> 1035<p>
1037The process is straightforward: allow the <e>/etc/modules.d/alsa</e> file to 1036The process is straightforward: allow the <e>/etc/modules.d/alsa</e> file to be
1038be automatically updated, and then allow ALSA to be reloaded. alsaconf will 1037automatically updated, and then allow ALSA to be reloaded. alsaconf will then
1039then terminate, however you will need to run it multiple times if you have 1038terminate, however you will need to run it multiple times if you have multiple
1040multiple sound devices installed in your system. 1039sound devices installed in your system.
1041</p>
1042
1043<p> 1040</p>
1041
1042<p>
1044You should now add <c>alsasound</c> to your boot runlevel, so that volumes 1043You should now add <c>alsasound</c> to your boot runlevel, so that volumes will
1045will be saved on shutdown and restored on bootup: 1044be saved on shutdown and restored on bootup:
1046</p> 1045</p>
1047 1046
1048<pre caption="Adding alsasound to the boot runlevel"> 1047<pre caption="Adding alsasound to the boot runlevel">
1049# <i>rc-update add alsasound boot</i> 1048# <i>rc-update add alsasound boot</i>
1050</pre> 1049</pre>
1060<section> 1059<section>
1061<title>Any immediate problems?</title> 1060<title>Any immediate problems?</title>
1062<body> 1061<body>
1063 1062
1064<p> 1063<p>
1065At this stage you should refer back to the <uri link="#pitfalls">Known 1064At this stage you should refer back to the <uri link="#pitfalls">Known pitfalls
1066pitfalls with Linux 2.6 migration</uri> section which may be helpful with any 1065with Linux 2.6 migration</uri> section which may be helpful with any issues you
1067issues you encounter immediately. 1066encounter immediately.
1068</p> 1067</p>
1069 1068
1070</body> 1069</body>
1071</section> 1070</section>
1072</chapter> 1071</chapter>
1075<title>Header files and NPTL</title> 1074<title>Header files and NPTL</title>
1076<section> 1075<section>
1077<body> 1076<body>
1078 1077
1079<p> 1078<p>
1080By now you are running Linux 2.6 and hopefully have all issues ironed out. You 1079By now you are running Linux 2.6 and hopefully have all issues ironed out. You
1081should now update your Linux kernel header files and re-merge glibc so that 1080should now update your Linux kernel header files and re-merge glibc so that
1082userspace applications can take advantage of new Linux 2.6 features. 1081userspace applications can take advantage of new Linux 2.6 features.
1083</p> 1082</p>
1084 1083
1085<pre caption="Updating to linux26-headers"> 1084<pre caption="Updating to linux-headers">
1086# <i>emerge unmerge linux-headers</i>
1087# <i>emerge linux26-headers</i> 1085# <i>emerge -u linux-headers</i>
1088</pre> 1086</pre>
1089 1087
1090<p> 1088<p>
1091After updating your headers package, you should generally re-merge glibc. 1089After updating your headers package, you should generally re-merge glibc.
1092There is a new feature here that you may be interested in - NPTL. NPTL is a new 1090There is a new feature here that you may be interested in - NPTL. NPTL is a new
1095you may wish to enable it during this migration process! To enable NPTL, edit 1093you may wish to enable it during this migration process! To enable NPTL, edit
1096<path>/etc/make.conf</path>, adding <e>nptl</e> to your USE variable. 1094<path>/etc/make.conf</path>, adding <e>nptl</e> to your USE variable.
1097</p> 1095</p>
1098 1096
1099<warn> 1097<warn>
1100With the current stable glibc ebuilds, you will be unable to boot a 2.4 kernel 1098If you choose to also enable the "nptlonly" flag, be aware that you will no
1101after compiling glibc with USE="nptl". Be warned, be careful! 1099longer be able to boot a 2.4 kernel.
1102</warn> 1100</warn>
1103 1101
1104<p> 1102<p>
1105Now re-merge glibc (you should do this even if you did not choose to enable 1103Now re-merge glibc (you should do this even if you did not choose to enable
1106NPTL). 1104NPTL).
1154<title>Conclusion</title> 1152<title>Conclusion</title>
1155<body> 1153<body>
1156 1154
1157<p> 1155<p>
1158Hopefully you have just completed a smooth migration and you are enjoying the 1156Hopefully you have just completed a smooth migration and you are enjoying the
1159benefits which Linux 2.6 brings over 2.4. As I mentioned at the start, we are 1157benefits which Linux 2.6 brings over 2.4.
1160looking for feedback on this document - even if your migration went perfectly 1158</p>
1161smoothly. Please <mail link="dsd@gentoo.org">mail me</mail> your feedback so 1159
1162that we can get this document in perfect shape for when 2005.0 comes around. 1160<p>
1163Thanks! 1161I would like to say a word of thanks to the many users who effectively 'tested'
1162this document while it was in its early stages, and provided feedback about how
1163the migration process went. Sorry that I did not reply to all the emails (there
1164were a lot!), but I did read every one, and refined this document where
1165appropriate. Enjoy your 2.6-enhanced systems :)
1164</p> 1166</p>
1165 1167
1166</body> 1168</body>
1167</section> 1169</section>
1168<section> 1170<section>
1182gentoo-sources installed, you could use the following command to remove them 1184gentoo-sources installed, you could use the following command to remove them
1183while keeping the 2.6 versions intact: 1185while keeping the 2.6 versions intact:
1184</p> 1186</p>
1185 1187
1186<pre caption="Example: Removing Linux 2.4 sources"> 1188<pre caption="Example: Removing Linux 2.4 sources">
1187# <i>emerge unmerge =vanilla-sources-2.4.* =gentoo-sources-2.4.*</i> 1189# <i>emerge --unmerge =vanilla-sources-2.4.* =gentoo-sources-2.4.*</i>
1188</pre> 1190</pre>
1189 1191
1190<p> 1192<p>
1191Portage will not completely clean out your 2.4 kernel source installations, 1193Portage will not completely clean out your 2.4 kernel source installations,
1192because some temporary files are created during compilation. It is safe to 1194because some temporary files are created during compilation. It is safe to
1196<pre caption="Removing remaining temporary files"> 1198<pre caption="Removing remaining temporary files">
1197# <i>rm -rf /usr/src/linux-2.4.*</i> 1199# <i>rm -rf /usr/src/linux-2.4.*</i>
1198</pre> 1200</pre>
1199 1201
1200<p> 1202<p>
1201You can additionally remove modules and information files relating to your 1203You can additionally remove modules and information files relating to your old
1202old 2.4 kernel installations, as these are no longer needed. 12042.4 kernel installations, as these are no longer needed.
1203</p> 1205</p>
1204 1206
1205<pre caption="Removing previously-installed 2.4 modules"> 1207<pre caption="Removing previously-installed 2.4 modules">
1206# <i>rm -rf /lib/modules/2.4.*</i> 1208# <i>rm -rf /lib/modules/2.4.*</i>
1207</pre> 1209</pre>
1208 1210
1209<p> 1211<p>
1210The 2.4 kernel binaries you used to boot from can also be safely removed. 1212The 2.4 kernel binaries you used to boot from can also be safely removed. You
1211You should mount your <c>/boot</c> partition, and remove those images. You 1213should mount your <c>/boot</c> partition, and remove those images. You should
1212should also update your bootloader configuration so that it no longer 1214also update your bootloader configuration so that it no longer references these
1213references these deleted kernel images. 1215deleted kernel images.
1214</p> 1216</p>
1215 1217
1216<p> 1218<p>
1217Some Linux 2.4 users will have previously installed the <c>alsa-driver</c> 1219Some Linux 2.4 users will have previously installed the <c>alsa-driver</c>
1218package to benefit from the new audio capabilities included in Linux 2.6. If 1220package to benefit from the new audio capabilities included in Linux 2.6. If
1233The devfs management daemon, <c>devfsd</c>, can also safely be removed, now 1235The devfs management daemon, <c>devfsd</c>, can also safely be removed, now
1234that we are using <c>udev</c> for device management. 1236that we are using <c>udev</c> for device management.
1235</p> 1237</p>
1236 1238
1237<pre caption="Removing alsa-driver, i2c, and devfsd"> 1239<pre caption="Removing alsa-driver, i2c, and devfsd">
1238# <i>emerge unmerge alsa-driver i2c devfsd</i> 1240# <i>emerge --unmerge alsa-driver i2c devfsd</i>
1239</pre> 1241</pre>
1240 1242
1241<p> 1243<p>
1242If you are LVM2 user, you may wish to convert your data into the LVM2 data 1244If you are LVM2 user, you may wish to convert your data into the LVM2 data
1243format in order to benefit from the advantages which LVM2 provides. 1245format in order to benefit from the advantages which LVM2 provides. However,
1244However, this operation will prevent you from ever accessing your LVM data 1246this operation will prevent you from ever accessing your LVM data from a 2.4
1245from a 2.4 kernel. If you want to continue with the conversion (this is totally 1247kernel. If you want to continue with the conversion (this is totally
1246optional!), then you should examine the <c>vgconvert</c> man page for 1248optional!), then you should examine the <c>vgconvert</c> man page for
1247instructions on how to carry this out. An example is shown below, where 1249instructions on how to carry this out. An example is shown below, where
1248<c>main</c> is the volume group name. 1250<c>main</c> is the volume group name.
1249</p> 1251</p>
1250 1252

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.20