ROC-RK3328-CC四核64位开源主板

Firefly首个超小型开源主板,特有的USB3.0与DDR4让其性能更快更稳定,超高性价比的ROC-RK3328-CC是你探索程序世界的首选主板。

制作 Linux SD启动卡

更新时间:2018-01-12 阅读:698

前言

本文介绍了如何制作 Linux  SD 卡 启动系统。

准备工作

  • ROC-RK3328-CC 开发板

  • 固件或者分区镜像

  • Linux 主机

这里请参考 《编译内核》 以及 《创建 Linux 根文件系统》 的说明自行编译和分区镜像,或者也可在 这里下载 获取统一固件。

Linux 启动卡制作流程

使用脚本制作

Linux 启动卡则需要借助 Linux dd 指令将相关启动文件写入到 SD 卡中, 步骤如下:

1. 编译内核

./build/mk-kernel.sh rk3328-roc-cc

2. 编译 u-boot

./build/mk-uboot.sh rk3328-roc-cc

3. 制作 Linux根文件系统,操作方法见 《创建 Linux 根文件系统》

4. 合成 system.img 文件,为下一步制作启动卡做准备

build/mk-image.sh -c rk3328 -t system -r rk-rootfs-build/linaro-rootfs.img

5. 将 SD 卡插入到电脑中,假设 /dev/sdb 为 SD卡设备

    运行下面指令,将以上生成的统一固件 system.img 写入到 SD 卡中:

build/flash_tool.sh -c rk3328 -d /dev/sdb -p system  -i out/system.img

使用 dd 命令制作

这里同样需要将 SD 卡插入到电脑中,假设 /dev/sdb 为 SD卡设备,

运行以下命令将 统一固件  system.img 写入到 SD 卡中:

pv -tpreb out/system.img | sudo dd of=/dev/sdb seek=0 conv=notrunc && sync

也可以运行以下命令将 分区镜像 写入到 SD 卡中,其制作出来的 SD 卡启动的效果跟上面写入的统一固件的效果是一样的:

sudo dd if=./out/u-boot/rk3328_loader_ddr786_v1.06.243.bin of=/dev/sdb seek=0 conv=sync,fsync

sudo dd if=./out/u-boot/idbloader.img of=/dev/sdb seek=64      conv=sync,fsync 
sudo dd if=./out/u-boot/uboot.img     of=/dev/sdb seek=16384   conv=sync,fsync
sudo dd if=./out/u-boot/trust.img     of=/dev/sdb seek=24576   conv=sync,fsync
sudo dd if=./out/boot.img             of=/dev/sdb seek=32768   conv=sync,fsync
sudo dd if=./out/linaro-rootfs.img    of=/dev/sdb seek=262144  conv=sync,fsync

使用 windows 下的 DDWin 图形界面工具制作

若是 windows 用户,则可以选择 DDWin 这个工具 DDWin_下载链接

DDWin 是一款与命令行工具 dd 具有相同功能的工具,其提供的图形界面的功能也使镜像的烧写变得很方便。

将 SD 卡插入到电脑中,打开 DDWin,

点击 "Choose disk"按钮,如图所示,会自动选择 SD 卡所在盘符


ddwin_1.png


然后点击"Choose file"按钮,会弹出一个选择烧写镜像的对话框,选择要烧写的镜像,点击确定


ddwin_2.png


最后点击"Restore" 按钮,出现的弹窗警告窗口都点击"是",然后将选中的统一固件烧写到 SD 卡中


ddwin_3.png

ddwin_4.png


进度条写满后即为烧写完毕,那么 SD 启动卡也就制作完成了

系统启动

第一次启动时需要在串口控制台按 Enter 键进入命令行配置模式,

输入以下命令刷入 gpt 分区表后,系统将再次重新启动,并自动加载 rootfs 文件系统

gpt write mmc 1 $partitions
boot