1环境搭建所需材料
- Linux 内核代码
- 编译器
- 文件系统
- samba
- tftp
- SecureCRT6.0
- 开发板uboot
- nfs-kernel-server
2环境搭建所需材料之间的关系
3所使用的开发板
4译内核
4.1修改makefile
4.2拷贝配置文件
4.3编译得到zImage
4.4把zImage转成uImage
5开发板串口连接
串口形状 ,在电脑上映射出来的串口设备连接串口
到0回车。。。
6uboot设置
7通过tftp服务器下载uImage
8启动内核
这时启动内核后还不会进入文件系统
9先看挂载文件系统的样子
先看现象:挂载成功,启动板子,再tftp下载
10下面正式来操作
10.1安装nfs-kernel-server
10.2配置网络文件系统
重启远程文件系统
/etc/init.d/nfs-kernel-server restart
10.3配置内核里面的nfs选项
make menuconfig
11配置开发板的启动参数
12操作板子的Linux
下来可以通过SecureCRT操作板子的Linux系统了。我们可以在Ubuntu先用arm-linux-gcc 编译一个hello.c,然后把可执行文件复制到板子的远程文件系统,最后在SecureCRT里运行hello。
13注意(总结)
- 64位Ubuntu 编译linux源码arm-linux-gcc问题
好像要下载个软件
吴兵(1040003585) 2017-5-16 14:36:59
make出问题
韩滔(1198637117) 2017-5-16 14:37:50
你用的vm和Ubuntu什么版本
**吴兵(1040003585) 2017-5-16 14:39:19
ubuntu 64位
程老师(1209050967) 2017-5-16 14:43:25
但arm编译器是32位**
韩滔(1198637117) 2017-5-16 14:45:08
sudo apt-get install lsb-core
吴兵(1040003585) 2017-5-16 14:57:27
吴兵(1040003585) 2017-5-16 16:32:38
板子网线是连接和电脑同一个网段的路由器
吴兵(1040003585) 2017-5-16 17:00:03
tftp
吴兵(1040003585) 2017-5-16 17:01:58
搞定
- bootm之后就卡在这里——两个782改为1999
参考文档,把782改成1999即可@吴兵
吴兵(1040003585) 2017-5-16 17:43:40
ok
吴兵(1040003585) 2017-5-16 17:52:45
@张奥华 两个782都要改吗?
这是什么道理
张奥华(434638973) 2017-5-16 17:52:57
是的
改成1999
mach type不匹配
程老师(1209050967) 2017-5-16 17:53:39
uboot引导的内核需要与其机器类型一致
- 设置bootargs (文件系统路径)
setenv bootargs noinitrd root=/dev/nfs rw nfsroot= 172.16.245.93:/home/wuchengbing/linux/root_nfs ip= 172.16.245.254:172.16.245.93: 172.16.245.1:255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M
文件系统IP:172.16.245.93
板子IP:172.16.245.254
网关:172.16.245.1
掩码:255.255.255.0
- bootm能不能成功挂载文件系统
@张奥华 搞定,重启远程文件系统
/etc/init.d/nfs-kernel-server restart
吴兵(1040003585) 2017-5-16 18:59:05
附录
工具下载链接:
https://github.com/1040003585/Mini2440/tree/master/Tools
Wu_Being 博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
《【ARM】一步一步移植Linux Kernel 2.6.13到板子》
http://blog.csdn.net/u014134180/article/details/72873397
如果你看完这篇博文,觉得对你有帮助,并且愿意付赞助费,那么我会更有动力写下去。