beaglebone 怎么样重新烧写程序

2025-05-01 23:23:02
推荐回答(1个)
回答1:

1. 系统镜像的准备
基本上就别瞎折腾了,跟着官方的说明来,到官网去找最新的系统镜像,比如我用Debian 8.2,下载自不必谈,推荐用迅雷,原因就不解释了。

2. 烧写SD卡
下载之后的镜像通常是tar.xz的,windows下直接用7zip解压即可;如果是mac x或者linux,先xz -d xxx.tar.xz,然后再tar -xvf xxx.tar,最后得到img文件。
这个时候一个新手经常犯的错误就来了,如果你对SD卡的文件格式不了解,对你的操作系统也不够熟悉,我的建议是:绝对不要使用笔记本自带的SD卡插槽,用那种SD转USB的小东东最好,很多新手经常会在这个地方失败。
Windows下建议使用Win32DiskImager(到网上一搜一大把),如果是Mac X系统,建议使用命令行的方式,烧写方法可以参见树莓派的升级方法,基本上是一个dd的命令行操作,这里就不细说了。
不要想当然你把SD卡当成U盘来看待,认为直接把img镜像解压然后“拽”到盘符里就ok了,这样是不行的,具体原因要解释需要很长很长的篇幅,这里就不说了,如果对dd命令了解的话应该知道为什么。

3. 烧写eMMC
现在有了带有更新镜像的SD卡,开始进行Beaglebone的eMMC烧写了。
首先,最好验证一下你下载并烧写到SD卡上的系统镜像是好用的。先把SD卡插入到板子的SD卡插槽上,然后上电。
用SSH的方式登陆到板子上(192.168.7.2),系统应该自动从SD卡启动,应该会在登陆欢迎信息中看到Linux的版本,比如Debian 8,这就说明,系统镜像是好用的。
然后,给板子断电,拔掉SD卡,重新上电。
这里是tricky的部分,大部分按照官方说明却发现无法烧写eMMC的朋友大多是因为这个地方。板子默认是禁止掉这个烧写功能的,所以重启,通过SSH的方式再次登陆到板子上,注意,这次是登陆到板子eMMC上自带的系统(也就是旧的系统,如果忘记拔掉SD卡……鄙视一下自己吧,注意看一下登陆的欢迎信息,确定你登陆的是eMMC上的系统)。
修改/boot/uEnv.txt文件,搜索关键字eMMC Flasher,会定位到如下信息:
##enable BBB: eMMC Flasher:
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
看到了吧?这个feature是默认被禁止掉的,将cmdline前面的注释#去掉,然后保存。

给板子断电(当然可以温柔一点shutdown -h now之类的,随你了),插上SD卡
按住BOOT按键(那个孤零零的按键),然后给板子上电,等LED等开始有反应的时候,就可以把BOOT键松开了,这个时候要注意,稍等片刻之后,这四个LED等一定应该是跑马灯的形式(0123,3210)不停的跑,才证明是在烧写,否则就不是,一定是因为你在上电的时候没有按住BOOT(手抖了,手抖了,手抖了……)。



不用像官方说的45分钟那么长时间,大概6分钟左右吧,这个时候板子的LED等会全亮(官方的说法),反正我的是全灭了。
拔掉SD卡,重启板子。

用SSH登陆到板子上,check一下,(或者在板子上打开ID那个文件也行),确定一下烧写是否成功。