s5pv210 linux3.8.3内核移植之一:编译体验

                                                    疯雨-版权所有,转载请注明【http://blog.csdn.net/u010346967】

操作系统:ubuntu14.04

交叉编译工具链:arm-linux-gcc4.4.1    


1. 下载linux内核

 在ubuntu系统终端输入: wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.3.tar.xz

 (内核下载官网:www.kernel.org)


2.解压内核

   tar xvf  linux-3.8.3.tar.xz


3.将uboot2012.10  tools目录下的mkimage文件复制到/usr/bin目录下

 cp u-boot-2012.10/tools/mkimage /usr/bin


4.进入linux内核顶层目录,进行配置清除

 cd linux-3.8.3

 make distclean


5.修改顶层Makefile,指定处理器类型和交叉编译工具链

   修改 ARCH            ?= $(SUBARCH)  为 ARCH            ?= arm

   修改  CROSS_COMPILE   ?= $(CONFIG_CROSS_COMPILE:"%"=%)  为  CROSS_COMPILE   ?= arm-linux-


6.初步配置内核

  make s5pv210_defconfig

   注意:s5pv210_defconfig 可以通过查看  /arch/arm/configs  下的配置文件得到


7.修改内核配置

  make menuconfig

出错:

缺少库,接下来安装ncurses库

     apt-get install libncurses*

再重新  make menuconfig


8.按默认配置初步编译内核

   make uImage


9.修改加载地址和入口地址

vim scripts/Makefile.lib

将 UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)  修改为 UIMAGE_ENTRYADDR ?= $(shell echo $(UIMAGE_LOADADDR)|sed -e "s/..$$/40/")


10.烧写内核到sd卡

dd iflag=sync oflag=sync if=uImage of=/dev/sdb seek=1000


运行下程序,卡死在  starting kernel 。。。

首先 怀疑打印信息的串口  是否是正确的    我使用的是串口0作为调试接口

make menuconfig    查看  果然 linux内核用的是串口1  修改配置如下

System Type  ---> (0) S3C UART to use for low-level messages

S5PV210 Machines  --->[*] SMDKV210

再次烧写,串口就有信息了。

今天先写到这里


55

5

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值