給賽靈思xilinx-4.14打實時補丁
阿新 • • 發佈:2018-12-26
原始碼所在位置:petalinux-v2018.2-open_components/components/xlnx-4.14
下載linux實時補丁包:實時補丁
顯然:必須下載對應於核心版本的實時補丁包,將補丁包放於與xlnx-4.14同級的目錄下
===============================================
gz檔案解壓:gunzip FileName.gz或者gzip -d FileName.gz
===============================================
cd xlnx-4.14進入核心目錄
補丁命令:patch -p1 < ../patch-4.14-rt1.patch
如果之前編譯或者配置過:請先清除一下
$make clean
$make mrproper
記得選擇編譯工具arm-xilinx-linux-gnueabi-gcc,如果沒有這個工具,請參考該第二部分的內容
$export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
然後先用xilinx的預設配置檔案配置核心:再用menuconfig來修改核心:kernel config=>preempt……選擇full什麼的(全部搶佔或者叫硬搶佔)。記得將preempt model的上一行那個選項按Y打上*星號,然後退出即可
make ARCH=arm xilinx_zynq_defconfig; make ARCH=arm menuconfig
編譯:
- 編譯核心輸出uImage映象必須有mkimage工具,如果沒有,參考該篇第三部分的內容
make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage -j4
- PS:如果不生成uImage,那麼可以不需要mkimage工具,直接輸入下面命令將會生成zImage映象
make ARCH=arm -j4
恭喜!成功了,生成的核心映象在arch/arm/boot下:
PS:一共有3個映象:
- Image:未壓縮的核心映象
- zImage:壓縮的核心映象,在執行時會自己解壓縮自己
- uImage:使用U-boot頭部(也就是用mkimage工具)封裝zImage的uImage映象
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-4.14.0-rt1-xilinx
Created: Sat Sep 29 14:46:09 2018
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4213592 Bytes = 4114.84 KiB = 4.02 MiB
Load Address: 00008000
Entry Point: 00008000
Kernel: arch/arm/boot/uImage is ready