zynq运行操作系统之linux kernel编译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zynq运行操作系统之linux kernel编译相关的知识,希望对你有一定的参考价值。

参考技术A 然后拷贝出arch/arm/boot/uImage 到SD卡即可

Linux with HDMI video output on the ZED, ZC702 and ZC706 boards
https://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq
ADV7511 HDMI transmitter Linux Driver
https://wiki.analog.com/resources/tools-software/linux-drivers/drm/adv7511
Building the Zynq Linux kernel and devicetrees from source
https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/linux/zynq_2015r2#build_the_devicetree_fcmomms2345
axiiic
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841974/Linux+I2C+Driver

Linux之内核编译基础概念

内核组成部分

1、Kernel 2、Kernel Object 3、ramdisk

查看kernel版本

uname

技术分享图片

管理kernel object工具

lsmod modinfo modprobe insmod rmmod depmod


与ramdisk相关的工具

mkinitrd dracut


启动流程

POST->boot sequence->bootloader->加载kernel->只读方式挂载root->init->运行系统初始化脚本->默认运行级别->开启或者关闭指定服务->启动终端


升级内核

升级内核可以通过RPM包的方式。那RPM包从哪里来?自己编译或者从网上获取。  这个结论待定!!!!!!!!!!!!!


编译内核的前提

1、准备好开发环境(开发工具,服务器平台开发)

2、获取目标主机硬件设备的相关信息

3、获取目标主机功能的相关信息,比如文件系统(有些不需要的文件系统可以在编译的时候不选择)

4、获取内核源代码包:www.kernel.org  https://mirrors.edge.kernel.org/pub/linux/

第一步:准备开发环境(可以通过yum grouplist/groupinstall 查看/安装)

技术分享图片

技术分享图片

有个*ncurses* 类包需要安装,这个可以在操作的过程中可能有提示。

第二步(可选) 获取目标主机硬件设备信息

CPU:

技术分享图片

PCI设备

技术分享图片

USB设备

技术分享图片

硬盘信息

技术分享图片

还可以通过hal-device程序去了解硬件信息

第三步 下载对应设备增量版本

https://mirrors.edge.kernel.org/pub/linux/

技术分享图片

来看看linux-3.10.1的内容

技术分享图片

第四步执行内核编译

技术分享图片

执行这个操作是为了操作的统一性。以后都是操作Linux目录即可。

需要生成内核编译软件的配置文件

make menuconfig

技术分享图片

执行menuconfig需要ncurses-delvel程序,现在就需要安装ncurses,过程就忽略了,通过yum安装

注意:menuconfig必须在linux目录里执行

技术分享图片

这个就是make menuconfig界面。注意:配置内核编译参数的方式有很多,menuconfig是一种方式。

技术分享图片

调整完meneconfig的图形界面后会生成一个.config的文件

执行make -j 4 执行内核编译工作,操作目录还是linux里面

技术分享图片

再执行make modules_install 安装内核模块

技术分享图片

最后执行make install 安装内核核心文件

技术分享图片

重启系统验证下内核安装结果

哎~~~ 最后没有引导成功,应该是系统BUG问题,我在CentOS6上是做成功的。



以上是关于zynq运行操作系统之linux kernel编译的主要内容,如果未能解决你的问题,请参考以下文章

[原创]基于Zynq Linux环境搭建

zynq ethtool 交叉编译

Linux系统启动流程之kernel

Linux入门之CentOS7内核编译三部曲

ZYNQ的Linux Linaro系统镜像制作SD卡启动

驱动学习5: zynq实现点亮led