About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / Changes




Custom Search

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