About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / Changes




Custom Search

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