About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / Changes




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:36 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	BC
77	--
78	
79	You will need bc to build kernels 3.10 and higher
80	
81	
82	System utilities
83	================
84	
85	Architectural changes
86	---------------------
87	
88	DevFS has been obsoleted in favour of udev
89	(http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
90	
91	32-bit UID support is now in place.  Have fun!
92	
93	Linux documentation for functions is transitioning to inline
94	documentation via specially-formatted comments near their
95	definitions in the source.  These comments can be combined with the
96	SGML templates in the Documentation/DocBook directory to make DocBook
97	files, which can then be converted by DocBook stylesheets to PostScript,
98	HTML, PDF files, and several other formats.  In order to convert from
99	DocBook format to a format of your choice, you'll need to install Jade as
100	well as the desired DocBook stylesheets.
101	
102	Util-linux
103	----------
104	
105	New versions of util-linux provide *fdisk support for larger disks,
106	support new options to mount, recognize more supported partition
107	types, have a fdformat which works with 2.4 kernels, and similar goodies.
108	You'll probably want to upgrade.
109	
110	Ksymoops
111	--------
112	
113	If the unthinkable happens and your kernel oopses, you may need the
114	ksymoops tool to decode it, but in most cases you don't.
115	It is generally preferred to build the kernel with CONFIG_KALLSYMS so
116	that it produces readable dumps that can be used as-is (this also
117	produces better output than ksymoops).  If for some reason your kernel
118	is not build with CONFIG_KALLSYMS and you have no way to rebuild and
119	reproduce the Oops with that option, then you can still decode that Oops
120	with ksymoops.
121	
122	Module-Init-Tools
123	-----------------
124	
125	A new module loader is now in the kernel that requires module-init-tools
126	to use.  It is backward compatible with the 2.4.x series kernels.
127	
128	Mkinitrd
129	--------
130	
131	These changes to the /lib/modules file tree layout also require that
132	mkinitrd be upgraded.
133	
134	E2fsprogs
135	---------
136	
137	The latest version of e2fsprogs fixes several bugs in fsck and
138	debugfs.  Obviously, it's a good idea to upgrade.
139	
140	JFSutils
141	--------
142	
143	The jfsutils package contains the utilities for the file system.
144	The following utilities are available:
145	o fsck.jfs - initiate replay of the transaction log, and check
146	  and repair a JFS formatted partition.
147	o mkfs.jfs - create a JFS formatted partition.
148	o other file system utilities are also available in this package.
149	
150	Reiserfsprogs
151	-------------
152	
153	The reiserfsprogs package should be used for reiserfs-3.6.x
154	(Linux kernels 2.4.x). It is a combined package and contains working
155	versions of mkreiserfs, resize_reiserfs, debugreiserfs and
156	reiserfsck. These utils work on both i386 and alpha platforms.
157	
158	Xfsprogs
159	--------
160	
161	The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the
162	xfs_repair utilities, among others, for the XFS filesystem.  It is
163	architecture independent and any version from 2.0.0 onward should
164	work correctly with this version of the XFS kernel code (2.6.0 or
165	later is recommended, due to some significant improvements).
166	
167	PCMCIAutils
168	-----------
169	
170	PCMCIAutils replaces pcmcia-cs (see below). It properly sets up
171	PCMCIA sockets at system startup and loads the appropriate modules
172	for 16-bit PCMCIA devices if the kernel is modularized and the hotplug
173	subsystem is used.
174	
175	Pcmcia-cs
176	---------
177	
178	PCMCIA (PC Card) support is now partially implemented in the main
179	kernel source. The "pcmciautils" package (see above) replaces pcmcia-cs
180	for newest kernels.
181	
182	Quota-tools
183	-----------
184	
185	Support for 32 bit uid's and gid's is required if you want to use
186	the newer version 2 quota format.  Quota-tools version 3.07 and
187	newer has this support.  Use the recommended version or newer
188	from the table above.
189	
190	Intel IA32 microcode
191	--------------------
192	
193	A driver has been added to allow updating of Intel IA32 microcode,
194	accessible as a normal (misc) character device.  If you are not using
195	udev you may need to:
196	
197	mkdir /dev/cpu
198	mknod /dev/cpu/microcode c 10 184
199	chmod 0644 /dev/cpu/microcode
200	
201	as root before you can use this.  You'll probably also want to
202	get the user-space microcode_ctl utility to use with this.
203	
204	udev
205	----
206	udev is a userspace application for populating /dev dynamically with
207	only entries for devices actually present.  udev replaces the basic
208	functionality of devfs, while allowing persistent device naming for
209	devices.
210	
211	FUSE
212	----
213	
214	Needs libfuse 2.4.0 or later.  Absolute minimum is 2.3.0 but mount
215	options 'direct_io' and 'kernel_cache' won't work.
216	
217	Networking
218	==========
219	
220	General changes
221	---------------
222	
223	If you have advanced network configuration needs, you should probably
224	consider using the network tools from ip-route2.
225	
226	Packet Filter / NAT
227	-------------------
228	The packet filtering and NAT code uses the same tools like the previous 2.4.x
229	kernel series (iptables).  It still includes backwards-compatibility modules
230	for 2.2.x-style ipchains and 2.0.x-style ipfwadm.
231	
232	PPP
233	---
234	
235	The PPP driver has been restructured to support multilink and to
236	enable it to operate over diverse media layers.  If you use PPP,
237	upgrade pppd to at least 2.4.0.
238	
239	If you are not using udev, you must have the device file /dev/ppp
240	which can be made by:
241	
242	mknod /dev/ppp c 108 0
243	
244	as root.
245	
246	Isdn4k-utils
247	------------
248	
249	Due to changes in the length of the phone number field, isdn4k-utils
250	needs to be recompiled or (preferably) upgraded.
251	
252	NFS-utils
253	---------
254	
255	In ancient (2.4 and earlier) kernels, the nfs server needed to know
256	about any client that expected to be able to access files via NFS.  This
257	information would be given to the kernel by "mountd" when the client
258	mounted the filesystem, or by "exportfs" at system startup.  exportfs
259	would take information about active clients from /var/lib/nfs/rmtab.
260	
261	This approach is quite fragile as it depends on rmtab being correct
262	which is not always easy, particularly when trying to implement
263	fail-over.  Even when the system is working well, rmtab suffers from
264	getting lots of old entries that never get removed.
265	
266	With modern kernels we have the option of having the kernel tell mountd
267	when it gets a request from an unknown host, and mountd can give
268	appropriate export information to the kernel.  This removes the
269	dependency on rmtab and means that the kernel only needs to know about
270	currently active clients.
271	
272	To enable this new functionality, you need to:
273	
274	  mount -t nfsd nfsd /proc/fs/nfsd
275	
276	before running exportfs or mountd.  It is recommended that all NFS
277	services be protected from the internet-at-large by a firewall where
278	that is possible.
279	
280	mcelog
281	------
282	
283	On x86 kernels the mcelog utility is needed to process and log machine check
284	events when CONFIG_X86_MCE is enabled. Machine check events are errors reported
285	by the CPU. Processing them is strongly encouraged.
286	
287	Getting updated software
288	========================
289	
290	Kernel compilation
291	******************
292	
293	gcc
294	---
295	o  <ftp://ftp.gnu.org/gnu/gcc/>
296	
297	Make
298	----
299	o  <ftp://ftp.gnu.org/gnu/make/>
300	
301	Binutils
302	--------
303	o  <ftp://ftp.kernel.org/pub/linux/devel/binutils/>
304	
305	System utilities
306	****************
307	
308	Util-linux
309	----------
310	o  <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>
311	
312	Ksymoops
313	--------
314	o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
315	
316	Module-Init-Tools
317	-----------------
318	o  <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>
319	
320	Mkinitrd
321	--------
322	o  <https://code.launchpad.net/initrd-tools/main>
323	
324	E2fsprogs
325	---------
326	o  <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>
327	
328	JFSutils
329	--------
330	o  <http://jfs.sourceforge.net/>
331	
332	Reiserfsprogs
333	-------------
334	o  <http://www.kernel.org/pub/linux/utils/fs/reiserfs/>
335	
336	Xfsprogs
337	--------
338	o  <ftp://oss.sgi.com/projects/xfs/>
339	
340	Pcmciautils
341	-----------
342	o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>
343	
344	Pcmcia-cs
345	---------
346	o  <http://pcmcia-cs.sourceforge.net/>
347	
348	Quota-tools
349	----------
350	o  <http://sourceforge.net/projects/linuxquota/>
351	
352	DocBook Stylesheets
353	-------------------
354	o  <http://nwalsh.com/docbook/dsssl/>
355	
356	XMLTO XSLT Frontend
357	-------------------
358	o  <http://cyberelk.net/tim/xmlto/>
359	
360	Intel P6 microcode
361	------------------
362	o  <http://www.urbanmyth.org/microcode/>
363	
364	udev
365	----
366	o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
367	
368	FUSE
369	----
370	o <http://sourceforge.net/projects/fuse>
371	
372	mcelog
373	------
374	o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/>
375	
376	Networking
377	**********
378	
379	PPP
380	---
381	o  <ftp://ftp.samba.org/pub/ppp/>
382	
383	Isdn4k-utils
384	------------
385	o  <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/>
386	
387	NFS-utils
388	---------
389	o  <http://sourceforge.net/project/showfiles.php?group_id=14>
390	
391	Iptables
392	--------
393	o  <http://www.iptables.org/downloads.html>
394	
395	Ip-route2
396	---------
397	o  <ftp://ftp.tux.org/pub/net/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz>
398	
399	OProfile
400	--------
401	o  <http://oprofile.sf.net/download/>
402	
403	NFS-Utils
404	---------
405	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.