mini 2440 内核移植
来源:互联网 发布:琴爹捏脸数据 编辑:程序博客网 时间:2024/05/22 06:33
1、准备工作
硬件环境:mini2440开发板一个
软件环境:redhat 5,一个可用的mini2440 u-boot
linux 内核:linux-2.6.32.2-mini2440-20100921.tar.gz
2、内核的制作
2.1、解压内核
首先将 linux-2.6.32.2-mini2440-20100921.tar.gz解压到合适的位置
如:
mv linux-2.6.32.2-mini2440-20100921.tar.gz /home/work/core
cd /home/work/core
tar -xzvf linux-2.6.32.2-mini2440-20100921.tar.gz
2.2、清理原始配置,并为自己的配置做准备工作
make mrproper //清理原始配置
make clean //清理已有的不用文件
cp config_mini2440_n35 .config //导入预设配置信息
2.3、内核配置
使用命令make menuconfig进入配置阶段
这里只进行部分配置,其他保持默认不变,如果需要请查看相关文档
General setup-->Initial RAM filesystem and RAM disk support和Optimize for size
确认System Type->S3C2440 machines->FriendlyARM Mini2440....已经选上
Device Drivers-->block devices-->RAM block device support
修改mGine mflash gflash support将size修改为16384
File systems-->Second extended fs support-->所有和File systems-->Kernel automounter //用于选择文件系统支持
2.4、编译内核
make zImage //编译小于512k的内核
make bzImage //编译大内核
注:编译好的内核存放在arch/arm/boot/这个目录下的zImage
将zImage移动到u_boot下的tools目录下,使用如下命令制作uImage
./mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -n "Linux kernel Image" -d zImage uImage
注:如果直接使用uImage进行内核调试的话会出现一个
Wrong Image Format for bootm command
ERROR: can't get kernel image!3、调试内核
将uImage 拷贝出来,放在在一个可视位置,使用tftp工具,配合H-Fasher将其烧写到mini2440开发板上。
tftp 0x30008000 uImage //装载内核
tftp 0x31000000 rdisk.gz //装载文件系统(如果只是测试内核是否可用可以跳过这步)
bootm 30008000 //启动内核,在这里就可以看你的内核是否通过
注:在测试之前要看配置是否正确
包括ipaddr , serverip , boottargs,使用setenv可以设置相应配置,最后一定要使用saveenv进行保存
设置boottargs:
setenv bootargs root=/dev/ram0 rw console=ttySAC0,115200 mem=64M initrd=0x31000000,4M init=/linuxrc//0x31000000,4M 文件系统的地址和大小
设置ipaddr:
setenv ipaddr 192.168.8.156
设置serverip:
setenv serverip 192.168.8.3
saveenv
最后使用printenv查看
注:大概步骤是上面的,如果编译出的内核还不能够通过的话,在最前面可以使用make mini2440_defconfig,配置基本相同,还有种原因就是在使用前先使用
make rmproper和make clean清空一起的配置
- mini 2440 内核移植
- 关于mini-2440 的spi驱动移植及分析
- 2440内核移植心得.
- 2440的内核移植
- Linux3.2.81内核移植(2440)
- 内核移植
- 内核移植
- 内核移植
- 内核移植
- 内核移植
- 内核移植
- 内核移植
- 内核移植
- 系统移植-内核移植
- Mini-XML移植到arm9开发板
- libmxml (Mini-XML) arm-linux 移植笔记
- libmxml (Mini-XML) arm-linux 移植笔记
- Android内核移植到2440A
- C库函数qsort七种使用方法示例(转自别处,仅为收藏) sort排序
- 棋子类实现文件C++
- 初识前端模板
- 数据结构-使用栈进行括号匹配算法
- 棋盘类头文件C++
- mini 2440 内核移植
- Android:onTouch()和onTouchEvent()的区别?
- 数据结构-顺序表的操作
- 棋盘类实现文件C++
- Java调用命令行/启动notepad
- 算法导论15-6
- Java精确判断一个字符串是否有中文
- Redis的介绍
- Flex对浏览器的交互操作类