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