@@ -215,12 +215,14 @@ again.
215
215
reduce the compile time enormously, especially if you are running an
216
216
universal kernel from a commodity Linux distribution.
217
217
218
- There is a catch: the make target 'localmodconfig' will disable kernel
219
- features you have not directly or indirectly through some program utilized
220
- since you booted the system. You can reduce or nearly eliminate that risk by
221
- using tricks outlined in the reference section; for quick testing purposes
222
- that risk is often negligible, but it is an aspect you want to keep in mind
223
- in case your kernel behaves oddly.
218
+ There is a catch: 'localmodconfig' is likely to disable kernel features you
219
+ did not use since you booted your Linux -- like drivers for currently
220
+ disconnected peripherals or a virtualization software not haven't used yet.
221
+ You can reduce or nearly eliminate that risk with tricks the reference
222
+ section outlines; but when building a kernel just for quick testing purposes
223
+ it is often negligible if such features are missing. But you should keep that
224
+ aspect in mind when using a kernel built with this make target, as it might
225
+ be the reason why something you only use occasionally stopped working.
224
226
225
227
[:ref: `details<configuration> `]
226
228
@@ -271,6 +273,9 @@ again.
271
273
does nothing at all; in that case you have to manually install your kernel,
272
274
as outlined in the reference section.
273
275
276
+ If you are running a immutable Linux distribution, check its documentation
277
+ and the web to find out how to install your own kernel there.
278
+
274
279
[:ref:`details<install>`]
275
280
276
281
.. _another_sbs :
@@ -291,29 +296,29 @@ again.
291
296
version you care about, as git otherwise might retrieve the entire commit
292
297
history::
293
298
294
- git fetch --shallow-exclude=v6.1 origin
295
-
296
- If you modified the sources (for example by applying a patch), you now need
297
- to discard those modifications; that's because git otherwise will not be able
298
- to switch to the sources of another version due to potential conflicting
299
- changes::
300
-
301
- git reset --hard
299
+ git fetch --shallow-exclude=v6.0 origin
302
300
303
- Now checkout the version you are interested in, as explained above::
301
+ Now switch to the version you are interested in -- but be aware the command
302
+ used here will discard any modifications you performed, as they would
303
+ conflict with the sources you want to checkout::
304
304
305
- git checkout --detach origin/master
305
+ git checkout --force -- detach origin/master
306
306
307
307
At this point you might want to patch the sources again or set/modify a build
308
- tag, as explained earlier; afterwards adjust the build configuration to the
309
- new codebase and build your next kernel::
308
+ tag, as explained earlier. Afterwards adjust the build configuration to the
309
+ new codebase using olddefconfig, which will now adjust the configuration file
310
+ you prepared earlier using localmodconfig (~/linux/.config) for your next
311
+ kernel::
310
312
311
313
# reminder: if you want to apply patches, do it at this point
312
314
# reminder: you might want to update your build tag at this point
313
315
make olddefconfig
316
+
317
+ Now build your kernel::
318
+
314
319
make -j $(nproc --all)
315
320
316
- Install the kernel as outlined above::
321
+ Afterwards install the kernel as outlined above::
317
322
318
323
command -v installkernel && sudo make modules_install install
319
324
@@ -584,11 +589,11 @@ versions and individual commits at hand at any time::
584
589
curl -L \
585
590
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/clone.bundle \
586
591
-o linux-stable.git.bundle
587
- git clone clone .bundle ~/linux/
592
+ git clone linux-stable.git .bundle ~/linux/
588
593
rm linux-stable.git.bundle
589
594
cd ~/linux/
590
- git remote set-url origin
591
- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
595
+ git remote set-url origin \
596
+ https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
592
597
git fetch origin
593
598
git checkout --detach origin/master
594
599
0 commit comments