BeagleBonewilliam hill官网
直播中

海洋

12年用户 605经验值
擅长:测量仪表 嵌入式技术 处理器/DSP 控制/MCU
私信 关注
[经验]

【BeagleBone Black试用体验】之搭建系统

从上一贴到现在,折腾了这么久终于把ubootkernelbusybox根文件系统配置好了,现在终于可以通过uboot启动,通过tftp下载内核,进而加载nfs根文件系统了,这节就简单介绍下如何获取、编译、配置内核,下一节再详解如何制作根文件系统以及bbb如何挂载nfs好吧,这几天过的,过程太特么折腾人了。。。
首先,得有源码对吧,准备好下面三者的源码:
1.jpg
解压之后,对应得到三者的文件夹:
2.jpg
3.jpg
4.jpg
首先对uboot进行测试:
执行下列命令,来对uboot进行编译与配置:
make CROSS_COMPILE=ARM-linux-gnueabihf-distclean
make CROSS_COMPILE=arm-linux-gnueabihf-am335x_boneblack_config
make CROSS_COMPILE=arm-linux-gnueabihf- -j4
结果发现无法配置,后来发现里面源码不对,就下载了2015-10uboot,然后进行编译,编译结束,会得到MLOu-boot.imgu-boot.bin可执行文件,这三者可供我们测试,但是,如果将板载uboot毁坏,烧入这里的uboot的话,内核启动不了,提示机器ID不对,这还需要我花点时间来搞定这个问题,其实,我们原机内核就是这里面的源码的内核,我们把内核配置编译好,就相当于有了现行内核的源码树,可以开发驱动了,下面对内核进行初步配置与测试:
执行下面代码,对内核进行编译:
make ARCH=armCROSS_COMPILE=arm-linux-gnueabi- bb.org_defconfig
make ARCH=armCROSS_COMPILE=arm-linux-gnueabi- -j4
make ARCH=armCROSS_COMPILE=arm-linux-gnueabi- uImage dtbs LOADADDR=0x80008000 -j4
然后,我们可以通过板载uboot启动这个内核看看能否运行了:
5.jpg
板子一上电,立马按下回车,可以进入到uboot的命令行模式,这里的uboot倒计时只有1s,很快就没了,所以手一定要快。。。
设置好本机ip和服务器ip,然后将内核目录中arch/arm/boot/dts下面的am335x-boneblack.dtb拷贝到tftp目录下重命名为:am335x.dtb,将编译好的uImage格式内核也拷贝到该目录下,在开发板uboot中输入:
6.jpg
然后准备启动该内核:
7.jpg
然后,可以看到内核启动输出信息,从这里可以看出,这确实是我们刚刚编译好的内核:
8.jpg
从下面,就可以看到我们已经挂载好了nfs系统,而且已经可以进入控制台了:
9.jpg
简单测试,已经可以执行命令了:
10.jpg
好了,这一节就到这里,下一节介绍下如何移植根文件系统,好吧。。。

回帖(16)

杨永胜

2016-9-20 16:32:58
这个我喜欢,期待楼主后续精彩报告。
举报

海洋

2016-9-20 18:47:11
引用: iysheng 发表于 2016-9-20 16:32
这个我喜欢,期待楼主后续精彩报告。

很折腾人啊。。。
举报

杨永胜

2017-3-19 19:18:01
引用: zhixiaoyuhong 发表于 2016-9-20 18:47
很折腾人啊。。。

楼主,你的bootargs是怎么设置的啊?
举报

海洋

2017-3-20 17:41:37
引用: iysheng 发表于 2017-3-19 19:18
楼主,你的bootargs是怎么设置的啊?

setenv bootargs console=ttyO0,115200n8 root=/dev/nfs rw nfsroot=IP:/home/nfs-bbb ip=IP:::::eth0
举报

更多回帖

发帖
×
20
完善资料,
赚取积分