1. 程式人生 > >給賽靈思xilinx-4.14打實時補丁

給賽靈思xilinx-4.14打實時補丁

原始碼所在位置: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

編譯:

make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage -j4
  • PS:如果不生成uImage,那麼可以不需要mkimage工具,直接輸入下面命令將會生成zImage映象
make ARCH=arm -j4

恭喜!成功了,生成的核心映象在arch/arm/boot下:

PS:一共有3個映象:

  1. Image:未壓縮的核心映象
  2. zImage:壓縮的核心映象,在執行時會自己解壓縮自己
  3. 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