Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:linux:toradex:kernel [2017-06-06 15:59] kalberersoftware:linux:toradex:kernel [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== Toradex Colibri i.MX6 - Kernel ====== 
  
-Fetch Linux sources: 
- 
-<code> 
-$ cd $WD 
-$ git clone git://github.com/ntb-ch/linux 
-$ cd linux 
-$ git branch 
-* efs 
-$ git describe 
-Apalis_iMX6_LinuxImageV2.3Beta6_20150112-1-g879d496 
-</code> 
- 
-Configure and build Linux: 
- 
-<code> 
-$ make colibri_imx6_defconfig 
-$ time make 
-$ make UIMAGE_LOADADDR=0x10008000 uImage 
-$ make modules 
-$ make modules_install INSTALL_MOD_PATH=../modules/ 
-</code> 
- 
-For Kernel Config see https://github.com/ntb-ch/linux/tree/pathos 
- 
-===== Preempt-RT Kernel 3.14.28 ===== 
-To patch the Linux Kernel for your iMX6 you can find short instructions on the [[https://www.toradex.com/community/questions/486/how-to-build-real-time-kernel-for-apalis-imx6.html|Toradex-Forum]]. The config used at the NTB can be found on [[https://github.com/ntb-ch/linux/tree/cb20|Github]] (Branch cb20). 
- 
-You need to follow the following steps: 
-  - Download RT Patch from [[https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/|Kernel.org]] 
-  - Download Toradex-Patch from their [[https://share.toradex.com/d5atzuripghq2ct?direct | Share]] 
-  - Apply Toradex Patch to the RT-Patch from Kernel.org: <code> 
-patch -p1 patch-3.14.28-rt25.patch < rt-patch-trdx-V2.5b3.patch 
-</code> 
-  - Download and Patch your Kernel with the Patches given in the [[https://github.com/Freescale/meta-fsl-arm/blob/fido/recipes-kernel/linux/linux-imx-rt_3.14.28.bb|Freescale recipe]]:<code> 
-cd ${KERNELDIR} 
- 
-patch -p1 < ../0001-ARM-imx6q-drop-unnecessary-semicolon.patch 
-patch -p1 < ../0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch 
-patch -p1 < ../0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch 
-patch -p1 < ../0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch 
-patch -p1 < ../0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch 
-patch -p1 < ../patch-3.14.28-rt25.patch 
-patch -p1 < ../0001-fix-build.patch 
-patch -p1 < ../0002-fix-build-with-rt-enabled.patch 
-patch -p1 < ../0003-no-split-ptlocks.patch 
-patch -p1 < ../0004-imx-sdma-channel-use-raw-spinlock.patch 
-</code> 
-  - Configure your Kernel for your real-time use case. 
-  - Use for Example the default ''colibri_imx6_defconfig'' and select Fully Preemptible Kernel (RT):<code> 
-make colibri_imx6_defconfig 
- 
-make menuconfig 
---> Kernel Features --> Preemption Model (Fully Preemptible Kernel (RT)) 
-</code> 
- 
-==== Resultate Cyclic Test 3.14.28-rt25 ==== 
-Um die Performance des iMX6 zu messen wurde der Cyclic-Test 24h laufen gelassen. Mit dd wurde künstliche Last (100%) für die beiden Kerne erzeugt (siehe [[..:preempt_rt:kuenstlichelast | künstliche Last]]). 
-[{{:software:linux:toradex:cyclictest_24h_p80.png?600|Cyclictest für 3.14.28-rt25 mit Optionen -n -Sp80 -i1000 -h1000 -q -D24h}}]