linux 2.6.32.2内核移植(MINI2440)步骤
来源:互联网 发布:直筒和滚筒洗衣机 知乎 编辑:程序博客网 时间:2024/06/05 22:38
1.获取内核移植源码
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.bz2
2.解压内核源码
(1).bzip2 -d linux-2.6.32.2.tar.bz2
(2).tar -xvf linux-2.6.32.2.tar
3.修改总目录下的Makefile
原:
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
改为
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
其中,ARCH 是指定目标平台为 arm, CROSS_COMPILE 是指定交叉编译器,这里指定的是系统默认的交叉编译器,如要使用其它的,则要把编译器的全路径在这里写出。
4.测试一下linux编译是否能通过
#make s3c2410_defconfig ;使用缺省内核配置文件,s3c2410_defconfig 是 SMDK2440 的缺省配置文件
#make ;编译时间较长
5.克隆建立自己的平台
5.1 linux-2.6.32.2/arch/arm/mach-s3c2440 目 录 下 有 个mach-mini2440.c 文件,它其实就是国外爱好者为 mini2440 移植添加的主要内容了,但我们不需要,直接删除。
5.2 将 linux-2.6.32.2/arch/arm/mach-s3c2440/目录下的 mach-smdk2440.c 复制一份。命名为mach-mini2440.c , 找 到 MACHINE_START(S3C2440, "SMDK2440") , 修 改 为
MACHINE_START(MINI2440, "FriendlyARM Mini2440 development board")
5.3修改时钟源频率
mach-mini2440.c( 就 是 我 们 刚 刚 通 过 复 制mach-smdk2440.c 得到的)的第 160 行 static void __init smdk2440_map_io(void)函数中,把其中的 16934400(代表SMDK2440 目标板上的晶振是 16.9344MHz)改为 mini2440 开发板上实际使用的 12000000(代表 mini2440 开发板上的晶振 12MHz,元器件标号为 X2)
因为我们要制作自己的 mini2440 平台体系,因此把 mach-mini2440.c 中所有的smdk2440 字样改为 mini2440,可以使用批处理命令修改,在 vim 的命令模式下输入:
%s/smdk2440/mini2440/g
上面这句的意思是:把所有和“smdk2440”匹配的字符串全部替换为“mini2440”,前面的“%s“代表字符串匹配,最后的“g”代表 global,是全局的意思。
除此之外,还有一个地方需要改动,在 mini2440_machine_init(void)函数中,把smdk_machine_init()函数调用注释掉,因为我们后面会编写自己的初始化函数,不需要调用smdk2440 原来的。
6.在 Linux 源代码根目录下执行
#make mini2440_defconfig ;使用 Linux 官方自带的 mini2440 配置
#make zImage ;编译内核,时间较长,最后会生成 zImage
重新编译并把生成的内核文件 zImage(位于 arch/arm/boot 目录)下到板子中,可以看到内核已经可以正常启动了。
- linux 2.6.32.2内核移植(MINI2440)步骤
- linux--mini2440内核移植
- Linux-2.6.32.2内核在mini2440上的移植
- mini2440移植linux-2.6.32.7内核
- Linux-2.6.32.2内核在mini2440上的移植(一)---内核移植
- linux 2.6.32.2 mini2440平台移植--内核移植、yaffs2文件系统移植
- linux 2.6.32.2 mini2440平台移植--内核移植、yaffs2文件系统移植
- mini2440的 linux内核移植
- linux--mini2440内核移植手册
- mini2440的Linux内核移植
- mini2440 的Linux 内核移植
- linux内核移植到mini2440:
- linux之mini2440内核移植
- Linux-2.6.32.2内核在mini2440上的移植(九)---触摸屏驱动移植
- Linux-2.6.32.2内核在mini2440上的移植(二)---yaffs2文件系统移植
- Linux-2.6.32.2内核在mini2440上的移植(三)---DM9000网卡驱动移植
- Linux-2.6.32.2内核在mini2440上的移植(六)---LCD驱动移植
- Linux-2.6.32.2内核在mini2440上的移植(八)---触摸屏驱动移植
- Extjs4---absolute布局
- Error LNK2019:Unresolved External Symbol *** Referenced In Function ***的解决方案(转)
- 写正确函数需要注意的地方:二叉树非递归中序遍历
- 黑马程序员_IO(一)
- 在WTL中利用滚动窗口类CScrollWindowImpl显示BMP图片
- linux 2.6.32.2内核移植(MINI2440)步骤
- Shell-xtrabackup script
- java Date 小结
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- dig命令详解
- 2012华为软件机试题 浅析 --------------------C/C++ 西安交大考点
- 人民币为何国际化?
- AWK用法示例 awk命令
- OCP-043 Pending Area