- N +

给树莓派 CM 的 eMMC 烧录系统的方法

文章目录 [+]

树莓派CM(计算模块)上有一个eMMC设备连接在主SD卡接口上(Lite 版除外),下面将介绍几种方法,通过计算模块的IO底板将系统烧录到eMMC上。

你还可以在计算模块的 Datasheet 中查看到本文所介绍的方法。

首先需要准备一块树莓派CM,和一块底板。CMIO或者其他底板(如ED-IOTGATEWAY)均可。

烧录步骤

你需要准备一个Linux系统(推荐使用树莓派或装了Ubuntu的PC)或 Windows 7、Mac。

注意 对于 BCM2835 (CM1) 的 bootloader 有一个BUG,它会给主机返回错误的USB数据包,但是大多数的USB主机会忽略这个无害的错误并能正常工作。这个错误在BCM2837中做了修正。

Windows下的操作

在 Windows 下有一个安装工具来自动安装所需驱动和引导工具。或者你也可以使用Cygwin编译并手动安装驱动。

Windows 安装工具

1、下载并运行 安装程序 完成驱动和引导工具的安装。

2、将树莓派CM底板的USB SLAVE接口连上PC的USB接口。需确认J4跳线(USB SLAVE BOOT ENABLE)设定在EN的位置。

3、给树莓派CM底板上电,Windows将自动发现新硬件并安装驱动。

4、驱动安装完成之后,运行RPiBoot.exe。

5、等待几秒钟之后,计算模块的eMMC将作为USB大容量启动器出现在系统的磁盘列表中。

6、这时候就可以像给SD卡烧录系统镜像一样来给计算模块烧录系统了。在写入系统镜像时请将J4跳线设置到disabled的位置(或者不要使用USB Slave接口)。随后给底板上电,系统会从eMMC来启动。

Cygwin 手动安装驱动的方法

Cygwin是一个在Windows平台上运行的类UNIX模拟环境,首先你需要在Windows上安装好Cygwin。
下载和安装参考http://www.cygwin.com

接下来,和上面介绍的工具安装方法一样,设置好底板上J4跳线到EN的位置。用micro USB线把底板接到PC上,请不要给底板上电。
使用 Git 获取 rpiboot 的源码并编译安装。

sudo apt-get install git
#如果系统时间没有设置的话,Git会报错,使用下面的命令设置系统时间即可,此处MM、DD、hh、mm分别为月、日、小时、分钟。
sudo date MMDDhhmm
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
#如果 libusb 没有安装的话,可以用下面的命令安装,若已安装则可忽略。
sudo apt-get install libusb-1.0-0-dev
#编译源码
make
#运行 rpiboot
sudo ./rpiboot

现在将计算模块底板的USB Slave接口(J15)连上PC,并给底板上电。rpiboot程序会检测到计算模块并发送启动代码来运行连接eMMC。

Linux 下的操作

这部分和Windows下Cygwin的手动安装驱动方法类似。获取usbboot的源码并运行rpiboot,所用到的命令和上面一样故不再赘述。下面说一下烧录这个步骤所用到的命令。
rpiboot完成之后,你可以在/dev/目录或者运行lsblk命令对比看到rpiboot运行前后的一些改变。会出现一个新的设备,就是计算模块的eMMC。

使用dd命令将Raspbian镜像刷入到该设备即可。下面假设新的设备名为sdX则使用下面的命令。

sudo dd if=raw_os_image_of_your_choice.img of=/dev/sdX bs=4MiB

运行结果

/dev/sdX    <- Device
/dev/sdX1   <- First partition (FAT)
/dev/sdX2   <- Second partition (Linux filesystem)

现在/dev/sdX1和/dev/sdX2可以被正常挂载到系统了。
在写入系统镜像时请将J4跳线设置到disabled的位置(或者不要使用USB Slave接口)。随后给底板上电,系统会从eMMC来启动。

作者:violet
舞台上有你,就演好角色; 舞台上没你,就静静地做观众;
微信扫一扫
返回列表
上一篇:
下一篇:

发表评论中国互联网举报中心

快捷回复:

    评论列表 (暂无评论,共953人参与)参与讨论

    还没有评论,来说两句吧...