xref: /OK3568_Linux_fs/kernel/Documentation/process/changes.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. _changes:
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunMinimal requirements to compile the Kernel
4*4882a593Smuzhiyun++++++++++++++++++++++++++++++++++++++++++
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunIntro
7*4882a593Smuzhiyun=====
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunThis document is designed to provide a list of the minimum levels of
10*4882a593Smuzhiyunsoftware necessary to run the 4.x kernels.
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunThis document is originally based on my "Changes" file for 2.0.x kernels
13*4882a593Smuzhiyunand therefore owes credit to the same people as that file (Jared Mauch,
14*4882a593SmuzhiyunAxel Boldt, Alessandro Sigala, and countless other users all over the
15*4882a593Smuzhiyun'net).
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunCurrent Minimal Requirements
18*4882a593Smuzhiyun****************************
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunUpgrade to at **least** these software revisions before thinking you've
21*4882a593Smuzhiyunencountered a bug!  If you're unsure what version you're currently
22*4882a593Smuzhiyunrunning, the suggested command should tell you.
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunAgain, keep in mind that this list assumes you are already functionally
25*4882a593Smuzhiyunrunning a Linux kernel.  Also, not all tools are necessary on all
26*4882a593Smuzhiyunsystems; obviously, if you don't have any PC Card hardware, for example,
27*4882a593Smuzhiyunyou probably needn't concern yourself with pcmciautils.
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun====================== ===============  ========================================
30*4882a593Smuzhiyun        Program        Minimal version       Command to check the version
31*4882a593Smuzhiyun====================== ===============  ========================================
32*4882a593SmuzhiyunGNU C                  4.9              gcc --version
33*4882a593SmuzhiyunClang/LLVM (optional)  10.0.1           clang --version
34*4882a593SmuzhiyunGNU make               3.81             make --version
35*4882a593Smuzhiyunbinutils               2.23             ld -v
36*4882a593Smuzhiyunflex                   2.5.35           flex --version
37*4882a593Smuzhiyunbison                  2.0              bison --version
38*4882a593Smuzhiyunutil-linux             2.10o            fdformat --version
39*4882a593Smuzhiyunkmod                   13               depmod -V
40*4882a593Smuzhiyune2fsprogs              1.41.4           e2fsck -V
41*4882a593Smuzhiyunjfsutils               1.1.3            fsck.jfs -V
42*4882a593Smuzhiyunreiserfsprogs          3.6.3            reiserfsck -V
43*4882a593Smuzhiyunxfsprogs               2.6.0            xfs_db -V
44*4882a593Smuzhiyunsquashfs-tools         4.0              mksquashfs -version
45*4882a593Smuzhiyunbtrfs-progs            0.18             btrfsck
46*4882a593Smuzhiyunpcmciautils            004              pccardctl -V
47*4882a593Smuzhiyunquota-tools            3.09             quota -V
48*4882a593SmuzhiyunPPP                    2.4.0            pppd --version
49*4882a593Smuzhiyunnfs-utils              1.0.5            showmount --version
50*4882a593Smuzhiyunprocps                 3.2.0            ps --version
51*4882a593Smuzhiyunoprofile               0.9              oprofiled --version
52*4882a593Smuzhiyunudev                   081              udevd --version
53*4882a593Smuzhiyungrub                   0.93             grub --version || grub-install --version
54*4882a593Smuzhiyunmcelog                 0.6              mcelog --version
55*4882a593Smuzhiyuniptables               1.4.2            iptables -V
56*4882a593Smuzhiyunopenssl & libcrypto    1.0.0            openssl version
57*4882a593Smuzhiyunbc                     1.06.95          bc --version
58*4882a593SmuzhiyunSphinx\ [#f1]_	       1.3		sphinx-build --version
59*4882a593Smuzhiyun====================== ===============  ========================================
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun.. [#f1] Sphinx is needed only to build the Kernel documentation
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunKernel compilation
64*4882a593Smuzhiyun******************
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunGCC
67*4882a593Smuzhiyun---
68*4882a593Smuzhiyun
69*4882a593SmuzhiyunThe gcc version requirements may vary depending on the type of CPU in your
70*4882a593Smuzhiyuncomputer.
71*4882a593Smuzhiyun
72*4882a593SmuzhiyunClang/LLVM (optional)
73*4882a593Smuzhiyun---------------------
74*4882a593Smuzhiyun
75*4882a593SmuzhiyunThe latest formal release of clang and LLVM utils (according to
76*4882a593Smuzhiyun`releases.llvm.org <https://releases.llvm.org>`_) are supported for building
77*4882a593Smuzhiyunkernels. Older releases aren't guaranteed to work, and we may drop workarounds
78*4882a593Smuzhiyunfrom the kernel that were used to support older versions. Please see additional
79*4882a593Smuzhiyundocs on :ref:`Building Linux with Clang/LLVM <kbuild_llvm>`.
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunMake
82*4882a593Smuzhiyun----
83*4882a593Smuzhiyun
84*4882a593SmuzhiyunYou will need GNU make 3.81 or later to build the kernel.
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunBinutils
87*4882a593Smuzhiyun--------
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunBinutils 2.23 or newer is needed to build the kernel.
90*4882a593Smuzhiyun
91*4882a593Smuzhiyunpkg-config
92*4882a593Smuzhiyun----------
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunThe build system, as of 4.18, requires pkg-config to check for installed
95*4882a593Smuzhiyunkconfig tools and to determine flags settings for use in
96*4882a593Smuzhiyun'make {g,x}config'.  Previously pkg-config was being used but not
97*4882a593Smuzhiyunverified or documented.
98*4882a593Smuzhiyun
99*4882a593SmuzhiyunFlex
100*4882a593Smuzhiyun----
101*4882a593Smuzhiyun
102*4882a593SmuzhiyunSince Linux 4.16, the build system generates lexical analyzers
103*4882a593Smuzhiyunduring build.  This requires flex 2.5.35 or later.
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun
106*4882a593SmuzhiyunBison
107*4882a593Smuzhiyun-----
108*4882a593Smuzhiyun
109*4882a593SmuzhiyunSince Linux 4.16, the build system generates parsers
110*4882a593Smuzhiyunduring build.  This requires bison 2.0 or later.
111*4882a593Smuzhiyun
112*4882a593SmuzhiyunPerl
113*4882a593Smuzhiyun----
114*4882a593Smuzhiyun
115*4882a593SmuzhiyunYou will need perl 5 and the following modules: ``Getopt::Long``,
116*4882a593Smuzhiyun``Getopt::Std``, ``File::Basename``, and ``File::Find`` to build the kernel.
117*4882a593Smuzhiyun
118*4882a593SmuzhiyunBC
119*4882a593Smuzhiyun--
120*4882a593Smuzhiyun
121*4882a593SmuzhiyunYou will need bc to build kernels 3.10 and higher
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun
124*4882a593SmuzhiyunOpenSSL
125*4882a593Smuzhiyun-------
126*4882a593Smuzhiyun
127*4882a593SmuzhiyunModule signing and external certificate handling use the OpenSSL program and
128*4882a593Smuzhiyuncrypto library to do key creation and signature generation.
129*4882a593Smuzhiyun
130*4882a593SmuzhiyunYou will need openssl to build kernels 3.7 and higher if module signing is
131*4882a593Smuzhiyunenabled.  You will also need openssl development packages to build kernels 4.3
132*4882a593Smuzhiyunand higher.
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun
135*4882a593SmuzhiyunSystem utilities
136*4882a593Smuzhiyun****************
137*4882a593Smuzhiyun
138*4882a593SmuzhiyunArchitectural changes
139*4882a593Smuzhiyun---------------------
140*4882a593Smuzhiyun
141*4882a593SmuzhiyunDevFS has been obsoleted in favour of udev
142*4882a593Smuzhiyun(https://www.kernel.org/pub/linux/utils/kernel/hotplug/)
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun32-bit UID support is now in place.  Have fun!
145*4882a593Smuzhiyun
146*4882a593SmuzhiyunLinux documentation for functions is transitioning to inline
147*4882a593Smuzhiyundocumentation via specially-formatted comments near their
148*4882a593Smuzhiyundefinitions in the source.  These comments can be combined with ReST
149*4882a593Smuzhiyunfiles the Documentation/ directory to make enriched documentation, which can
150*4882a593Smuzhiyunthen be converted to PostScript, HTML, LaTex, ePUB and PDF files.
151*4882a593SmuzhiyunIn order to convert from ReST format to a format of your choice, you'll need
152*4882a593SmuzhiyunSphinx.
153*4882a593Smuzhiyun
154*4882a593SmuzhiyunUtil-linux
155*4882a593Smuzhiyun----------
156*4882a593Smuzhiyun
157*4882a593SmuzhiyunNew versions of util-linux provide ``fdisk`` support for larger disks,
158*4882a593Smuzhiyunsupport new options to mount, recognize more supported partition
159*4882a593Smuzhiyuntypes, have a fdformat which works with 2.4 kernels, and similar goodies.
160*4882a593SmuzhiyunYou'll probably want to upgrade.
161*4882a593Smuzhiyun
162*4882a593SmuzhiyunKsymoops
163*4882a593Smuzhiyun--------
164*4882a593Smuzhiyun
165*4882a593SmuzhiyunIf the unthinkable happens and your kernel oopses, you may need the
166*4882a593Smuzhiyunksymoops tool to decode it, but in most cases you don't.
167*4882a593SmuzhiyunIt is generally preferred to build the kernel with ``CONFIG_KALLSYMS`` so
168*4882a593Smuzhiyunthat it produces readable dumps that can be used as-is (this also
169*4882a593Smuzhiyunproduces better output than ksymoops).  If for some reason your kernel
170*4882a593Smuzhiyunis not build with ``CONFIG_KALLSYMS`` and you have no way to rebuild and
171*4882a593Smuzhiyunreproduce the Oops with that option, then you can still decode that Oops
172*4882a593Smuzhiyunwith ksymoops.
173*4882a593Smuzhiyun
174*4882a593SmuzhiyunMkinitrd
175*4882a593Smuzhiyun--------
176*4882a593Smuzhiyun
177*4882a593SmuzhiyunThese changes to the ``/lib/modules`` file tree layout also require that
178*4882a593Smuzhiyunmkinitrd be upgraded.
179*4882a593Smuzhiyun
180*4882a593SmuzhiyunE2fsprogs
181*4882a593Smuzhiyun---------
182*4882a593Smuzhiyun
183*4882a593SmuzhiyunThe latest version of ``e2fsprogs`` fixes several bugs in fsck and
184*4882a593Smuzhiyundebugfs.  Obviously, it's a good idea to upgrade.
185*4882a593Smuzhiyun
186*4882a593SmuzhiyunJFSutils
187*4882a593Smuzhiyun--------
188*4882a593Smuzhiyun
189*4882a593SmuzhiyunThe ``jfsutils`` package contains the utilities for the file system.
190*4882a593SmuzhiyunThe following utilities are available:
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun- ``fsck.jfs`` - initiate replay of the transaction log, and check
193*4882a593Smuzhiyun  and repair a JFS formatted partition.
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun- ``mkfs.jfs`` - create a JFS formatted partition.
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun- other file system utilities are also available in this package.
198*4882a593Smuzhiyun
199*4882a593SmuzhiyunReiserfsprogs
200*4882a593Smuzhiyun-------------
201*4882a593Smuzhiyun
202*4882a593SmuzhiyunThe reiserfsprogs package should be used for reiserfs-3.6.x
203*4882a593Smuzhiyun(Linux kernels 2.4.x). It is a combined package and contains working
204*4882a593Smuzhiyunversions of ``mkreiserfs``, ``resize_reiserfs``, ``debugreiserfs`` and
205*4882a593Smuzhiyun``reiserfsck``. These utils work on both i386 and alpha platforms.
206*4882a593Smuzhiyun
207*4882a593SmuzhiyunXfsprogs
208*4882a593Smuzhiyun--------
209*4882a593Smuzhiyun
210*4882a593SmuzhiyunThe latest version of ``xfsprogs`` contains ``mkfs.xfs``, ``xfs_db``, and the
211*4882a593Smuzhiyun``xfs_repair`` utilities, among others, for the XFS filesystem.  It is
212*4882a593Smuzhiyunarchitecture independent and any version from 2.0.0 onward should
213*4882a593Smuzhiyunwork correctly with this version of the XFS kernel code (2.6.0 or
214*4882a593Smuzhiyunlater is recommended, due to some significant improvements).
215*4882a593Smuzhiyun
216*4882a593SmuzhiyunPCMCIAutils
217*4882a593Smuzhiyun-----------
218*4882a593Smuzhiyun
219*4882a593SmuzhiyunPCMCIAutils replaces ``pcmcia-cs``. It properly sets up
220*4882a593SmuzhiyunPCMCIA sockets at system startup and loads the appropriate modules
221*4882a593Smuzhiyunfor 16-bit PCMCIA devices if the kernel is modularized and the hotplug
222*4882a593Smuzhiyunsubsystem is used.
223*4882a593Smuzhiyun
224*4882a593SmuzhiyunQuota-tools
225*4882a593Smuzhiyun-----------
226*4882a593Smuzhiyun
227*4882a593SmuzhiyunSupport for 32 bit uid's and gid's is required if you want to use
228*4882a593Smuzhiyunthe newer version 2 quota format.  Quota-tools version 3.07 and
229*4882a593Smuzhiyunnewer has this support.  Use the recommended version or newer
230*4882a593Smuzhiyunfrom the table above.
231*4882a593Smuzhiyun
232*4882a593SmuzhiyunIntel IA32 microcode
233*4882a593Smuzhiyun--------------------
234*4882a593Smuzhiyun
235*4882a593SmuzhiyunA driver has been added to allow updating of Intel IA32 microcode,
236*4882a593Smuzhiyunaccessible as a normal (misc) character device.  If you are not using
237*4882a593Smuzhiyunudev you may need to::
238*4882a593Smuzhiyun
239*4882a593Smuzhiyun  mkdir /dev/cpu
240*4882a593Smuzhiyun  mknod /dev/cpu/microcode c 10 184
241*4882a593Smuzhiyun  chmod 0644 /dev/cpu/microcode
242*4882a593Smuzhiyun
243*4882a593Smuzhiyunas root before you can use this.  You'll probably also want to
244*4882a593Smuzhiyunget the user-space microcode_ctl utility to use with this.
245*4882a593Smuzhiyun
246*4882a593Smuzhiyunudev
247*4882a593Smuzhiyun----
248*4882a593Smuzhiyun
249*4882a593Smuzhiyun``udev`` is a userspace application for populating ``/dev`` dynamically with
250*4882a593Smuzhiyunonly entries for devices actually present. ``udev`` replaces the basic
251*4882a593Smuzhiyunfunctionality of devfs, while allowing persistent device naming for
252*4882a593Smuzhiyundevices.
253*4882a593Smuzhiyun
254*4882a593SmuzhiyunFUSE
255*4882a593Smuzhiyun----
256*4882a593Smuzhiyun
257*4882a593SmuzhiyunNeeds libfuse 2.4.0 or later.  Absolute minimum is 2.3.0 but mount
258*4882a593Smuzhiyunoptions ``direct_io`` and ``kernel_cache`` won't work.
259*4882a593Smuzhiyun
260*4882a593SmuzhiyunNetworking
261*4882a593Smuzhiyun**********
262*4882a593Smuzhiyun
263*4882a593SmuzhiyunGeneral changes
264*4882a593Smuzhiyun---------------
265*4882a593Smuzhiyun
266*4882a593SmuzhiyunIf you have advanced network configuration needs, you should probably
267*4882a593Smuzhiyunconsider using the network tools from ip-route2.
268*4882a593Smuzhiyun
269*4882a593SmuzhiyunPacket Filter / NAT
270*4882a593Smuzhiyun-------------------
271*4882a593SmuzhiyunThe packet filtering and NAT code uses the same tools like the previous 2.4.x
272*4882a593Smuzhiyunkernel series (iptables).  It still includes backwards-compatibility modules
273*4882a593Smuzhiyunfor 2.2.x-style ipchains and 2.0.x-style ipfwadm.
274*4882a593Smuzhiyun
275*4882a593SmuzhiyunPPP
276*4882a593Smuzhiyun---
277*4882a593Smuzhiyun
278*4882a593SmuzhiyunThe PPP driver has been restructured to support multilink and to
279*4882a593Smuzhiyunenable it to operate over diverse media layers.  If you use PPP,
280*4882a593Smuzhiyunupgrade pppd to at least 2.4.0.
281*4882a593Smuzhiyun
282*4882a593SmuzhiyunIf you are not using udev, you must have the device file /dev/ppp
283*4882a593Smuzhiyunwhich can be made by::
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun  mknod /dev/ppp c 108 0
286*4882a593Smuzhiyun
287*4882a593Smuzhiyunas root.
288*4882a593Smuzhiyun
289*4882a593SmuzhiyunNFS-utils
290*4882a593Smuzhiyun---------
291*4882a593Smuzhiyun
292*4882a593SmuzhiyunIn ancient (2.4 and earlier) kernels, the nfs server needed to know
293*4882a593Smuzhiyunabout any client that expected to be able to access files via NFS.  This
294*4882a593Smuzhiyuninformation would be given to the kernel by ``mountd`` when the client
295*4882a593Smuzhiyunmounted the filesystem, or by ``exportfs`` at system startup.  exportfs
296*4882a593Smuzhiyunwould take information about active clients from ``/var/lib/nfs/rmtab``.
297*4882a593Smuzhiyun
298*4882a593SmuzhiyunThis approach is quite fragile as it depends on rmtab being correct
299*4882a593Smuzhiyunwhich is not always easy, particularly when trying to implement
300*4882a593Smuzhiyunfail-over.  Even when the system is working well, ``rmtab`` suffers from
301*4882a593Smuzhiyungetting lots of old entries that never get removed.
302*4882a593Smuzhiyun
303*4882a593SmuzhiyunWith modern kernels we have the option of having the kernel tell mountd
304*4882a593Smuzhiyunwhen it gets a request from an unknown host, and mountd can give
305*4882a593Smuzhiyunappropriate export information to the kernel.  This removes the
306*4882a593Smuzhiyundependency on ``rmtab`` and means that the kernel only needs to know about
307*4882a593Smuzhiyuncurrently active clients.
308*4882a593Smuzhiyun
309*4882a593SmuzhiyunTo enable this new functionality, you need to::
310*4882a593Smuzhiyun
311*4882a593Smuzhiyun  mount -t nfsd nfsd /proc/fs/nfsd
312*4882a593Smuzhiyun
313*4882a593Smuzhiyunbefore running exportfs or mountd.  It is recommended that all NFS
314*4882a593Smuzhiyunservices be protected from the internet-at-large by a firewall where
315*4882a593Smuzhiyunthat is possible.
316*4882a593Smuzhiyun
317*4882a593Smuzhiyunmcelog
318*4882a593Smuzhiyun------
319*4882a593Smuzhiyun
320*4882a593SmuzhiyunOn x86 kernels the mcelog utility is needed to process and log machine check
321*4882a593Smuzhiyunevents when ``CONFIG_X86_MCE`` is enabled. Machine check events are errors
322*4882a593Smuzhiyunreported by the CPU. Processing them is strongly encouraged.
323*4882a593Smuzhiyun
324*4882a593SmuzhiyunKernel documentation
325*4882a593Smuzhiyun********************
326*4882a593Smuzhiyun
327*4882a593SmuzhiyunSphinx
328*4882a593Smuzhiyun------
329*4882a593Smuzhiyun
330*4882a593SmuzhiyunPlease see :ref:`sphinx_install` in :ref:`Documentation/doc-guide/sphinx.rst <sphinxdoc>`
331*4882a593Smuzhiyunfor details about Sphinx requirements.
332*4882a593Smuzhiyun
333*4882a593SmuzhiyunGetting updated software
334*4882a593Smuzhiyun========================
335*4882a593Smuzhiyun
336*4882a593SmuzhiyunKernel compilation
337*4882a593Smuzhiyun******************
338*4882a593Smuzhiyun
339*4882a593Smuzhiyungcc
340*4882a593Smuzhiyun---
341*4882a593Smuzhiyun
342*4882a593Smuzhiyun- <ftp://ftp.gnu.org/gnu/gcc/>
343*4882a593Smuzhiyun
344*4882a593SmuzhiyunClang/LLVM
345*4882a593Smuzhiyun----------
346*4882a593Smuzhiyun
347*4882a593Smuzhiyun- :ref:`Getting LLVM <getting_llvm>`.
348*4882a593Smuzhiyun
349*4882a593SmuzhiyunMake
350*4882a593Smuzhiyun----
351*4882a593Smuzhiyun
352*4882a593Smuzhiyun- <ftp://ftp.gnu.org/gnu/make/>
353*4882a593Smuzhiyun
354*4882a593SmuzhiyunBinutils
355*4882a593Smuzhiyun--------
356*4882a593Smuzhiyun
357*4882a593Smuzhiyun- <https://www.kernel.org/pub/linux/devel/binutils/>
358*4882a593Smuzhiyun
359*4882a593SmuzhiyunFlex
360*4882a593Smuzhiyun----
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun- <https://github.com/westes/flex/releases>
363*4882a593Smuzhiyun
364*4882a593SmuzhiyunBison
365*4882a593Smuzhiyun-----
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun- <ftp://ftp.gnu.org/gnu/bison/>
368*4882a593Smuzhiyun
369*4882a593SmuzhiyunOpenSSL
370*4882a593Smuzhiyun-------
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun- <https://www.openssl.org/>
373*4882a593Smuzhiyun
374*4882a593SmuzhiyunSystem utilities
375*4882a593Smuzhiyun****************
376*4882a593Smuzhiyun
377*4882a593SmuzhiyunUtil-linux
378*4882a593Smuzhiyun----------
379*4882a593Smuzhiyun
380*4882a593Smuzhiyun- <https://www.kernel.org/pub/linux/utils/util-linux/>
381*4882a593Smuzhiyun
382*4882a593SmuzhiyunKmod
383*4882a593Smuzhiyun----
384*4882a593Smuzhiyun
385*4882a593Smuzhiyun- <https://www.kernel.org/pub/linux/utils/kernel/kmod/>
386*4882a593Smuzhiyun- <https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git>
387*4882a593Smuzhiyun
388*4882a593SmuzhiyunKsymoops
389*4882a593Smuzhiyun--------
390*4882a593Smuzhiyun
391*4882a593Smuzhiyun- <https://www.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
392*4882a593Smuzhiyun
393*4882a593SmuzhiyunMkinitrd
394*4882a593Smuzhiyun--------
395*4882a593Smuzhiyun
396*4882a593Smuzhiyun- <https://code.launchpad.net/initrd-tools/main>
397*4882a593Smuzhiyun
398*4882a593SmuzhiyunE2fsprogs
399*4882a593Smuzhiyun---------
400*4882a593Smuzhiyun
401*4882a593Smuzhiyun- <https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/>
402*4882a593Smuzhiyun- <https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/>
403*4882a593Smuzhiyun
404*4882a593SmuzhiyunJFSutils
405*4882a593Smuzhiyun--------
406*4882a593Smuzhiyun
407*4882a593Smuzhiyun- <http://jfs.sourceforge.net/>
408*4882a593Smuzhiyun
409*4882a593SmuzhiyunReiserfsprogs
410*4882a593Smuzhiyun-------------
411*4882a593Smuzhiyun
412*4882a593Smuzhiyun- <https://git.kernel.org/pub/scm/linux/kernel/git/jeffm/reiserfsprogs.git/>
413*4882a593Smuzhiyun
414*4882a593SmuzhiyunXfsprogs
415*4882a593Smuzhiyun--------
416*4882a593Smuzhiyun
417*4882a593Smuzhiyun- <https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git>
418*4882a593Smuzhiyun- <https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/>
419*4882a593Smuzhiyun
420*4882a593SmuzhiyunPcmciautils
421*4882a593Smuzhiyun-----------
422*4882a593Smuzhiyun
423*4882a593Smuzhiyun- <https://www.kernel.org/pub/linux/utils/kernel/pcmcia/>
424*4882a593Smuzhiyun
425*4882a593SmuzhiyunQuota-tools
426*4882a593Smuzhiyun-----------
427*4882a593Smuzhiyun
428*4882a593Smuzhiyun- <http://sourceforge.net/projects/linuxquota/>
429*4882a593Smuzhiyun
430*4882a593Smuzhiyun
431*4882a593SmuzhiyunIntel P6 microcode
432*4882a593Smuzhiyun------------------
433*4882a593Smuzhiyun
434*4882a593Smuzhiyun- <https://downloadcenter.intel.com/>
435*4882a593Smuzhiyun
436*4882a593Smuzhiyunudev
437*4882a593Smuzhiyun----
438*4882a593Smuzhiyun
439*4882a593Smuzhiyun- <https://www.freedesktop.org/software/systemd/man/udev.html>
440*4882a593Smuzhiyun
441*4882a593SmuzhiyunFUSE
442*4882a593Smuzhiyun----
443*4882a593Smuzhiyun
444*4882a593Smuzhiyun- <https://github.com/libfuse/libfuse/releases>
445*4882a593Smuzhiyun
446*4882a593Smuzhiyunmcelog
447*4882a593Smuzhiyun------
448*4882a593Smuzhiyun
449*4882a593Smuzhiyun- <http://www.mcelog.org/>
450*4882a593Smuzhiyun
451*4882a593SmuzhiyunNetworking
452*4882a593Smuzhiyun**********
453*4882a593Smuzhiyun
454*4882a593SmuzhiyunPPP
455*4882a593Smuzhiyun---
456*4882a593Smuzhiyun
457*4882a593Smuzhiyun- <https://download.samba.org/pub/ppp/>
458*4882a593Smuzhiyun- <https://git.ozlabs.org/?p=ppp.git>
459*4882a593Smuzhiyun- <https://github.com/paulusmack/ppp/>
460*4882a593Smuzhiyun
461*4882a593SmuzhiyunNFS-utils
462*4882a593Smuzhiyun---------
463*4882a593Smuzhiyun
464*4882a593Smuzhiyun- <http://sourceforge.net/project/showfiles.php?group_id=14>
465*4882a593Smuzhiyun
466*4882a593SmuzhiyunIptables
467*4882a593Smuzhiyun--------
468*4882a593Smuzhiyun
469*4882a593Smuzhiyun- <https://netfilter.org/projects/iptables/index.html>
470*4882a593Smuzhiyun
471*4882a593SmuzhiyunIp-route2
472*4882a593Smuzhiyun---------
473*4882a593Smuzhiyun
474*4882a593Smuzhiyun- <https://www.kernel.org/pub/linux/utils/net/iproute2/>
475*4882a593Smuzhiyun
476*4882a593SmuzhiyunOProfile
477*4882a593Smuzhiyun--------
478*4882a593Smuzhiyun
479*4882a593Smuzhiyun- <http://oprofile.sf.net/download/>
480*4882a593Smuzhiyun
481*4882a593SmuzhiyunNFS-Utils
482*4882a593Smuzhiyun---------
483*4882a593Smuzhiyun
484*4882a593Smuzhiyun- <http://nfs.sourceforge.net/>
485*4882a593Smuzhiyun
486*4882a593SmuzhiyunKernel documentation
487*4882a593Smuzhiyun********************
488*4882a593Smuzhiyun
489*4882a593SmuzhiyunSphinx
490*4882a593Smuzhiyun------
491*4882a593Smuzhiyun
492*4882a593Smuzhiyun- <https://www.sphinx-doc.org/>
493