Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
software:linux:realtime:preempt_rt:build_kernel [2019-02-13 13:05] – mgehrig2 | software:linux:realtime:preempt_rt:build_kernel [2019-02-15 10:31] – mgehrig2 | ||
---|---|---|---|
Zeile 8: | Zeile 8: | ||
==== Get the preemt-rt patch ==== | ==== Get the preemt-rt patch ==== | ||
- | Check [[https:// | + | Check [[https:// |
If not, choose the next newer version and download the patch. | If not, choose the next newer version and download the patch. | ||
- | |||
For example:\\ | For example:\\ | ||
If you are running a 4.4.165 kernel choose the following patch:\\ | If you are running a 4.4.165 kernel choose the following patch:\\ | ||
[[https:// | [[https:// | ||
+ | |||
+ | If you want to use a kernel version that is not already installed, please install the generic kernel with the correct version with [[software: | ||
==== Get the Linux sources ==== | ==== Get the Linux sources ==== | ||
* Clone the kernel < | * Clone the kernel < | ||
- | * Check out the same version as choosen | + | * Check out the same version as chosen |
+ | |||
+ | ==== Install the compatible generic kernel ==== | ||
+ | For RT-patch v4.4.148-rt166-rc1 install generic kernel 4.4.0 | ||
+ | |||
+ | [[software: | ||
+ | |||
===== Build the kernel ===== | ===== Build the kernel ===== | ||
==== Patch the kernel sources ==== | ==== Patch the kernel sources ==== | ||
- | * Go into the kenrel | + | * Go into the kernel |
- | * Applay | + | * Apply the patch< |
+ | patch -p1 < < | ||
==== Choose the build variant ==== | ==== Choose the build variant ==== | ||
Zeile 30: | Zeile 39: | ||
Additional modules can be built and installed after the kernel is installed. | Additional modules can be built and installed after the kernel is installed. | ||
- | * **a.) Minimal**: This will only build modules which are essential. Some basic function like Wifi drivers may be missing. Some basic Ethernet drive are in the monolitic part of the kernel and will still work | + | |
- | * **b.) Full module support** (recommended | + | * **a.) Full module support** **(The easy way)** A normal Linux distribution, |
- | * **c.) Only selected | + | * **b.) Minimal**: **(The propper way)** This will only build modules which are essential. Some basic functionality, |
+ | |||
+ | ==== Configure the kernel ==== | ||
+ | === a.) Full module support === | ||
+ | - Copy the kernel configuration from the generic kernel. | ||
+ | * Make sure you copy the correct config-file with the correct version (i.e. '' | ||
+ | cp / | ||
+ | - Applay the configuration to the patched kernel sources.< | ||
+ | * This will apply the configuration. However, since the kernel is patched and not identical to the generic kernel, not all configurations are defined. Acccept all presented options with '' | ||
+ | |||
+ | |||
+ | === b.) Minimal === | ||
+ | You have three different options: | ||
+ | * **a.)** Configure the kernel to add only the bare minimum. Add all additional modules manually. | ||
+ | * **b.)** Configure the kernel to add all modules, which are currently loaded on the host pc. | ||
+ | * **c.)** Configure the kernel to add all modules, which are currently loaded on a different pc. | ||
+ | |||
+ | |||
+ | - < | ||
+ | - Depending on the CPU architecture: | ||
+ | - X86 - 64bit < | ||
+ | - X86 - 32bit '' | ||
+ | - See ''< | ||
+ | |||
+ | |||
+ | === Additional configurations === | ||
+ | - Open the configuration menu < | ||
+ | - Enable the fully preemptible kernel (The path may be different depending on the kernel version) | ||
+ | | ||
+ | * or | ||
+ | * Kernel options | ||
+ | - Deactivate expert mode | ||
+ | - General setup ---> **[ ] Configure standard kernel features (expert users)** | ||
+ | - Save the configuration and exit the menu | ||
+ | |||
+ | |||
+ | |||
+ | ==== Make and install the kernel ==== | ||
+ | This will going to take about an hour. | ||
+ | |||
+ | - Compile kernel < | ||
+ | - Compile modules < | ||
+ | - Install kernel modules < | ||
+ | - Install kernel < | ||
+ | - Reboot | ||
+ | - Check with '' | ||