mini2440移植linux2.6.34.2
来源:互联网 发布:三唑仑淘宝交易 编辑:程序博客网 时间:2024/06/02 01:29
mini2440估计做嵌入式的朋友都知道,是友善之臂研发的一款开发板,使用的处理器是S3C2440,官方提供的内核是linux2.6.32.2,最近闲的无聊,研究研究linux内核驱动,于是在官方下载了一个别的版本,想把它移植到mini2440上边,我选择了官方提供的linux2.6.34.2这个版本作为移植对象,下面是我移植的步骤:
第一步:搭建linux开发环境。我的开发环境是ubuntu-10.04,安装的交叉编译器是arm-linux-gcc-4.3.2,打开终端,运行arm-linux-gcc–v命令,如果出现如下图1所示的界面,出现gcc version 4.3.2,说明开发环境已经搭建好了,第一步完成。
图1
第二步:下载linux内核,和yaffs2文件系统。linux-2.6.34.2的下载地址为:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.2.tar.gz(如下图2),这样便得到了最纯的linux内核;
图2
yaffs2文件系统的下载地址为: http://www.aleph1.co.uk/gitweb?p=yaffs2.git;a=summary(如图3),选择snapshot便可以下载yaffs2-52df965.tar.gz。
图3
将下载得到的linux-2.6.34.2.tar.gz和yaffs2-52df965.tar.gz放到同一个目录下,在这里我把这两个文件都放到了/opt/下,到此,第二步就完成了。
第三步:移植内核。
#cd /opt/
#tarxvzf linux-2.6.34.2.tar.gz //解压安装linux-2.6.34.2内核源代码,得到目录linux-2.6.34.2
#tarxvzf yaffs2-52df965.tar.gz//解压安装yaffs2-52df965源代码,得到目录yaffs2-52df965
#cdlinux-2.6.34.2//进入内核根目录
#geditMakefile//修改顶层makefile,在189行,在这里只需修改两行,一个是目标平台改为arm,另一个是交叉编译器改为arm-linux-,如下图4改为图5
图4
图5
#geditarch/arm/tools/mach-types//修改机器码,在379行,mini2440bootloader传入的机器码为782所以找到图6这一行
图6
改为图7所示的
图7
#geditarch/arm/mach-s3c2440/mach-smdk2440.c//修改时钟频率,在163行,改为板子晶振频率12M,如下图8
图8
#gedit arch/arm/plat-s3c24xx/common-smdk.c//修改Nand Flash分区,在110行,如图9
图9
# cp arch/arm/configs/s3c2410_defconfig.config//配置内核
#make menuconfig//进入内核配置图形界面如图10
图10
进入System Type--->S3C2410 Machines--->,设置如图11
图11
进入System Type--->S3C2440 and S3C2442 Machines--->,设置如图12
图12
进入Kernel Features--->,设置如图13
图13
设置对yaffs2文件系统的支持:
进入刚才安装的yaffs2源码包,
#./patch-ker.shc m ../linux-2.6.34.2当出现
Updating ../linux-2.6.34.2/fs/Kconfig
Updating ../linux-2.6.34.2/fs/Makefile
表明给内核打补丁成功。
返回内核目录重新配置
#makemenuconfig
设置File systems--->[*]Miscellaneousfilesystems---><*>YAFFS2 file system support
编译内核
#makezImage
编译成功之后,将内核下载进去,启动之后进入控制台,运行命令uname –r,可以看到此时内核的版本已经变成了2.6.34.2,内核移植成功,此时大部分硬件的驱动还没有正常添加,有时间继续移植各个外设的驱动!
- mini2440移植linux2.6.34.2
- Linux2.6.32.2移植到Mini2440
- 移植linux2.6.32.2到mini2440
- 移植linux2.6.32.2到mini2440
- 移植linux2.6.32.2到mini2440
- Mini2440 Linux2.6.32.2移植_02_
- Mini2440 Linux2.6.32.2移植_03
- Linux2.6.32.2移植到Mini2440
- linux2.6.32.2 mini2440平台移植--移植DM9000网卡驱动
- linux2.6.32.2 mini2440平台移植-- ADC 驱动移植
- linux2.6.32.2 mini2440平台移植-- UDA1341 音频驱动移植
- linux2.6.32.2 mini2440平台移植-- UDA1341 音频驱动移植
- linux2.6.32.2 mini2440平台移植-- ADC 驱动移植
- linux2.6.32.2 mini2440平台移植--移植DM9000网卡驱动
- linux2.6.32.2 mini2440平台移植-- UDA1341 音频驱动移植
- linux2.6.32.2 mini2440平台移植-- 激活 RTC 驱动
- linux2.6.32.2 mini2440平台移植--LCD 背光驱动
- linux2.6.32.2 mini2440平台移植--LCD 背光驱动
- ubuntu-12.0.4安装svn
- Ubuntu 宿主机下VirtualBox中xp 使用Mstar 串口的方法
- javascript面向对象技术基础(三)
- (转)asp.net夜话之十一:web.config详解
- 反汇编系列(二) for
- mini2440移植linux2.6.34.2
- Bezier曲线原理及实现代码(c++)
- 一步一步学习GRC—1
- 如何提高android程序运行效率,程序员在开发过程中应当注意的一些事项
- java.lang.StackOverflowError at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:447)
- 杭电Hdu 1162 Eddy's picture
- MySQL存储过程详解
- Windows下Android环境搭建
- perl 删除过期文件