···11.. _readme:2233-Linux kernel release 4.x <http://kernel.org/>33+Linux kernel release 5.x <http://kernel.org/>44=============================================5566-These are the release notes for Linux version 4. Read them carefully,66+These are the release notes for Linux version 5. Read them carefully,77as they tell you what this is all about, explain how to install the88kernel, and what to do if something goes wrong.99···6363 directory where you have permissions (e.g. your home directory) and6464 unpack it::65656666- xz -cd linux-4.X.tar.xz | tar xvf -6666+ xz -cd linux-5.x.tar.xz | tar xvf -67676868 Replace "X" with the version number of the latest kernel.6969···7272 files. They should match the library, and not get messed up by7373 whatever the kernel-du-jour happens to be.74747575- - You can also upgrade between 4.x releases by patching. Patches are7575+ - You can also upgrade between 5.x releases by patching. Patches are7676 distributed in the xz format. To install by patching, get all the7777 newer patch files, enter the top level directory of the kernel source7878- (linux-4.X) and execute::7878+ (linux-5.x) and execute::79798080- xz -cd ../patch-4.x.xz | patch -p18080+ xz -cd ../patch-5.x.xz | patch -p181818282- Replace "x" for all versions bigger than the version "X" of your current8282+ Replace "x" for all versions bigger than the version "x" of your current8383 source tree, **in_order**, and you should be ok. You may want to remove8484 the backup files (some-file-name~ or some-file-name.orig), and make sure8585 that there are no failed patches (some-file-name# or some-file-name.rej).8686 If there are, either you or I have made a mistake.87878888- Unlike patches for the 4.x kernels, patches for the 4.x.y kernels8888+ Unlike patches for the 5.x kernels, patches for the 5.x.y kernels8989 (also known as the -stable kernels) are not incremental but instead apply9090- directly to the base 4.x kernel. For example, if your base kernel is 4.09191- and you want to apply the 4.0.3 patch, you must not first apply the 4.0.19292- and 4.0.2 patches. Similarly, if you are running kernel version 4.0.2 and9393- want to jump to 4.0.3, you must first reverse the 4.0.2 patch (that is,9494- patch -R) **before** applying the 4.0.3 patch. You can read more on this in9090+ directly to the base 5.x kernel. For example, if your base kernel is 5.09191+ and you want to apply the 5.0.3 patch, you must not first apply the 5.0.19292+ and 5.0.2 patches. Similarly, if you are running kernel version 5.0.2 and9393+ want to jump to 5.0.3, you must first reverse the 5.0.2 patch (that is,9494+ patch -R) **before** applying the 5.0.3 patch. You can read more on this in9595 :ref:`Documentation/process/applying-patches.rst <applying_patches>`.96969797 Alternatively, the script patch-kernel can be used to automate this···114114Software requirements115115---------------------116116117117- Compiling and running the 4.x kernels requires up-to-date117117+ Compiling and running the 5.x kernels requires up-to-date118118 versions of various software packages. Consult119119 :ref:`Documentation/process/changes.rst <changes>` for the minimum version numbers120120 required and how to get updates for these packages. Beware that using···132132 place for the output files (including .config).133133 Example::134134135135- kernel source code: /usr/src/linux-4.X135135+ kernel source code: /usr/src/linux-5.x136136 build directory: /home/name/build/kernel137137138138 To configure and build the kernel, use::139139140140- cd /usr/src/linux-4.X140140+ cd /usr/src/linux-5.x141141 make O=/home/name/build/kernel menuconfig142142 make O=/home/name/build/kernel143143 sudo make O=/home/name/build/kernel modules_install install
+61-56
Documentation/process/applying-patches.rst
···216216generate a patch representing the differences between two patches and then217217apply the result.218218219219-This will let you move from something like 4.7.2 to 4.7.3 in a single219219+This will let you move from something like 5.7.2 to 5.7.3 in a single220220step. The -z flag to interdiff will even let you feed it patches in gzip or221221bzip2 compressed form directly without the use of zcat or bzcat or manual222222decompression.223223224224-Here's how you'd go from 4.7.2 to 4.7.3 in a single step::224224+Here's how you'd go from 5.7.2 to 5.7.3 in a single step::225225226226- interdiff -z ../patch-4.7.2.gz ../patch-4.7.3.gz | patch -p1226226+ interdiff -z ../patch-5.7.2.gz ../patch-5.7.3.gz | patch -p1227227228228Although interdiff may save you a step or two you are generally advised to229229do the additional steps since interdiff can get things wrong in some cases.···245245Most recent patches are linked from the front page, but they also have246246specific homes.247247248248-The 4.x.y (-stable) and 4.x patches live at248248+The 5.x.y (-stable) and 5.x patches live at249249250250- https://www.kernel.org/pub/linux/kernel/v4.x/250250+ https://www.kernel.org/pub/linux/kernel/v5.x/251251252252-The -rc patches live at252252+The -rc patches are not stored on the webserver but are generated on253253+demand from git tags such as253254254254- https://www.kernel.org/pub/linux/kernel/v4.x/testing/255255+ https://git.kernel.org/torvalds/p/v5.1-rc1/v5.0256256+257257+The stable -rc patches live at258258+259259+ https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/255260256261257257-The 4.x kernels262262+The 5.x kernels258263===============259264260265These are the base stable releases released by Linus. The highest numbered261266release is the most recent.262267263268If regressions or other serious flaws are found, then a -stable fix patch264264-will be released (see below) on top of this base. Once a new 4.x base269269+will be released (see below) on top of this base. Once a new 5.x base265270kernel is released, a patch is made available that is a delta between the266266-previous 4.x kernel and the new one.271271+previous 5.x kernel and the new one.267272268268-To apply a patch moving from 4.6 to 4.7, you'd do the following (note269269-that such patches do **NOT** apply on top of 4.x.y kernels but on top of the270270-base 4.x kernel -- if you need to move from 4.x.y to 4.x+1 you need to271271-first revert the 4.x.y patch).273273+To apply a patch moving from 5.6 to 5.7, you'd do the following (note274274+that such patches do **NOT** apply on top of 5.x.y kernels but on top of the275275+base 5.x kernel -- if you need to move from 5.x.y to 5.x+1 you need to276276+first revert the 5.x.y patch).272277273278Here are some examples::274279275275- # moving from 4.6 to 4.7280280+ # moving from 5.6 to 5.7276281277277- $ cd ~/linux-4.6 # change to kernel source dir278278- $ patch -p1 < ../patch-4.7 # apply the 4.7 patch282282+ $ cd ~/linux-5.6 # change to kernel source dir283283+ $ patch -p1 < ../patch-5.7 # apply the 5.7 patch279284 $ cd ..280280- $ mv linux-4.6 linux-4.7 # rename source dir285285+ $ mv linux-5.6 linux-5.7 # rename source dir281286282282- # moving from 4.6.1 to 4.7287287+ # moving from 5.6.1 to 5.7283288284284- $ cd ~/linux-4.6.1 # change to kernel source dir285285- $ patch -p1 -R < ../patch-4.6.1 # revert the 4.6.1 patch286286- # source dir is now 4.6287287- $ patch -p1 < ../patch-4.7 # apply new 4.7 patch289289+ $ cd ~/linux-5.6.1 # change to kernel source dir290290+ $ patch -p1 -R < ../patch-5.6.1 # revert the 5.6.1 patch291291+ # source dir is now 5.6292292+ $ patch -p1 < ../patch-5.7 # apply new 5.7 patch288293 $ cd ..289289- $ mv linux-4.6.1 linux-4.7 # rename source dir294294+ $ mv linux-5.6.1 linux-5.7 # rename source dir290295291296292292-The 4.x.y kernels297297+The 5.x.y kernels293298=================294299295300Kernels with 3-digit versions are -stable kernels. They contain small(ish)296301critical fixes for security problems or significant regressions discovered297297-in a given 4.x kernel.302302+in a given 5.x kernel.298303299304This is the recommended branch for users who want the most recent stable300305kernel and are not interested in helping test development/experimental301306versions.302307303303-If no 4.x.y kernel is available, then the highest numbered 4.x kernel is308308+If no 5.x.y kernel is available, then the highest numbered 5.x kernel is304309the current stable kernel.305310306311.. note::···313308 The -stable team usually do make incremental patches available as well314309 as patches against the latest mainline release, but I only cover the315310 non-incremental ones below. The incremental ones can be found at316316- https://www.kernel.org/pub/linux/kernel/v4.x/incr/311311+ https://www.kernel.org/pub/linux/kernel/v5.x/incr/317312318318-These patches are not incremental, meaning that for example the 4.7.3319319-patch does not apply on top of the 4.7.2 kernel source, but rather on top320320-of the base 4.7 kernel source.313313+These patches are not incremental, meaning that for example the 5.7.3314314+patch does not apply on top of the 5.7.2 kernel source, but rather on top315315+of the base 5.7 kernel source.321316322322-So, in order to apply the 4.7.3 patch to your existing 4.7.2 kernel323323-source you have to first back out the 4.7.2 patch (so you are left with a324324-base 4.7 kernel source) and then apply the new 4.7.3 patch.317317+So, in order to apply the 5.7.3 patch to your existing 5.7.2 kernel318318+source you have to first back out the 5.7.2 patch (so you are left with a319319+base 5.7 kernel source) and then apply the new 5.7.3 patch.325320326321Here's a small example::327322328328- $ cd ~/linux-4.7.2 # change to the kernel source dir329329- $ patch -p1 -R < ../patch-4.7.2 # revert the 4.7.2 patch330330- $ patch -p1 < ../patch-4.7.3 # apply the new 4.7.3 patch323323+ $ cd ~/linux-5.7.2 # change to the kernel source dir324324+ $ patch -p1 -R < ../patch-5.7.2 # revert the 5.7.2 patch325325+ $ patch -p1 < ../patch-5.7.3 # apply the new 5.7.3 patch331326 $ cd ..332332- $ mv linux-4.7.2 linux-4.7.3 # rename the kernel source dir327327+ $ mv linux-5.7.2 linux-5.7.3 # rename the kernel source dir333328334329The -rc kernels335330===============···348343development kernels but do not want to run some of the really experimental349344stuff (such people should see the sections about -next and -mm kernels below).350345351351-The -rc patches are not incremental, they apply to a base 4.x kernel, just352352-like the 4.x.y patches described above. The kernel version before the -rcN346346+The -rc patches are not incremental, they apply to a base 5.x kernel, just347347+like the 5.x.y patches described above. The kernel version before the -rcN353348suffix denotes the version of the kernel that this -rc kernel will eventually354349turn into.355350356356-So, 4.8-rc5 means that this is the fifth release candidate for the 4.8357357-kernel and the patch should be applied on top of the 4.7 kernel source.351351+So, 5.8-rc5 means that this is the fifth release candidate for the 5.8352352+kernel and the patch should be applied on top of the 5.7 kernel source.358353359354Here are 3 examples of how to apply these patches::360355361361- # first an example of moving from 4.7 to 4.8-rc3356356+ # first an example of moving from 5.7 to 5.8-rc3362357363363- $ cd ~/linux-4.7 # change to the 4.7 source dir364364- $ patch -p1 < ../patch-4.8-rc3 # apply the 4.8-rc3 patch358358+ $ cd ~/linux-5.7 # change to the 5.7 source dir359359+ $ patch -p1 < ../patch-5.8-rc3 # apply the 5.8-rc3 patch365360 $ cd ..366366- $ mv linux-4.7 linux-4.8-rc3 # rename the source dir361361+ $ mv linux-5.7 linux-5.8-rc3 # rename the source dir367362368368- # now let's move from 4.8-rc3 to 4.8-rc5363363+ # now let's move from 5.8-rc3 to 5.8-rc5369364370370- $ cd ~/linux-4.8-rc3 # change to the 4.8-rc3 dir371371- $ patch -p1 -R < ../patch-4.8-rc3 # revert the 4.8-rc3 patch372372- $ patch -p1 < ../patch-4.8-rc5 # apply the new 4.8-rc5 patch365365+ $ cd ~/linux-5.8-rc3 # change to the 5.8-rc3 dir366366+ $ patch -p1 -R < ../patch-5.8-rc3 # revert the 5.8-rc3 patch367367+ $ patch -p1 < ../patch-5.8-rc5 # apply the new 5.8-rc5 patch373368 $ cd ..374374- $ mv linux-4.8-rc3 linux-4.8-rc5 # rename the source dir369369+ $ mv linux-5.8-rc3 linux-5.8-rc5 # rename the source dir375370376376- # finally let's try and move from 4.7.3 to 4.8-rc5371371+ # finally let's try and move from 5.7.3 to 5.8-rc5377372378378- $ cd ~/linux-4.7.3 # change to the kernel source dir379379- $ patch -p1 -R < ../patch-4.7.3 # revert the 4.7.3 patch380380- $ patch -p1 < ../patch-4.8-rc5 # apply new 4.8-rc5 patch373373+ $ cd ~/linux-5.7.3 # change to the kernel source dir374374+ $ patch -p1 -R < ../patch-5.7.3 # revert the 5.7.3 patch375375+ $ patch -p1 < ../patch-5.8-rc5 # apply new 5.8-rc5 patch381376 $ cd ..382382- $ mv linux-4.7.3 linux-4.8-rc5 # rename the kernel source dir377377+ $ mv linux-5.7.3 linux-5.8-rc5 # rename the kernel source dir383378384379385380The -mm patches and the linux-next tree
···4455.. _it_readme:6677-Rilascio del kernel Linux 4.x <http://kernel.org/>77+Rilascio del kernel Linux 5.x <http://kernel.org/>88===================================================991010.. warning::