User Tools

Site Tools


code:work:pi:rtpreempt:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
code:work:pi:rtpreempt:start [2017/03/08 20:07] – [Xenomai Pi 3 Compile HOWTO] davidcode:work:pi:rtpreempt:start [2017/03/09 01:06] (current) – [Xenomai Pi 3 Compile HOWTO] david
Line 365: Line 365:
 cd ~/work/pi/ cd ~/work/pi/
 tar xf download/xenomai-3.0.3.tar.bz2 tar xf download/xenomai-3.0.3.tar.bz2
-ls  xenomai-3.0.2/kernel/cobalt/arch/arm/patches/+ls xenomai-3.0.3/kernel/cobalt/arch/arm/patches/
 # #
 # results # results
 +ipipe-core-3.10.32-arm-13.patch  ipipe-core-3.18.20-arm-11.patch  ipipe-core-4.1.18-arm-9.patch  README 
 +ipipe-core-3.14.44-arm-16.patch  ipipe-core-4.1.18-arm-8.patch    ipipe-core-4.4.43-arm-7.patch
 </code> </code>
 +  - Grab the source code from the **git** repository <code>
 +git clone https://github.com/raspberrypi/linux
 +cd linux
 +git checkout rpi-4.4.y
 +</code>
 +  - Create a new Xenomai branch <code>
 +git checkout -b xenomai-3.0.3
 +</code>
 +  - Dry run the patch <code>
 +patch --dry-run -p1 <../xenomai-3.0.3/kernel/cobalt/arch/arm/patches/ipipe-core-4.4.43-arm-7.patch
 +</code>
 +  - Patch the kennel assuming you saw no FAILS in the dry run test <code>
 +cd ..
 +xenomai-3.0.3/scripts/prepare-kernel.sh --linux=linux --arch=arm --ipipe=xenomai-3.0.3/kernel/cobalt/arch/arm/patches/ipipe-core-4.4.43-arm-7.patch
 +</code>
 +  - Build the default configuration <code>
 +KERNEL=kernel7
 +cd linux
 +make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
 +make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2835_defconfig
 +</code>
 +  - Configure the kernel <code>
 +make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
 +</code>
 +    - Make these changes
 +      - Kernel Features  --->
 +        - Preemptible Kernel (Low-Latency Desktop)
 +        - DISBLE Allow for memory compaction
 +        - DISABLE Contiguous Memory Allocator
 +      - CPU Power Management  ---> OFF everything
 +      - Kernel hacking
 +        - DISABLE KGDB: kernel debugger
 +  - Compile! <code>
 +make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs -j 6
 +</code>
 +  - Ran this with the 3.1.18 kernel... seems like that might work.
code/work/pi/rtpreempt/start.1489003663.txt.gz · Last modified: 2017/03/08 20:07 by david