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