About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / Changes




Custom Search

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