About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / Changes




Custom Search

Based on kernel version 3.13. Page generated on 2014-01-20 22:00 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	udev
200	----
201	udev is a userspace application for populating /dev dynamically with
202	only entries for devices actually present.  udev replaces the basic
203	functionality of devfs, while allowing persistent device naming for
204	devices.
205	
206	FUSE
207	----
208	
209	Needs libfuse 2.4.0 or later.  Absolute minimum is 2.3.0 but mount
210	options 'direct_io' and 'kernel_cache' won't work.
211	
212	Networking
213	==========
214	
215	General changes
216	---------------
217	
218	If you have advanced network configuration needs, you should probably
219	consider using the network tools from ip-route2.
220	
221	Packet Filter / NAT
222	-------------------
223	The packet filtering and NAT code uses the same tools like the previous 2.4.x
224	kernel series (iptables).  It still includes backwards-compatibility modules
225	for 2.2.x-style ipchains and 2.0.x-style ipfwadm.
226	
227	PPP
228	---
229	
230	The PPP driver has been restructured to support multilink and to
231	enable it to operate over diverse media layers.  If you use PPP,
232	upgrade pppd to at least 2.4.0.
233	
234	If you are not using udev, you must have the device file /dev/ppp
235	which can be made by:
236	
237	mknod /dev/ppp c 108 0
238	
239	as root.
240	
241	Isdn4k-utils
242	------------
243	
244	Due to changes in the length of the phone number field, isdn4k-utils
245	needs to be recompiled or (preferably) upgraded.
246	
247	NFS-utils
248	---------
249	
250	In ancient (2.4 and earlier) kernels, the nfs server needed to know
251	about any client that expected to be able to access files via NFS.  This
252	information would be given to the kernel by "mountd" when the client
253	mounted the filesystem, or by "exportfs" at system startup.  exportfs
254	would take information about active clients from /var/lib/nfs/rmtab.
255	
256	This approach is quite fragile as it depends on rmtab being correct
257	which is not always easy, particularly when trying to implement
258	fail-over.  Even when the system is working well, rmtab suffers from
259	getting lots of old entries that never get removed.
260	
261	With modern kernels we have the option of having the kernel tell mountd
262	when it gets a request from an unknown host, and mountd can give
263	appropriate export information to the kernel.  This removes the
264	dependency on rmtab and means that the kernel only needs to know about
265	currently active clients.
266	
267	To enable this new functionality, you need to:
268	
269	  mount -t nfsd nfsd /proc/fs/nfsd
270	
271	before running exportfs or mountd.  It is recommended that all NFS
272	services be protected from the internet-at-large by a firewall where
273	that is possible.
274	
275	mcelog
276	------
277	
278	In Linux 2.6.31+ the i386 kernel needs to run the mcelog utility
279	as a regular cronjob similar to the x86-64 kernel to process and log
280	machine check events when CONFIG_X86_NEW_MCE is enabled. Machine check
281	events are errors reported by the CPU. Processing them is strongly encouraged.
282	All x86-64 kernels since 2.6.4 require the mcelog utility to
283	process machine checks.
284	
285	Getting updated software
286	========================
287	
288	Kernel compilation
289	******************
290	
291	gcc
292	---
293	o  <ftp://ftp.gnu.org/gnu/gcc/>
294	
295	Make
296	----
297	o  <ftp://ftp.gnu.org/gnu/make/>
298	
299	Binutils
300	--------
301	o  <ftp://ftp.kernel.org/pub/linux/devel/binutils/>
302	
303	System utilities
304	****************
305	
306	Util-linux
307	----------
308	o  <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>
309	
310	Ksymoops
311	--------
312	o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
313	
314	Module-Init-Tools
315	-----------------
316	o  <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/>
317	
318	Mkinitrd
319	--------
320	o  <https://code.launchpad.net/initrd-tools/main>
321	
322	E2fsprogs
323	---------
324	o  <http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.29.tar.gz>
325	
326	JFSutils
327	--------
328	o  <http://jfs.sourceforge.net/>
329	
330	Reiserfsprogs
331	-------------
332	o  <http://www.kernel.org/pub/linux/utils/fs/reiserfs/>
333	
334	Xfsprogs
335	--------
336	o  <ftp://oss.sgi.com/projects/xfs/>
337	
338	Pcmciautils
339	-----------
340	o  <ftp://ftp.kernel.org/pub/linux/utils/kernel/pcmcia/>
341	
342	Pcmcia-cs
343	---------
344	o  <http://pcmcia-cs.sourceforge.net/>
345	
346	Quota-tools
347	----------
348	o  <http://sourceforge.net/projects/linuxquota/>
349	
350	DocBook Stylesheets
351	-------------------
352	o  <http://nwalsh.com/docbook/dsssl/>
353	
354	XMLTO XSLT Frontend
355	-------------------
356	o  <http://cyberelk.net/tim/xmlto/>
357	
358	Intel P6 microcode
359	------------------
360	o  <http://www.urbanmyth.org/microcode/>
361	
362	udev
363	----
364	o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
365	
366	FUSE
367	----
368	o <http://sourceforge.net/projects/fuse>
369	
370	mcelog
371	------
372	o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/>
373	
374	Networking
375	**********
376	
377	PPP
378	---
379	o  <ftp://ftp.samba.org/pub/ppp/>
380	
381	Isdn4k-utils
382	------------
383	o  <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/>
384	
385	NFS-utils
386	---------
387	o  <http://sourceforge.net/project/showfiles.php?group_id=14>
388	
389	Iptables
390	--------
391	o  <http://www.iptables.org/downloads.html>
392	
393	Ip-route2
394	---------
395	o  <ftp://ftp.tux.org/pub/net/ip-routing/iproute2-2.2.4-now-ss991023.tar.gz>
396	
397	OProfile
398	--------
399	o  <http://oprofile.sf.net/download/>
400	
401	NFS-Utils
402	---------
403	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.