欢迎来到天天文库
浏览记录
ID:36022105
大小:38.84 KB
页数:22页
时间:2019-04-28
《uboot启动远程kernel(tftp)以及挂载远程rootfs(nfs)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Tiny210v2(S5PV210)平台下:利用uboot启动远程Kernel(TFTP)以及挂载远程ROOTFS(NFS)0.准备工作1.编译uboot2.将uboot写入SD卡3.编译kernel,设置其可以通过NFS挂载根文件系统4.开发环境安装TFTP服务器5.开发环境安装NFS服务器6.目标环境设置uboot参数7.制作根文件系统(optional)。8.完整的启动LOG。 有几位网友发信问我uboot挂载文件系统的方法,其实这个部分也不是我原创的,大部分都是参考其他网友的方法,现在将我的手顺记录下来,希望对大家有所帮助。 整体思路大概是这样:
2、 *将uboot烧写到SD卡。 *从SD卡启动系统,SD卡中的uboot通过TFTP协议将远程的的Kernel下载到内存中。 *uboot将内核参数设定为ROOT分区为远程的NFS-SERVER共享的一个目录,并JUMP到内核的STARTADDRESS。 *kernel自解压,并JUMP到解压后的新的内核STARTADDRESS,内核正常启动。 *最后通过内核通过uboot设置的ROOTFS参数得知根文件系统在远程,并通过NFS挂载ROOTFS。 *根文件系统挂载完了以后,就会去执行init程序,init程序被uboot指定为/lin
3、uxrc。 我的开发环境是ubunto12.04LTS。 目标系统的内核是3.0.8,源代码位于/opt/S5PV210/rootfs/usr/src/linux-3.0.8。 uboot的源代码位于/opt/S5PV210/rootfs/usr/src/opencsbc-u-boot。 目标环境的根文件系统位于/opt/S5PV210/rootfs。 交叉编译器位于/opt/linaro-gcc473-eglibc216-armv7a-neon。0.准备工作 编译uboot和linux内核都需要使用到交叉编译器,所以需要确保she
4、ll的PATH环境中包含了你的交叉编译器的路径。 比如我的PATH为:(通过export查看) declare-xPATH="/usr/lib/lightdm/lightdm:/opt/linaro-gcc473-eglibc216-armv7a-neon/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" 这样,就可以直接查找到arm-linux-gcc这条命令了,不许要输入arm-linux-gcc的绝对路径。1.编译uboot uboot
5、来自于kasim修改的uboot,原帖在http://www.arm9home.net/read.php?tid-16001.html。 可以通过https://gitorious.org/opencsbc/u-boot/trees/mini210_linaro-2012.11-stable右边的downloadmini210_linaro-2012.11-stableastar.gz这个按钮获取到打包的源代码。 将源代码下载下来以后,解压到某一个目录,我机器上是位于/opt/S5PV210/rootfs/usr/src/opencsbc-u-boot这个
6、目录。进入到这个目录。 首先配置uboot是针对tiny210环境的。tiny210v2也是使用的这个配置项:复制代码1. makeARCH=armCROSS_COMPILE=arm-linux-tiny210_config 然后才是真正的编译uboot:复制代码1. makeARCH=armCROSS_COMPILE=arm-linux-allspl 编译完成以后,就可以看到uboot的二进制文件spl/tiny210-spl.bin和uboot.bin。 另外还有一个用于制作uImage的工具tool/mkima
7、ge。为了方便,把这个文件拷贝到/usr/bin:复制代码1. sudocptool/mkimage /usr/bin/2.将uboot写入SD卡 注意,这部需要特别留心,别因为误写入,把你的硬盘给弄坏了。 注意,SD卡的内容最好备份好。 将SD卡放到读卡器里面,并将SD卡读卡器接入开发环境,在我的环境中,SD卡会被识别为/dev/sdc。 通过下面的命令将uboot写入SD卡,保证这个SD卡可以启动。复制代码1. sudoddiflag=dsyncoflag=dsyncif=spl/tiny210-sp
此文档下载收益归作者所有