1. 下载Digilent linux kernel环境,输入以下脚本:
git clone https://github.com/Digilent/linux-digilent.git
光盘里有提供的内核,不过编译时出错。。
2. 进入linux-digilent目录,进行目标板(ZedBoard)配置:
cd linux-digilent
将zedboard_OOB_Design/linux/.config文件复制到内核目录
make ARCH=armdigilent_zed_defconfig
3. 内核配置
make ARCH=arm menuconfig
如果没有安装ncurses会弹出错误信息,使用以下脚本进行安装
sudo apt-get install ncurses-dev
下图为正常进入配置界面。
4. 内核编译
make,一直回车后出错
Error:unrecognized command line option ‘-mregparm=3’
Error:bad value(i686)for –march switch
后来发现还是采用书上的编译方式make ARCH=arm编译
结果还是出错
Drivers/char/Xilinx_devcfg.c:36:23:fatalerror:mach/slcr.h:No such file or directory
后来按照下面的方法又试了几遍居然成功了
make ARCH=arm digilent_zed_defconfig
make ARCH=arm
在arch/arm/boot目录下生成了Image和zImage文件,Image文件是一个没有经过压缩的内核镜像,所以大一些,而zImage文件是一个经过压缩的内核镜像,其在启动时自动解压。