Exynos4412 内核移植—— 内核的配置和编译

•        解压内核

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-levelmessages

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

•       编译内核

$ make uImage

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

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

$ cpu-boot-2013.01/tools/mkimage  /usr/bin

修改设备树文件

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

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

 

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

$ vim arch/arm/boot/dts/Makefile

exynos4412-origen.dtb \

下添加如下内容

exynos4412-fs4412.dtb \

•   编译设备树文件

$ make dtbs

•   拷贝内核和设备树文件到/tftpboot目录下

$ cp  arm/arm/boot/uImage  /tftpboot

$ cparch/arm/boot/dts/exynos4412-fs4412.dtb/tftpboot/

•   修改uboot启动参数

重启板子在系统倒计时是按任意键结束启动,输入如下内容修改uboot环境变量:

#setenv serverip192.168.9.120

#setenv ipaddr192.168.9.233

#setenv bootcmd tftp 41000000 uImage\;tftp 42000000 exynos4412-fs4412.dtb\;bootm 41000000 – 42000000

#setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/source/rootfsrw console=ttySAC2,115200init=/linuxrc ip=192.168.9.233

# saveenv

注意:192.168.9.120 对应Ubuntuip

           192.168.9.233 对应板子的ip

这两个ip应该根据自己的实际情况适当修改   

重启开发板查看现象


猜你喜欢

转载自blog.csdn.net/weixin_42048417/article/details/80789667