Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
software:linux:realtime:preempt_rt:build_kernel [2019-01-21 16:28] – angelegt mgehrig2 | software:linux:realtime:preempt_rt:build_kernel [2019-02-15 10:52] – 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 chosen for the patch < | ||
+ | |||
+ | ==== Install the compatible generic kernel ==== | ||
+ | For RT-patch v4.4.148-rt166-rc1 install generic kernel 4.4.0 | ||
+ | |||
+ | [[software: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Build the kernel ===== | ||
+ | ==== Patch the kernel sources ==== | ||
+ | * Go into the kernel source directory | ||
+ | * Apply the patch< | ||
+ | patch -p1 < < | ||
+ | |||
+ | ==== Choose the build variant ==== | ||
+ | This selection will affect, how many modules will be built. | ||
+ | The sizef and the range of functions of the monolitic kernel will not be changed. | ||
+ | Additional modules can be built and installed after the kernel is installed. | ||
+ | |||
+ | |||
+ | * **a.) Full module support** **(The easy way)** A normal Linux distribution, | ||
+ | * **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: | ||
+ | * **1.)** Configure the kernel to add only the bare minimum. Add all additional modules manually. | ||
+ | * **2.)** Configure the kernel to add all modules, which are currently loaded on the host pc. | ||
+ | * **3.)** Configure the kernel to add all modules, which are currently loaded on a different pc. | ||
+ | |||
+ | == 1.) Bare minimum == | ||
+ | - '' | ||
+ | - Depending on the CPU architecture: | ||
+ | - X86 - 64bit '' | ||
+ | - X86 - 32bit '' | ||
+ | - See ''< | ||
+ | - Open the configuration menu '' | ||
+ | - Add all modules and drivers you need. | ||
+ | |||
+ | == 2.) Copy module configuration from host == | ||
+ | - '' | ||
+ | - '' | ||
+ | - Open the configuration menu '' | ||
+ | - Add all additional modules and drivers you need. | ||
+ | |||
+ | **Note**: Most modules are only loaded when they are needed. | ||
+ | |||
+ | |||
+ | == 3.) Copy module configuration from a different machine == | ||
+ | On target machine (with generic kernel loaded): | ||
+ | - '' | ||
+ | |||
+ | On host: | ||
+ | - '' | ||
+ | - Copy the '// | ||
+ | - '' | ||
+ | - '' | ||
+ | - Open the configuration menu '' | ||
+ | - Add all additional modules and drivers you need. | ||
+ | |||
+ | === Additional configurations === | ||
+ | - Open the configuration menu < | ||
+ | - Enable the fully preemptible kernel (The path may be different depending on the kernel version) | ||
+ | * Processor type and features ---> Preemption | ||
+ | * 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 '' | ||
+ | |||