summaryrefslogtreecommitdiff
path: root/md/writeup/compile_linux_kernel.md
diff options
context:
space:
mode:
authorFreeArtMan <dos21h@gmail.com>2016-07-03 11:38:23 +0100
committerFreeArtMan <dos21h@gmail.com>2016-07-03 11:38:23 +0100
commit519253628e1847e60dca556221bbe0cda13f1172 (patch)
tree0b3981697a55d09f538c47cf444b0c285a6b2136 /md/writeup/compile_linux_kernel.md
parentcfacfaed3056e1f022d2b8fad9cdc206bfbd1108 (diff)
downloadmd-content-519253628e1847e60dca556221bbe0cda13f1172.tar.gz
md-content-519253628e1847e60dca556221bbe0cda13f1172.zip
Updated linux kernel compilation
Diffstat (limited to 'md/writeup/compile_linux_kernel.md')
-rw-r--r--md/writeup/compile_linux_kernel.md68
1 files changed, 68 insertions, 0 deletions
diff --git a/md/writeup/compile_linux_kernel.md b/md/writeup/compile_linux_kernel.md
index 75966fe..821b46c 100644
--- a/md/writeup/compile_linux_kernel.md
+++ b/md/writeup/compile_linux_kernel.md
@@ -26,6 +26,47 @@ http://kernel.ubuntu.com/git/
And also there is little different native kernel building ways for some distros
+## Config
+
+Easyes way startup config is just to get whatever you running now. If you hw works good
+with current distro then use current kernel config its is stored in procfs _/proc/config.gz_.
+Lets go to our kernel repo and do
+
+```
+zcat /proc/config.gz > .config
+```
+now you are ready to compile kernel that will work at begining
+
+### Making yout own config
+
+When you making you own optimised config you need to check your current hardware settup.
+If you whant minimal kernel there is two options. Just remove hardware that will be newer
+used. Like if you have have laptop only with intel video card then everything that realted to
+other video cards could be removed. Second approach is to make only bare minimum without
+kernel modules. Here is interesting. You get you runnung kernel. And plug all deiveces that
+you whant to work. Drivers will be autoloaded for this devices and you staticly compile them in.
+And you will able to run your stuff only with staticly compiled kernel without loadable modules.
+
+List all loaded modules
+
+```
+lsmod
+```
+
+See all conntected USB devices
+
+```
+lsusb
+```
+
+See all PCI devices and modules that they are using
+
+```
+lspci -k
+```
+
+This bare minimum of command that you whant to run to start modifing your kernel.
+
## Compiling
Run to configure kernel
@@ -40,6 +81,32 @@ compile our first kernel
make
```
+## Install
+
+It depends from distro to distro expected way how to install new/fresh/clean kernel
+
+### ArchLinux
+
+Install modules. They all will go /lib/modules/`your kernel version`
+
+```
+make modules_install
+```
+
+Compy compiled kernel to boot directory
+
+```
+cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-linux318
+```
+
+Create initram image
+
+```
+mkinitcpio -k <kernelversion> -g /boot/initramfs-<file name>.img
+```
+
+All of this should be enought to run kernel with qemu
+
<!--
## Compile module
-->
@@ -66,3 +133,4 @@ http://tomoyo.osdn.jp/
2. https://wiki.ubuntu.com/Kernel/SourceCode
3. https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
4. https://fedoraproject.org/wiki/Building_a_custom_kernel
+5. https://wiki.archlinux.org/index.php/Kernels/Traditional_compilation