About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / Changes




Custom Search

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