完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
通过串口连接BeagleBone Black,参见http://elinux.org/Beagleboard:Terminal_Shells
启动到U-Boot的时候,会看到
按下任意键则放弃了自动引导,从而进入了U-Boot的命令行。 在这里你可以手动进行接下来系统的引导。但是我不会。 虽然不会,但是用于板子上的系统有自动引导, 我们可以分析自动引导,来了解U-Boot是如何引导系统的。 在U-Boot的官网手册中看到了2个关键的环境变量和1个命令。 bootcmd: This variable defines a command string that is automatically executed when the initial countdown is not interrupted. This command is only executed when the variable bootdelay is also defined! bootargs: The contents of this variable are passed to the Linux kernel as boot arguments (aka "command line"). run - run commands in an environment variable bootcmd中的命令就是出现“Hit any key to stop autoboot”提示后,不按任意键,会自动运行的命令。 bootargs是传递给Linux内核的参数。 run是运行环境变量中的命令,bootcmd中包含run命令。 所以分析引导过程要从bootcmd开始。 在U-Boot的命令行中输入printenv可显示所有的环境变量,我已经把相关的粘贴到了下面。 为方便阅读我添加了换行。
首先是运行findfdt中的命令,目的是通过board_name来设置fdtfile,结果是fdtfile的值为am335x-boneblack.dtb。
"mmc dev 0"是将设备切换到0,通常有2个设备一个是SD卡,一个是eMMC。
这应该是从设备0的第1个分区装载uEnv.txt到地址0x80200000。 当默认的环境变量不符合要求时,可以用uEnv.txt设置新的环境变量。没有它也可以,先不用管,后面说。
这是把uEnv.txt中的环境变量导入到U-Boot的环境变量中。“filesize”没有指定。
由于我没有“uenvcmd”这个环境变量,所以那个条件语句中的内容没有执行。我记着Arch Linux好像用了那个,那个变量应该在uEnv.txt中。 于是直接到了loadimage,这里和载入uEnv.txt是相似的,“0:2”的意思是设备0的第2个分区,而载入uEnv.txt时没有指定分区,就默认第1分区了。 loadimage的目的是将Linux内核载入内存。
这个就是设置bootargs这一个环境变量而已,用于向内核传递参数。
之前载入了Linux内核,这里载入了设备树文件。 最后通过bootz后接2个地址就启动了系统。 总结如下
这是默认环境变量的行为。而我们的系统可能与其不同。这就要修改环境变量。 我知道有2种方式,一种是在U-Boot的命令行中通过命令修改,另一种就是通过uEnv.txt了。 这里介绍uEnv.txt的方式。先列出我uEnv.txt的内容,不用详细看,看我下面的说明。
一共6行,最后一行空白。 bootfile修改了内核名字, loadfdt中只是在目录中加了“dts/”, mmcloados主要是把bootz改成bootm。 mmcroot把只读改成了读写。 mmcargs只是在后面指定了init为systemd,也有其他方法,如init为指向systemd的软链接。 这里是从设备0启动系统,怎样知道自己的系统位于哪个设备呢,也许有某种约定,比如如果有SD卡,那么SD卡是0。 我不知道的话,可以在U-Boot的命令行中通过命令判断。如,
列出mmc设备。
显示当前是那个设备。
显示当前设备的分区信息。
列出设备0第1个分区“/”目录的文件,我没有指定,默认为“/”。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
165个成员聚集在这个小组
加入小组BBB通过sd卡启动ubuntu16.04后不能升级下载联网的问题
4411 浏览 2 评论
3176 浏览 0 评论
7502 浏览 5 评论
334浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:49 , Processed in 0.389733 second(s), Total 37, Slave 31 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号