~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/Changes

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/Changes (Version linux-6.12-rc7) and /Documentation/Changes (Version policy-sample)


  1 .. _changes:                                      
  2                                                   
  3 Minimal requirements to compile the Kernel        
  4 ++++++++++++++++++++++++++++++++++++++++++        
  5                                                   
  6 Intro                                             
  7 =====                                             
  8                                                   
  9 This document is designed to provide a list of    
 10 software necessary to run the current kernel v    
 11                                                   
 12 This document is originally based on my "Chang    
 13 and therefore owes credit to the same people a    
 14 Axel Boldt, Alessandro Sigala, and countless o    
 15 'net).                                            
 16                                                   
 17 Current Minimal Requirements                      
 18 ****************************                      
 19                                                   
 20 Upgrade to at **least** these software revisio    
 21 encountered a bug!  If you're unsure what vers    
 22 running, the suggested command should tell you    
 23                                                   
 24 Again, keep in mind that this list assumes you    
 25 running a Linux kernel.  Also, not all tools a    
 26 systems; obviously, if you don't have any PC C    
 27 you probably needn't concern yourself with pcm    
 28                                                   
 29 ====================== ===============  ======    
 30         Program        Minimal version       C    
 31 ====================== ===============  ======    
 32 GNU C                  5.1              gcc --    
 33 Clang/LLVM (optional)  13.0.1           clang     
 34 Rust (optional)        1.78.0           rustc     
 35 bindgen (optional)     0.65.1           bindge    
 36 GNU make               4.0              make -    
 37 bash                   4.2              bash -    
 38 binutils               2.25             ld -v     
 39 flex                   2.5.35           flex -    
 40 bison                  2.0              bison     
 41 pahole                 1.16             pahole    
 42 util-linux             2.10o            mount     
 43 kmod                   13               depmod    
 44 e2fsprogs              1.41.4           e2fsck    
 45 jfsutils               1.1.3            fsck.j    
 46 reiserfsprogs          3.6.3            reiser    
 47 xfsprogs               2.6.0            xfs_db    
 48 squashfs-tools         4.0              mksqua    
 49 btrfs-progs            0.18             btrfsc    
 50 pcmciautils            004              pccard    
 51 quota-tools            3.09             quota     
 52 PPP                    2.4.0            pppd -    
 53 nfs-utils              1.0.5            showmo    
 54 procps                 3.2.0            ps --v    
 55 udev                   081              udevd     
 56 grub                   0.93             grub -    
 57 mcelog                 0.6              mcelog    
 58 iptables               1.4.2            iptabl    
 59 openssl & libcrypto    1.0.0            openss    
 60 bc                     1.06.95          bc --v    
 61 Sphinx\ [#f1]_         2.4.4            sphinx    
 62 cpio                   any              cpio -    
 63 GNU tar                1.28             tar --    
 64 gtags (optional)       6.6.5            gtags     
 65 mkimage (optional)     2017.01          mkimag    
 66 Python (optional)      3.5.x            python    
 67 GNU AWK (optional)     5.1.0            gawk -    
 68 ====================== ===============  ======    
 69                                                   
 70 .. [#f1] Sphinx is needed only to build the Ke    
 71                                                   
 72 Kernel compilation                                
 73 ******************                                
 74                                                   
 75 GCC                                               
 76 ---                                               
 77                                                   
 78 The gcc version requirements may vary dependin    
 79 computer.                                         
 80                                                   
 81 Clang/LLVM (optional)                             
 82 ---------------------                             
 83                                                   
 84 The latest formal release of clang and LLVM ut    
 85 `releases.llvm.org <https://releases.llvm.org>    
 86 kernels. Older releases aren't guaranteed to w    
 87 from the kernel that were used to support olde    
 88 docs on :ref:`Building Linux with Clang/LLVM <    
 89                                                   
 90 Rust (optional)                                   
 91 ---------------                                   
 92                                                   
 93 A recent version of the Rust compiler is requi    
 94                                                   
 95 Please see Documentation/rust/quick-start.rst     
 96 satisfy the build requirements of Rust support    
 97 target ``rustavailable`` is useful to check wh    
 98 be detected.                                      
 99                                                   
100 bindgen (optional)                                
101 ------------------                                
102                                                   
103 ``bindgen`` is used to generate the Rust bindi    
104 It depends on ``libclang``.                       
105                                                   
106 Make                                              
107 ----                                              
108                                                   
109 You will need GNU make 4.0 or later to build t    
110                                                   
111 Bash                                              
112 ----                                              
113                                                   
114 Some bash scripts are used for the kernel buil    
115 Bash 4.2 or newer is needed.                      
116                                                   
117 Binutils                                          
118 --------                                          
119                                                   
120 Binutils 2.25 or newer is needed to build the     
121                                                   
122 pkg-config                                        
123 ----------                                        
124                                                   
125 The build system, as of 4.18, requires pkg-con    
126 kconfig tools and to determine flags settings     
127 'make {g,x}config'.  Previously pkg-config was    
128 verified or documented.                           
129                                                   
130 Flex                                              
131 ----                                              
132                                                   
133 Since Linux 4.16, the build system generates l    
134 during build.  This requires flex 2.5.35 or la    
135                                                   
136                                                   
137 Bison                                             
138 -----                                             
139                                                   
140 Since Linux 4.16, the build system generates p    
141 during build.  This requires bison 2.0 or late    
142                                                   
143 pahole                                            
144 ------                                            
145                                                   
146 Since Linux 5.2, if CONFIG_DEBUG_INFO_BTF is s    
147 generates BTF (BPF Type Format) from DWARF in     
148 modules as well.  This requires pahole v1.16 o    
149                                                   
150 It is found in the 'dwarves' or 'pahole' distr    
151 https://fedorapeople.org/~acme/dwarves/.          
152                                                   
153 Perl                                              
154 ----                                              
155                                                   
156 You will need perl 5 and the following modules    
157 ``Getopt::Std``, ``File::Basename``, and ``Fil    
158                                                   
159 BC                                                
160 --                                                
161                                                   
162 You will need bc to build kernels 3.10 and hig    
163                                                   
164                                                   
165 OpenSSL                                           
166 -------                                           
167                                                   
168 Module signing and external certificate handli    
169 crypto library to do key creation and signatur    
170                                                   
171 You will need openssl to build kernels 3.7 and    
172 enabled.  You will also need openssl developme    
173 and higher.                                       
174                                                   
175 Tar                                               
176 ---                                               
177                                                   
178 GNU tar is needed if you want to enable access    
179 (CONFIG_IKHEADERS).                               
180                                                   
181 gtags / GNU GLOBAL (optional)                     
182 -----------------------------                     
183                                                   
184 The kernel build requires GNU GLOBAL version 6    
185 tag files through ``make gtags``.  This is due    
186 ``-C (--directory)`` flag.                        
187                                                   
188 mkimage                                           
189 -------                                           
190                                                   
191 This tool is used when building a Flat Image T    
192 platforms. The tool is available via the ``u-b    
193 built from the U-Boot source code. See the ins    
194 https://docs.u-boot.org/en/latest/build/tools.    
195                                                   
196 GNU AWK                                           
197 -------                                           
198                                                   
199 GNU AWK is needed if you want kernel builds to    
200 builtin modules (CONFIG_BUILTIN_MODULE_RANGES)    
201                                                   
202 System utilities                                  
203 ****************                                  
204                                                   
205 Architectural changes                             
206 ---------------------                             
207                                                   
208 DevFS has been obsoleted in favour of udev        
209 (https://www.kernel.org/pub/linux/utils/kernel    
210                                                   
211 32-bit UID support is now in place.  Have fun!    
212                                                   
213 Linux documentation for functions is transitio    
214 documentation via specially-formatted comments    
215 definitions in the source.  These comments can    
216 files the Documentation/ directory to make enr    
217 then be converted to PostScript, HTML, LaTex,     
218 In order to convert from ReST format to a form    
219 Sphinx.                                           
220                                                   
221 Util-linux                                        
222 ----------                                        
223                                                   
224 New versions of util-linux provide ``fdisk`` s    
225 support new options to mount, recognize more s    
226 types, and similar goodies.                       
227 You'll probably want to upgrade.                  
228                                                   
229 Ksymoops                                          
230 --------                                          
231                                                   
232 If the unthinkable happens and your kernel oop    
233 ksymoops tool to decode it, but in most cases     
234 It is generally preferred to build the kernel     
235 that it produces readable dumps that can be us    
236 produces better output than ksymoops).  If for    
237 is not build with ``CONFIG_KALLSYMS`` and you     
238 reproduce the Oops with that option, then you     
239 with ksymoops.                                    
240                                                   
241 Mkinitrd                                          
242 --------                                          
243                                                   
244 These changes to the ``/lib/modules`` file tre    
245 mkinitrd be upgraded.                             
246                                                   
247 E2fsprogs                                         
248 ---------                                         
249                                                   
250 The latest version of ``e2fsprogs`` fixes seve    
251 debugfs.  Obviously, it's a good idea to upgra    
252                                                   
253 JFSutils                                          
254 --------                                          
255                                                   
256 The ``jfsutils`` package contains the utilitie    
257 The following utilities are available:            
258                                                   
259 - ``fsck.jfs`` - initiate replay of the transa    
260   and repair a JFS formatted partition.           
261                                                   
262 - ``mkfs.jfs`` - create a JFS formatted partit    
263                                                   
264 - other file system utilities are also availab    
265                                                   
266 Reiserfsprogs                                     
267 -------------                                     
268                                                   
269 The reiserfsprogs package should be used for r    
270 (Linux kernels 2.4.x). It is a combined packag    
271 versions of ``mkreiserfs``, ``resize_reiserfs`    
272 ``reiserfsck``. These utils work on both i386     
273                                                   
274 Xfsprogs                                          
275 --------                                          
276                                                   
277 The latest version of ``xfsprogs`` contains ``    
278 ``xfs_repair`` utilities, among others, for th    
279 architecture independent and any version from     
280 work correctly with this version of the XFS ke    
281 later is recommended, due to some significant     
282                                                   
283 PCMCIAutils                                       
284 -----------                                       
285                                                   
286 PCMCIAutils replaces ``pcmcia-cs``. It properl    
287 PCMCIA sockets at system startup and loads the    
288 for 16-bit PCMCIA devices if the kernel is mod    
289 subsystem is used.                                
290                                                   
291 Quota-tools                                       
292 -----------                                       
293                                                   
294 Support for 32 bit uid's and gid's is required    
295 the newer version 2 quota format.  Quota-tools    
296 newer has this support.  Use the recommended v    
297 from the table above.                             
298                                                   
299 Intel IA32 microcode                              
300 --------------------                              
301                                                   
302 A driver has been added to allow updating of I    
303 accessible as a normal (misc) character device    
304 udev you may need to::                            
305                                                   
306   mkdir /dev/cpu                                  
307   mknod /dev/cpu/microcode c 10 184               
308   chmod 0644 /dev/cpu/microcode                   
309                                                   
310 as root before you can use this.  You'll proba    
311 get the user-space microcode_ctl utility to us    
312                                                   
313 udev                                              
314 ----                                              
315                                                   
316 ``udev`` is a userspace application for popula    
317 only entries for devices actually present. ``u    
318 functionality of devfs, while allowing persist    
319 devices.                                          
320                                                   
321 FUSE                                              
322 ----                                              
323                                                   
324 Needs libfuse 2.4.0 or later.  Absolute minimu    
325 options ``direct_io`` and ``kernel_cache`` won    
326                                                   
327 Networking                                        
328 **********                                        
329                                                   
330 General changes                                   
331 ---------------                                   
332                                                   
333 If you have advanced network configuration nee    
334 consider using the network tools from ip-route    
335                                                   
336 Packet Filter / NAT                               
337 -------------------                               
338 The packet filtering and NAT code uses the sam    
339 kernel series (iptables).  It still includes b    
340 for 2.2.x-style ipchains and 2.0.x-style ipfwa    
341                                                   
342 PPP                                               
343 ---                                               
344                                                   
345 The PPP driver has been restructured to suppor    
346 enable it to operate over diverse media layers    
347 upgrade pppd to at least 2.4.0.                   
348                                                   
349 If you are not using udev, you must have the d    
350 which can be made by::                            
351                                                   
352   mknod /dev/ppp c 108 0                          
353                                                   
354 as root.                                          
355                                                   
356 NFS-utils                                         
357 ---------                                         
358                                                   
359 In ancient (2.4 and earlier) kernels, the nfs     
360 about any client that expected to be able to a    
361 information would be given to the kernel by ``    
362 mounted the filesystem, or by ``exportfs`` at     
363 would take information about active clients fr    
364                                                   
365 This approach is quite fragile as it depends o    
366 which is not always easy, particularly when tr    
367 fail-over.  Even when the system is working we    
368 getting lots of old entries that never get rem    
369                                                   
370 With modern kernels we have the option of havi    
371 when it gets a request from an unknown host, a    
372 appropriate export information to the kernel.     
373 dependency on ``rmtab`` and means that the ker    
374 currently active clients.                         
375                                                   
376 To enable this new functionality, you need to:    
377                                                   
378   mount -t nfsd nfsd /proc/fs/nfsd                
379                                                   
380 before running exportfs or mountd.  It is reco    
381 services be protected from the internet-at-lar    
382 that is possible.                                 
383                                                   
384 mcelog                                            
385 ------                                            
386                                                   
387 On x86 kernels the mcelog utility is needed to    
388 events when ``CONFIG_X86_MCE`` is enabled. Mac    
389 reported by the CPU. Processing them is strong    
390                                                   
391 Kernel documentation                              
392 ********************                              
393                                                   
394 Sphinx                                            
395 ------                                            
396                                                   
397 Please see :ref:`sphinx_install` in :ref:`Docu    
398 for details about Sphinx requirements.            
399                                                   
400 rustdoc                                           
401 -------                                           
402                                                   
403 ``rustdoc`` is used to generate the documentat    
404 Documentation/rust/general-information.rst for    
405                                                   
406 Getting updated software                          
407 ========================                          
408                                                   
409 Kernel compilation                                
410 ******************                                
411                                                   
412 gcc                                               
413 ---                                               
414                                                   
415 - <ftp://ftp.gnu.org/gnu/gcc/>                    
416                                                   
417 Clang/LLVM                                        
418 ----------                                        
419                                                   
420 - :ref:`Getting LLVM <getting_llvm>`.             
421                                                   
422 Rust                                              
423 ----                                              
424                                                   
425 - Documentation/rust/quick-start.rst.             
426                                                   
427 bindgen                                           
428 -------                                           
429                                                   
430 - Documentation/rust/quick-start.rst.             
431                                                   
432 Make                                              
433 ----                                              
434                                                   
435 - <ftp://ftp.gnu.org/gnu/make/>                   
436                                                   
437 Bash                                              
438 ----                                              
439                                                   
440 - <ftp://ftp.gnu.org/gnu/bash/>                   
441                                                   
442 Binutils                                          
443 --------                                          
444                                                   
445 - <https://www.kernel.org/pub/linux/devel/binu    
446                                                   
447 Flex                                              
448 ----                                              
449                                                   
450 - <https://github.com/westes/flex/releases>       
451                                                   
452 Bison                                             
453 -----                                             
454                                                   
455 - <ftp://ftp.gnu.org/gnu/bison/>                  
456                                                   
457 OpenSSL                                           
458 -------                                           
459                                                   
460 - <https://www.openssl.org/>                      
461                                                   
462 System utilities                                  
463 ****************                                  
464                                                   
465 Util-linux                                        
466 ----------                                        
467                                                   
468 - <https://www.kernel.org/pub/linux/utils/util    
469                                                   
470 Kmod                                              
471 ----                                              
472                                                   
473 - <https://www.kernel.org/pub/linux/utils/kern    
474 - <https://git.kernel.org/pub/scm/utils/kernel    
475                                                   
476 Ksymoops                                          
477 --------                                          
478                                                   
479 - <https://www.kernel.org/pub/linux/utils/kern    
480                                                   
481 Mkinitrd                                          
482 --------                                          
483                                                   
484 - <https://code.launchpad.net/initrd-tools/mai    
485                                                   
486 E2fsprogs                                         
487 ---------                                         
488                                                   
489 - <https://www.kernel.org/pub/linux/kernel/peo    
490 - <https://git.kernel.org/pub/scm/fs/ext2/e2fs    
491                                                   
492 JFSutils                                          
493 --------                                          
494                                                   
495 - <https://jfs.sourceforge.net/>                  
496                                                   
497 Reiserfsprogs                                     
498 -------------                                     
499                                                   
500 - <https://git.kernel.org/pub/scm/linux/kernel    
501                                                   
502 Xfsprogs                                          
503 --------                                          
504                                                   
505 - <https://git.kernel.org/pub/scm/fs/xfs/xfspr    
506 - <https://www.kernel.org/pub/linux/utils/fs/x    
507                                                   
508 Pcmciautils                                       
509 -----------                                       
510                                                   
511 - <https://www.kernel.org/pub/linux/utils/kern    
512                                                   
513 Quota-tools                                       
514 -----------                                       
515                                                   
516 - <https://sourceforge.net/projects/linuxquota    
517                                                   
518                                                   
519 Intel P6 microcode                                
520 ------------------                                
521                                                   
522 - <https://downloadcenter.intel.com/>             
523                                                   
524 udev                                              
525 ----                                              
526                                                   
527 - <https://www.freedesktop.org/software/system    
528                                                   
529 FUSE                                              
530 ----                                              
531                                                   
532 - <https://github.com/libfuse/libfuse/releases    
533                                                   
534 mcelog                                            
535 ------                                            
536                                                   
537 - <https://www.mcelog.org/>                       
538                                                   
539 cpio                                              
540 ----                                              
541                                                   
542 - <https://www.gnu.org/software/cpio/>            
543                                                   
544 Networking                                        
545 **********                                        
546                                                   
547 PPP                                               
548 ---                                               
549                                                   
550 - <https://download.samba.org/pub/ppp/>           
551 - <https://git.ozlabs.org/?p=ppp.git>             
552 - <https://github.com/paulusmack/ppp/>            
553                                                   
554 NFS-utils                                         
555 ---------                                         
556                                                   
557 - <https://sourceforge.net/project/showfiles.p    
558 - <https://nfs.sourceforge.net/>                  
559                                                   
560 Iptables                                          
561 --------                                          
562                                                   
563 - <https://netfilter.org/projects/iptables/ind    
564                                                   
565 Ip-route2                                         
566 ---------                                         
567                                                   
568 - <https://www.kernel.org/pub/linux/utils/net/    
569                                                   
570 OProfile                                          
571 --------                                          
572                                                   
573 - <https://oprofile.sf.net/download/>             
574                                                   
575 Kernel documentation                              
576 ********************                              
577                                                   
578 Sphinx                                            
579 ------                                            
580                                                   
581 - <https://www.sphinx-doc.org/>                   
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php