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