- pre4:
[davej-history.git] / Documentation / Changes
blob9b0e67bf126bc9228a0c9b6244af7bfba535aeac
1 Intro
2 =====
4 This document is designed to provide a list of the minimum levels of
5 software necessary to run the 2.4 kernels, as well as provide brief
6 instructions regarding any other "Gotchas" users may encounter when
7 trying life on the Bleeding Edge.  If upgrading from a pre-2.2.x
8 kernel, please consult the Changes file included with 2.2.x kernels for
9 additional information; most of that information will not be repeated
10 here.  Basically, this document assumes that your system is already
11 functional and running at least 2.2.x kernels.
13 This document is originally based on my "Changes" file for 2.0.x kernels
14 and therefore owes credit to the same people as that file (Jared Mauch,
15 Axel Boldt, Alessandro Sigala, and countless other users all over the
16 'net).
18 The latest revision of this document, in various formats, can always
19 be found at <http://cyberbuzz.gatech.edu/kaboom/linux/Changes-2.4/>.
21 Feel free to translate this document.  If you do so, please send me a
22 URL to your translation for inclusion in future revisions of this
23 document.
25 Smotrite file <http://oblom.rnc.ru/linux/kernel/Changes.ru>, yavlyaushisya
26 russkim perevodom dannogo documenta.
28 Last updated: August 15, 2000
30 Chris Ricker (kaboom@gatech.edu or chris.ricker@genetics.utah.edu).
32 Current Minimal Requirements
33 ============================
35 Upgrade to at *least* these software revisions before thinking you've
36 encountered a bug!  If you're unsure what version you're currently
37 running, the suggested command should tell you.
39 Again, keep in mind that this list assumes you are already
40 functionally running a Linux 2.2 kernel.  Also, not all tools are
41 necessary on all systems; obviously, if you don't have any PCMCIA (PC
42 Card) hardware, for example, you probably needn't concern yourself
43 with pcmcia-cs.
45 o  Gnu C                  2.7.2.3                 # gcc --version
46 o  Gnu make               3.77                    # make --version
47 o  binutils               2.9.1.0.22              # ld -v
48 o  util-linux             2.10o                   # kbdrate -v
49 o  modutils               2.3.13                  # insmod -V
50 o  e2fsprogs              1.18                    # /sbin/tune2fs --version
51 o  pcmcia-cs              3.1.19                  # cardmgr -V
52 o  PPP                    2.4.0                   # pppd --version
53 o  isdn4k-utils           3.1beta7                # isdnctrl 2>&1|grep version
54                           
55 Kernel compilation
56 ==================
58 GCC
59 ---
61 You will need at least gcc 2.7.2 to compile the kernel.  You currently
62 have several options for gcc-derived compilers:  gcc 2.7.2.3, various
63 versions of egcs, the new gcc 2.95 and upcoming gcc 3.0, and experimental
64 compilers like pgcc.  For absolute stability, it is still recommended
65 that gcc 2.7.2.3 be used to compile your kernel.  egcs 1.1.2 should also
66 work.  gcc 2.95 is known to have problems, and using pgcc for your kernel
67 is just asking for trouble.
69 In addition, please pay attention to compiler optimization.  Anything
70 greater than -O2 may not be wise.  Similarly, if you choose to use gcc-2.95
71 or derivatives, be sure not to use -fstrict-aliasing (which, depending on
72 your version of gcc 2.95, may necessitate using -fno-strict-aliasing).
74 Make
75 ----
77 You will need Gnu make 3.77 or later to build the kernel.
79 Binutils
80 --------
82 Linux on IA/32 has recently switched from using as86 to using gas for
83 assembling the 16-bit boot code, removing the need for as86 to compile
84 your kernel.  This change does, however, mean that you need a recent
85 release of binutils.
87 If you can, upgrade to the latest 2.9.5 binutils release.  Older
88 releases such as 2.8, 2.8.xx, and the FSF's 2.9.1 should be avoided if
89 at all possible.  The later releases of 2.9.1.0.x (anything where x >= 22)
90 can and do compile the kernel properly, but there are many benefits
91 to upgrading to 2.9.5 if you're up to it.
93 System utils
94 ============
96 Architectural changes
97 ---------------------
99 DevFS is now in the kernel.  See Documentation/filesystems/devfs/* in
100 the kernel source tree for all the gory details.
102 System V shared memory is now implemented via a virtual filesystem.
103 You do not have to mount it to use it as long as you can live with the
104 default maxima for shared memory and segments.  If you wish to change
105 these variables, you have to mount it with the options nr_blocks
106 and / or nr_inodes.  POSIX shared memory is also now implemented via a
107 virtual filesystem.  If you want to use it, you'll need to mount the
108 filesystem.  The recommended mount location is /dev/shm, and adding the
109 following line to /etc/fstab should take care of things:
111 none            /dev/shm        shm             defaults        0 0
113 Remember to create the directory that you intend to mount shm on if
114 necessary.
116 The Logical Volume Manager (LVM) is now in the kernel.  If you want to
117 use this, you'll need to install the necessary LVM toolset.
119 32-bit UID support is now in place.  Have fun!
121 Linux documentation for functions is transitioning to inline
122 documentation via specially-formatted comments near their
123 definitions in the source.  These comments can be combined with the
124 SGML templates in the Documentation/DocBook directory to make DocBook
125 files, which can then be converted by DocBook stylesheets to PostScript,
126 HTML, PDF files, and several other formats.  In order to convert from
127 DocBook format to a format of your choice, you'll need to install Jade as
128 well as the desired DocBook stylesheets.
130 Util-linux
131 ----------
133 New versions of util-linux provide *fdisk support for larger disks,
134 support new options to mount, recognize more supported partition
135 types, have a fdformat which works with 2.4 kernels, and similar goodies.
136 You'll probably want to upgrade.
138 Ksymoops
139 --------
141 If the unthinkable happens and your kernel oopses, you'll need a 2.3
142 version of ksymoops to decode the report; see REPORTING-BUGS in the
143 root of the Linux source for more information.
145 Modutils
146 --------
148 Upgrade to recent modutils to fix various outstanding bugs which are
149 seen more frequently under 2.3.x, and to enable auto-loading of USB
150 modules.  In addition, the layout of modules under
151 /lib/modules/`uname -r`/ has been made more sane.  This change also
152 requires that you upgrade to a recent modutils.
154 Mkinitrd
155 --------
157 These changes to the /lib/modules file tree layout also require that
158 mkinitrd be upgraded.
160 E2fsprogs
161 ---------
163 The latest version of e2fsprogs fixes several bugs in fsck and
164 debugfs.  Obviously, it's a good idea to upgrade.
166 Pcmcia-cs
167 ---------
169 PCMCIA (PC Card) support is now partially implemented in the main
170 kernel source.  Pay attention when you recompile your kernel ;-).
171 Also, be sure to upgrade to the latest pcmcia-cs release.
173 Intel P6 microcode
174 ------------------
176 A driver has been added to allow updating of Intel P6 microcode,
177 accessible as both a devfs regular file and as a normal (misc)
178 character device.  If you are not using devfs you may need to:
180 mkdir /dev/cpu
181 mknod /dev/cpu/microcode c 10 184
182 chmod 0644 /dev/cpu/microcode
184 as root before you can use this.  You'll probably also want to
185 get the user-space microcode_ctl utility to use with this.
187 Networking
188 ==========
190 General changes
191 ---------------
193 The IP firewalling and NAT code has been replaced again.  The new
194 netfilter software (including ipfwadm and ipchains backwards-
195 compatible modules) is currently distributed separately.
197 If you have advanced network configuration needs, you should probably
198 consider using the network tools from ip-route2.
203 The PPP driver has been restructured to support multilink and to
204 enable it to operate over diverse media layers.  If you use PPP,
205 upgrade pppd to at least 2.4.0b1.
207 If you are not using devfs, you must have the device file /dev/ppp
208 which can be made by:
210 mknod /dev/ppp c 108 0
212 as root.
214 If you build ppp support as modules, you will need the following in
215 your /etc/modules.conf file:
217 alias char-major-108    ppp_generic
218 alias /dev/ppp          ppp_generic
219 alias tty-ldisc-3       ppp_async
220 alias tty-ldisc-14      ppp_synctty
221 alias ppp-compress-21   bsd_comp
222 alias ppp-compress-24   ppp_deflate
223 alias ppp-compress-26   ppp_deflate
225 If you use devfsd and build ppp support as modules, you will need
226 the following in your /etc/devfsd.conf file:
228 LOOKUP  PPP     MODLOAD
230 Isdn4k-utils
231 ------------
233 Due to changes in the length of the phone number field, isdn4k-utils
234 needs to be recompiled or (preferably) upgraded.
236 Getting updated software
237 ========================
239 Compilers
240 *********
242 gcc 2.7.2.3
243 -----------
244 o  <ftp://ftp.gnu.org/gnu/gcc/gcc-2.7.2.3.tar.gz>
245 o  <ftp://metalab.unc.edu/pub/gnu/gcc-2.7.2.3.tar.gz>
247 egcs 1.1.2
248 ---------
249 o  <ftp://ftp.valinux.com/pub/support/hjl/gcc/egcs-1.1.2/egcs-1.1.2-glibc.x86.tar.bz2>
250 o  <ftp://ftp.valinux.com/pub/support/hjl/gcc/egcs-1.1.2/egcs-1.1.2-libc5.x86.tar.bz2>
251 o  <ftp://ftp.valinux.com/pub/support/hjl/gcc/egcs-1.1.2/egcs-1.1.2-alpha.tar.bz2>
253 Binutils
254 ********
256 2.9.1 series
257 ------------
258 o  <ftp://ftp.valinux.com/pub/support/hjl/binutils/2.9.1/binutils-2.9.1.0.25.tar.gz>
260 2.9.5 series
261 ------------
262 o  <ftp://ftp.valinux.com/pub/support/hjl/binutils/binutils-2.9.5.0.46.tar.bz2>
264 System utilities
265 ****************
267 Util-linux
268 ----------
269 o  <ftp://ftp.win.tue.nl/pub/linux-local/util-linux/util-linux-2.10o.tar.gz>
271 Ksymoops
272 --------
273 o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.3>
275 Modutils
276 --------
277 o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.3/modutils-2.3.13.tar.gz>
279 Mkinitrd
280 --------
281 o  <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/mkinitrd-2.5-1.src.rpm>
283 E2fsprogs
284 ---------
285 o  <http://web.mit.edu/tytso/www/linux/dist/e2fsprogs-1.18.tar.gz>
286 o  <http://web.mit.edu/tytso/www/linux/dist/e2fsprogs-1.18.src.rpm>
288 LVM toolset
289 -----------
290 o  <http://linux.msede.com/lvm/>
292 Pcmcia-cs
293 ---------
294 o  <ftp://projects.sourceforge.org/pub/pcmcia/pcmcia-cs-3.1.19.tar.gz>
296 Jade
297 ----
298 o  <ftp://ftp.jclark.com/pub/jade/jade-1.2.1.tar.gz>
300 DocBook Stylesheets
301 -------------------
302 o  <http://nwalsh.com/docbook/dsssl/>
304 Intel P6 microcode
305 ------------------
306 o  <http://www.urbanmyth.org/microcode/>
308 Network
309 *******
313 o  <ftp://linuxcare.com.au/pub/ppp/ppp-2.4.0.tar.gz>
315 Isdn4k-utils
316 ------------
317 o  <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/testing/isdn4k-utils.v3.1beta7.tar.gz>
319 Netfilter
320 ---------
321 o  <http://netfilter.filewatcher.org/iptables-1.1.1.tar.bz2>
322 o  <http://www.samba.org/netfilter/iptables-1.1.1.tar.bz2>
323 o  <http://netfilter.kernelnotes.org/iptables-1.1.1.tar.bz2>
325 Ip-route2
326 ---------
327 o  <ftp://ftp.inr.ac.ru/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz>
329 Suggestions and corrections
330 ===========================
332 Please feel free to submit changes, corrections, gripes, flames,
333 money, etc. to me <chris.ricker@genetics.utah.edu>.  Happy Linuxing!