https://taste.tuxfamily.org/wiki/index.php?title=Build_PREEMPT-RT_kernel&feed=atom&action=historyBuild PREEMPT-RT kernel - Revision history2024-03-28T08:27:53ZRevision history for this page on the wikiMediaWiki 1.29.0https://taste.tuxfamily.org/wiki/index.php?title=Build_PREEMPT-RT_kernel&diff=11&oldid=prevTtsiodras: 1 revision imported2017-08-04T21:01:50Z<p>1 revision imported</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<tr style='vertical-align: top;' lang='en'>
<td colspan='1' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='1' style="background-color: white; color:black; text-align: center;">Revision as of 21:01, 4 August 2017</td>
</tr><tr><td colspan='2' style='text-align: center;' lang='en'><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Ttsiodrashttps://taste.tuxfamily.org/wiki/index.php?title=Build_PREEMPT-RT_kernel&diff=10&oldid=prevJulien at 09:28, 20 July 20122012-07-20T09:28:30Z<p></p>
<p><b>New page</b></p><div>= PREEMPT-RT =<br />
PREEMPT-RT is a patch that is applied against the linux kernel and that makes appear the interrupts as regular threads so that you can change their priorities. In addition, it makes the whole kernel preemptible, enhancing its whole reactivity. For our experiments, when experiencing the PREEMPT-RT patch without Etherlab, we used the 3.4.4 version of the Linux kernel and the rt14 patch from the PREEMPT-RT project.<br />
<br />
<br />
= Building a new kernel =<br />
You need the following files:<br />
* The Linux kernel: http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.4.tar.gz<br />
* The PREEMPT-RT patch : http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/patch-3.4.4-rt14.patch.bz2<br />
<br />
Then, follow these instructions to build the kernel:<br />
* Untar the kernel sources: <br />
<syntaxhighlight lang="bash"><br />
tar jxvf linux-3.4.4.tar.bz2<br />
</syntaxhighlight><br />
* Unzip the PREEMPT-RT patch: <br />
<syntaxhighlight lang="bash"><br />
bunzip2 patch-3.4.4-rt14.patch.bz2<br />
</syntaxhighlight><br />
* Patch the kernel sources : <br />
<syntaxhighlight lang="bash"><br />
cd linux-3.4.4 && patch -p1 < patch-3.4.4-rt14.patch<br />
</syntaxhighlight><br />
* Copy the configuration file into the linux kernel directory : <br />
<syntaxhighlight lang="bash"><br />
cp -f config-3.4.4-preempt-rt linux-3.4.4/.config<br />
</syntaxhighlight><br />
A configuration file has been put in the TASTE subversion repository, you can find it here : https://tecsw.estec.esa.int/svn/taste/trunk/linux-distro/config/config-3.4.4-preempt-rt . Be careful, if you configure everything by yourself, you have to make sure to disable ACPI settings and enable the RT nature of the kernel. See links below, the PREEMPT-RT HOWTO<br />
* Build the kernel sources and headers.<br />
<syntaxhighlight lang="bash"><br />
cd linux-3.4.4 && make-kpkg --rootcmd fakeroot --initrd --config menuconfig kernel_image kernel_source kernel_headers<br />
</syntaxhighlight><br />
* Install the kernel<br />
<syntaxhighlight lang="bash"><br />
dpkg -i linux-image* linux-headers*<br />
</syntaxhighlight><br />
* Reboot<br />
<br />
<br />
= Configure the kernel =<br />
For configuring the kernel and testing its reactivity, you may refer to the following page : [[Tricks and tools for PREEMPT-RT kernel]]<br />
<br />
= Links =<br />
* PREEMPT-RT HOWTO: https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO</div>Julien