uboot 启动远程 Kernel(TFTP)以及挂载远程 ROOTFS(NFS).docxVIP

uboot 启动远程 Kernel(TFTP)以及挂载远程 ROOTFS(NFS).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
uboot 启动远程 Kernel(TFTP)以及挂载远程 ROOTFS(NFS)

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挂载文件系统的方法,其实这个部分也不是我原创的,大部分都是参考其他网友的方法,现在将我的手顺记录下来,希望对大家有所帮助。????整体思路大概是这样:????* 将uboot烧写到SD卡。????* 从SD卡启动系统,SD卡中的uboot通过TFTP协议将远程的的Kernel下载到内存中。????* uboot将内核参数设定为ROOT分区为远程的NFS-SERVER共享的一个目录,并JUMP到内核的START ADDRESS。????* kernel自解压,并JUMP 到解压后的新的内核START ADDRESS,内核正常启动。????* 最后通过内核通过uboot设置的ROOTFS参数得知根文件系统在远程,并通过NFS挂载ROOTFS。????* 根文件系统挂载完了以后,就会去执行init程序,init程序被uboot指定为 /linuxrc。????我的开发环境是ubunto 12.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内核都需要使用到交叉编译器,所以需要确保shell 的PATH 环境中包含了你的交叉编译器的路径。????比如我的PATH为:(通过export查看)????declare -x PATH=/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来自于kasim修改的uboot,原帖在/read.php?tid-16001.html。????可以通过 /opencsbc/u-boot/trees/mini210_linaro-2012.11-stable 右边的 download mini210_linaro-2012.11-stable as tar.gz 这个按钮获取到打包的源代码。????将源代码下载下来以后,解压到某一个目录,我机器上是位于 /opt/S5PV210/rootfs/usr/src/opencsbc-u-boot 这个目录。进入到这个目录。????首先配置uboot是针对 tiny210 环境的。 tiny210v2 也是使用的这个配置项:复制代码????????make ARCH=arm CROSS_COMPILE=arm-linux- tiny210_config????然后才是真正的编译uboot:复制代码????????make ARCH=arm CROSS_COMPILE=arm-linux- all spl????编译完成以后,就可以看到uboot的二进制文件spl/tiny210-spl.bin 和uboot.bin。????另外还有一个用于制作uImage的工具 tool/mkimage。为了方便,把这个文件拷贝到 /usr/bin:复制代码????????sudocp tool/mkimage??/usr/bin/2. 将uboot写入SD卡????注意,这部需要特别留心,别因为误写入,把你的硬盘给弄坏了。????注意,SD卡的内容最好备份好。????将SD卡放到读卡器里面,并将SD卡读卡器接入开发环境,在我的环境中, SD卡会被识别为 /dev/sdc。????通过下面的命令将uboot写入SD卡,保证这个SD卡可以启动。复制代码????sudoddiflag=dsyncoflag=dsync if=spl/

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档