About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / Changes




Custom Search

Based on kernel version 2.6.34. Page generated on 2010-05-31 16:02 EST.

1	Intro
2	=====
3	
4	This document is designed to provide a list of the minimum levels of
5	software necessary to run the 2.6 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.4.x
8	kernel, please consult the Changes file included with 2.4.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.4.x kernels.
12	
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).
17	
18	Current Minimal Requirements
19	============================
20	
21	Upgrade to at *least* these software revisions before thinking you've
22	encountered a bug!  If you're unsure what version you're currently
23	running, the suggested command should tell you.
24	
25	Again, keep in mind that this list assumes you are already
26	functionally running a Linux 2.4 kernel.  Also, not all tools are
27	necessary on all systems; obviously, if you don't have any ISDN
28	hardware, for example, you probably needn't concern yourself with
29	isdn4k-utils.
30	
31	o  Gnu C                  3.2                     # gcc --version
32	o  Gnu make               3.80                    # make --version
33	o  binutils               2.12                    # ld -v
34	o  util-linux             2.10o                   # fdformat --version
35	o  module-init-tools      0.9.10                  # depmod -V
36	o  e2fsprogs              1.41.4                  # e2fsck -V
37	o  jfsutils               1.1.3                   # fsck.jfs -V
38	o  reiserfsprogs          3.6.3                   # reiserfsck -V 2>&1|grep reiserfsprogs
39	o  xfsprogs               2.6.0                   # xfs_db -V
40	o  squashfs-tools         4.0                     # mksquashfs -version
41	o  btrfs-progs            0.18                    # btrfsck
42	o  pcmciautils            004                     # pccardctl -V
43	o  quota-tools            3.09                    # quota -V
44	o  PPP                    2.4.0                   # pppd --version
45	o  isdn4k-utils           3.1pre1                 # isdnctrl 2>&1|grep version
46	o  nfs-utils              1.0.5                   # showmount --version
47	o  procps                 3.2.0                   # ps --version
48	o  oprofile               0.9                     # oprofiled --version
49	o  udev                   081                     # udevinfo -V
50	o  grub                   0.93                    # grub --version
51	o  mcelog		  0.6
52	o  iptables               1.4.1                   # iptables -V
53	
54	
55	Kernel compilation
56	==================
57	
58	GCC
59	---
60	
61	The gcc version requirements may vary depending on the type of CPU in your
62	computer.
63	
64	Make
65	----
66	
67	You will need Gnu make 3.80 or later to build the kernel.
68	
69	Binutils
70	--------
71	
72	Linux on IA-32 has recently switched from using as86 to using gas for
73	assembling the 16-bit boot code, removing the need for as86 to compile
74	your kernel.  This change does, however, mean that you need a recent
75	release of binutils.
76	
77	Perl
78	----
79	
80	You will need perl 5 and the following modules: Getopt::Long, Getopt::Std,
81	File::Basename, and File::Find to build the kernel.
82	
83	
84	System utilities
85	================
86	
87	Architectural changes
88	---------------------
89	
90	DevFS has been obsoleted in favour of udev
91	(http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
92	
93	32-bit UID support is now in place.  Have fun!
94	
95	Linux documentation for functions is transitioning to inline
96	documentation via specially-formatted comments near their
97	definitions in the source.  These comments can be combined with the
98	SGML templates in the Documentation/DocBook directory to make DocBook
99	files, which can then be converted by DocBook stylesheets to PostScript,
100	HTML, PDF files, and several other formats.  In order to convert from
101	DocBook format to a format of your choice, you'll need to install Jade as
102	well as the desired DocBook stylesheets.
103	
104	Util-linux
105	----------
106	
107	New versions of util-linux provide *fdisk support for larger disks,
108	support new options to mount, recognize more supported partition
109	types, have a fdformat which works with 2.4 kernels, and similar goodies.
110	You'll probably want to upgrade.
111	
112	Ksymoops
113	--------
114	
115	If the unthinkable happens and your kernel oopses, you may need the
116	ksymoops tool to decode it, but in most cases you don't.
117	In the 2.6 kernel it is generally preferred to build the kernel with
118	CONFIG_KALLSYMS so that it produces readable dumps that can be used as-is
119	(this also produces better output than ksymoops).
120	If for some reason your kernel is not build with CONFIG_KALLSYMS and
121	you have no way to rebuild and reproduce the Oops with that option, then
122	you can still decode that Oops with ksymoops.
123	
124	Module-Init-Tools
125	-----------------
126	
127	A new module loader is now in the kernel that requires module-init-tools
128	to use.  It is backward compatible with the 2.4.x series kernels.
129	
130	Mkinitrd
131	--------
132	
133	These changes to the /lib/modules file tree layout also require that
134	mkinitrd be upgraded.
135	
136	E2fsprogs
137	---------
138	
139	The latest version of e2fsprogs fixes several bugs in fsck and
140	debugfs.  Obviously, it's a good idea to upgrade.
141	
142	JFSutils
143	--------
144	
145	The jfsutils package contains the utilities for the file system.
146	The following utilities are available:
147	o fsck.jfs - initiate replay of the transaction log, and check
148	  and repair a JFS formatted partition.
149	o mkfs.jfs - create a JFS formatted partition.
150	o other file system utilities are also available in this package.
151	
152	Reiserfsprogs
153	-------------
154	
155	The reiserfsprogs package should be used for reiserfs-3.6.x
156	(Linux kernels 2.4.x). It is a combined package and contains working
157	versions of mkreiserfs, resize_reiserfs, debugreiserfs and
158	reiserfsck. These utils work on both i386 and alpha platforms.
159	
160	Xfsprogs
161	--------
162	
163	The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
164	xfs_repair utilities, among others, for the XFS filesystem.  It is
165	architecture independent and any version from 2.0.0 onward should
166	work correctly with this version of the XFS kernel code (2.6.0 or
167	later is recommended, due to some significant improvements).
168	
169	PCMCIAutils
170	-----------
171	
172	PCMCIAutils replaces pcmcia-cs (see below). It properly sets up
173	PCMCIA sockets at system startup and loads the appropriate modules
174	for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
175	subsystem is used.
176	
177	Pcmcia-cs
178	---------
179	
180	PCMCIA (PC Card) support is now partially implemented in the main
181	kernel source. The "pcmciautils" package (see above) replaces pcmcia-cs
182	for newest kernels.
183	
184	Quota-tools
185	-----------
186	
187	Support for 32 bit uid's and gid's is required if you want to use
188	the newer version 2 quota format.  Quota-tools version 3.07 and
189	newer has this support.  Use the recommended version or newer
190	from the table above.
191	
192	Intel IA32 microcode
193	--------------------
194	
195	A driver has been added to allow updating of Intel IA32 microcode,
196	accessible as a normal (misc) character device.  If you are not using
197	udev you may need to:
198	
199	mkdir /dev/cpu
200	mknod /dev/cpu/microcode c 10 184
201	chmod 0644 /dev/cpu/microcode
202	
203	as root before you can use this.  You'll probably also want to
204	get the user-space microcode_ctl utility to use with this.
205	
206	Powertweak
207	----------
208	
209	If you are running v0.1.17 or earlier, you should upgrade to
210	version v0.99.0 or higher. Running old versions may cause problems
211	with programs using shared memory.
212	
213	udev
214	----
215	udev is a userspace application for populating /dev dynamically with
216	only entries for devices actually present.  udev replaces the basic
217	functionality of devfs, while allowing persistent device naming for
218	devices.
219	
220	FUSE
221	----
222	
223	Needs libfuse 2.4.0 or later.  Absolute minimum is 2.3.0 but mount
224	options 'direct_io' and 'kernel_cache' won't work.
225	
226	Networking
227	==========
228	
229	General changes
230	---------------
231	
232	If you have advanced network configuration needs, you should probably
233	consider using the network tools from ip-route2.
234	
235	Packet Filter / NAT
236	-------------------
237	The packet filtering and NAT code uses the same tools like the previous 2.4.x
238	kernel series (iptables).  It still includes backwards-compatibility modules
239	for 2.2.x-style ipchains and 2.0.x-style ipfwadm.
240	
241	PPP
242	---
243	
244	The PPP driver has been restructured to support multilink and to
245	enable it to operate over diverse media layers.  If you use PPP,
246	upgrade pppd to at least 2.4.0.
247	
248	If you are not using udev, you must have the device file /dev/ppp
249	which can be made by:
250	
251	mknod /dev/ppp c 108 0
252	
253	as root.
254	
255	Isdn4k-utils
256	------------
257	
258	Due to changes in the length of the phone number field, isdn4k-utils
259	needs to be recompiled or (preferably) upgraded.
260	
261	NFS-utils
262	---------
263	
264	In 2.4 and earlier kernels, the nfs server needed to know about any
265	client that expected to be able to access files via NFS.  This
266	information would be given to the kernel by "mountd" when the client
267	mounted the filesystem, or by "exportfs" at system startup.  exportfs
268	would take information about active clients from /var/lib/nfs/rmtab.
269	
270	This approach is quite fragile as it depends on rmtab being correct
271	which is not always easy, particularly when trying to implement
272	fail-over.  Even when the system is working well, rmtab suffers from
273	getting lots of old entries that never get removed.
274	
275	With 2.6 we have the option of having the kernel tell mountd when it
276	gets a request from an unknown host, and mountd can give appropriate
277	export information to the kernel.  This removes the dependency on
278	rmtab and means that the kernel only needs to know about currently
279	active clients.
280	
281	To enable this new functionality, you need to:
282	
283	  mount -t nfsd nfsd /proc/fs/nfsd
284	
285	before running exportfs or mountd.  It is recommended that all NFS
286	services be protected from the internet-at-large by a firewall where
287	that is possible.
288	
289	mcelog
290	------
291	
292	In Linux 2.6.31+ the i386 kernel needs to run the mcelog utility
293	as a regular cronjob similar to the x86-64 kernel to process and log
294	machine check events when CONFIG_X86_NEW_MCE is enabled. Machine check
295	events are errors reported by the CPU. Processing them is strongly encouraged.
296	All x86-64 kernels since 2.6.4 require the mcelog utility to
297	process machine checks.
298	
299	Getting updated software
300	========================
301	
302	Kernel compilation
303	******************
304	
305	gcc
306	---
307	o  <ftp://ftp.gnu.org/gnu/gcc/>
308	
309	Make
310	----
311	o  <ftp://ftp.gnu.org/gnu/make/>
312	
313	Binutils
314	--------
315	o  <ftp://ftp.kernel.org/pub/linux/devel/binutils/>
316	
317	System utilities
318	****************
319	
320	Util-linux
321	----------
322	o  <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>
323	
324	Ksymoops
325	--------
326	o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
327	
328	Module-Init-Tools
329	-----------------
330	o  <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>
331	
332	Mkinitrd
333	--------
334	o  <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/>
335	
336	E2fsprogs
337	---------
338	o  <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>
339	
340	JFSutils
341	--------
342	o  <http://jfs.sourceforge.net/>
343	
344	Reiserfsprogs
345	-------------
346	o  <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>
347	
348	Xfsprogs
349	--------
350	o  <ftp://oss.sgi.com/projects/xfs/download/>
351	
352	Pcmciautils
353	-----------
354	o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>
355	
356	Pcmcia-cs
357	---------
358	o  <http://pcmcia-cs.sourceforge.net/>
359	
360	Quota-tools
361	----------
362	o  <http://sourceforge.net/projects/linuxquota/>
363	
364	DocBook Stylesheets
365	-------------------
366	o  <http://nwalsh.com/docbook/dsssl/>
367	
368	XMLTO XSLT Frontend
369	-------------------
370	o  <http://cyberelk.net/tim/xmlto/>
371	
372	Intel P6 microcode
373	------------------
374	o  <http://www.urbanmyth.org/microcode/>
375	
376	Powertweak
377	----------
378	o  <http://powertweak.sourceforge.net/>
379	
380	udev
381	----
382	o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
383	
384	FUSE
385	----
386	o <http://sourceforge.net/projects/fuse>
387	
388	mcelog
389	------
390	o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/mcelog/>
391	
392	Networking
393	**********
394	
395	PPP
396	---
397	o  <ftp://ftp.samba.org/pub/ppp/ppp-2.4.0.tar.gz>
398	
399	Isdn4k-utils
400	------------
401	o  <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz>
402	
403	NFS-utils
404	---------
405	o  <http://sourceforge.net/project/showfiles.php?group_id=14>
406	
407	Iptables
408	--------
409	o  <http://www.iptables.org/downloads.html>
410	
411	Ip-route2
412	---------
413	o  <ftp://ftp.tux.org/pub/net/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz>
414	
415	OProfile
416	--------
417	o  <http://oprofile.sf.net/download/>
418	
419	NFS-Utils
420	---------
421	o  <http://nfs.sourceforge.net/>
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.