当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 基于FS4412内核移植之第一次编译

基于FS4412内核移植之第一次编译 时间:2014-09-22      来源:未知

这里选择的内容为比较新的版本Linux-3.14作为我们的移植对象。

这个内核版本比较新队编译器有一定的要求,如果系统中原因版本编译时出现问题,可以选择如下 https://www.kernel.org/pub/tools/crosstool/地址下载,选择ARM相关即可,32bit/64bit按自己环境决定

 

解压内核

将linux-3.14.tar.xz拷贝到/home/linux下并解压

$tar xvf linux-3.14.tar.xz
        $ cd linux-3.14

修改内核顶层目录下的Makefile

$ vim Makefile

修改:

ARCH ?= $(SUBARCH)
        CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)

为:

ARCH ?= arm
        CROSS_COMPILE ?= arm-none-linux-gnueabi-

导入默认配置

$ makeexynos_defconfig

配置内核

$ make menuconfig
        System Type --->
        (2) S3C UART to use for low-level messages

该命令执行时会弹出一个菜单,我们可以对内核进行详细的配置。这里我们先查看一下,内核都提供了那些功能!

编译内核

$ make uImage

通过上述操作我们能够在arch/arm/boot目录下生成一个uImage文件,这就是经过压缩的内核镜像。

如果编译过程中提示缺少mkimage工具,需将第二天编译的uboot源码中的tools/mkimage拷贝到ubuntu的/usr/bin目录下

$ cp u-boot-2013.01/tools/mkimage /usr/bin

修改设备树文件

生成设备树文件,以参考板origen的设备数文件为参考。

$ cparch/arm/boot/dts/exynos4412-origen.dts arch/arm/boot/dts/exynos4412-fs4412.dts

添加新文件需修改Makefile才能编译

$ vim arch/arm/boot/dts/Makefile

exynos4412-origen.dtb \

下添加如下内容

exynos4412-fs4412.dtb \

编译设备树文件

$ make dtbs

目标文件

根据上述操作可以得到如下文件

Linux内核镜像:arm/arm/boot/uImage
        设备树镜像:arch/arm/boot/dts/exynos4412-fs4412.dtb

Bootloader参数设置

#setenv serverip 192.168.9.120
        #setenv ipaddr 192.168.9.233
        #setenv bootcmdtftp 41000000 uImage\;tftp 42000000 exynos4412-fs4412.dtb\;bootm 41000000 – 42000000
        #setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/source/rootfs rw console=ttySAC2,115200 init=/linuxrcip=192.168.9.233
        # saveenv

Bootloader需支持设备树才可以

上一篇:Java设计模式之单例模式

下一篇:基于FS4412内核移植之DM9000网卡驱动添加

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部