SpacemiT K1 安装指南
deepin-ports SIG
8/3/2025
支持设备
- MUSE Box
- MUSE Book
- MUSE Pi
- MUSE Pi Pro
- DC ROMA 2
- LicheePi 3A
下载并解压镜像
在镜像列表中下载最新的 .tar.xz
格式的镜像包至本地,随后使用以下命令解压镜像与校验码至当前文件夹:
tar -xvf <你下载的镜像名称>.tar.xz
解压得到
deepin-k1-riscv64-25-desktop-installer.sha256sum
sha256 校验和deepin-k1-riscv64-25-desktop-installer.md5sum
md5 校验和deepin-k1-riscv64-25-desktop-installer.boot.ext4
系统启动目录分区镜像deepin-k1-riscv64-25-desktop-installer.root.ext4
系统根目录分区镜像
校验镜像:
$ cat deepin-k1-riscv64-25-desktop-installer.sha256sum
f0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519 deepin-k1-riscv64-25-desktop-installer.boot.ext4
8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5 deepin-k1-riscv64-25-desktop-installer.root.ext4
$ sha256sum deepin-k1-riscv64-25-desktop-installer.boot.ext4
f0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519 deepin-k1-riscv64-25-desktop-installer.boot.ext4
$ sha256sum deepin-k1-riscv64-25-desktop-installer.root.ext4
8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5 deepin-k1-riscv64-25-desktop-installer.root.ext4
刷写 bootloader
准备 bootloader 文件
前往deepin-riscv-kernel,进入最新的 build all
项,在 Artifacts 中选择 uboot-k1-spacemit
下载并解压。
它的目录结构如图所示:
.
├── fw_dynamic.itb # 写入 opensbi 分区
└── k1
├── bootinfo_emmc.bin # 写入 bootinfo 分区
├── bootinfo_sd.bin # 写入 bootinfo 分区
├── bootinfo_spinand.bin # 写入 bootinfo 分区
├── bootinfo_spinor.bin # 写入 bootinfo 分区
├── FSBL.bin # 写入 fsbl 分区
├── u-boot-env-default.bin # 写入 env 分区
└── u-boot.itb # 写入 uboot 分区
进入刷写模式
在设备未通电时按下 FDL
按钮,并将 USB 线将设备连接至电脑,然后松开按钮,具体接口位置请参阅各设备文档。
此时在电脑上运行 fastboot devices
将显示位于 fastboot
状态的设备。
执行以下操作以将设备从 usb 启动到 uboot 的写入模式:
fastboot stage FSBL.bin # 加载第一阶段 bootloader
fastboot continue
sleep 1
fastboot stage u-boot.itb # 加载第二阶段 bootloader (即 u-boot)
fastboot continue
此时在电脑上运行 fastboot devices
将显示位于 fastboot
状态的设备。
创建分区表 (独立 bootloader 分区)
若设备存在 spi 存储设备,可将 bootloader 单独写在 spi 存储中。
创建一个 partitions_mtd.json
文件:
{
"version": "1.0",
"format": "mtd",
"partitions": [
{
"name": "bootinfo",
"offset": "0",
"size": "128K",
"image": "factory/bootinfo_spinor.bin"
},
{
"name": "fsbl",
"offset": "128K",
"size": "256K",
"image": "factory/FSBL.bin"
},
{
"name": "env",
"offset": "384K",
"size": "64K",
"image": "env.bin"
},
{
"name": "opensbi",
"offset": "448K",
"size": "192K",
"image": "fw_dynamic.itb"
},
{
"name": "uboot",
"offset": "640K",
"size": "-",
"image": "u-boot.itb"
}
]
}
创建一个 partitions_gpt.json
文件:
{
"version": "1.0",
"format": "gpt",
"partitions": [
{
"name": "bootfs",
"offset": "4M",
"size": "256M",
"image": "bootfs.img",
"compress": "gzip-5"
},
{
"name": "rootfs",
"offset": "260M",
"size": "-",
"image": "rootfs.ext4",
"compress": "gzip-5"
}
]
}
执行如下命令以设置分区:
fastboot flash mtd partitions_mtd.json
fastboot flash gpt partitions_gpt.json
创建分区表 (合并所有分区)
创建一个 partitions.json
文件:
{
"version": "1.0",
"format": "gpt",
"partitions": [
{
"name": "bootinfo",
"hidden": true,
"offset": "0K",
"size": "512",
"image": "factory/bootinfo_sd.bin",
"holes": "{\"(80;512)\"}"
},
{
"name": "fsbl",
"offset": "128K",
"size": "256K",
"image": "factory/FSBL.bin"
},
{
"name": "env",
"offset":"384K",
"size": "64K",
"image": "env.bin"
},
{
"name": "opensbi",
"size": "384K",
"image": "fw_dynamic.itb"
},
{
"name": "uboot",
"size": "2M",
"image": "u-boot.itb"
},
{
"name": "bootfs",
"offset": "4M",
"size": "256M",
"image": "bootfs.img",
"compress": "gzip-5"
},
{
"name": "rootfs",
"offset": "260M",
"size": "-",
"image": "rootfs.ext4",
"compress": "gzip-5"
}
]
}
执行如下命令以设置分区:
fastboot flash gpt partitions_gpt.json
写入 bootloader
执行如下命令将新的 bootloader 写入到指定分区。
fastboot flash bootinfo bootinfo_spinor.bin # bootinfo_{spinor,spiand,emmc,sd} 取决于 bootloader 所在的存储介质
fastboot flash fsbl FSBL.bin # 写入第一阶段 bootloader
fastboot flash env u-boot-env-default.bin # 写入默认环境变量
fastboot flash opensbi fw_dynamic.itb # 写入 opensbi
fastboot flash uboot u-boot.itb # 写入 u-boot
此时设备已刷写完 bootloader,插拔电源重启即可进入新的 bootloader。
刷写操作系统
先参考上一节的 进入刷写模式
将设备设置为刷写状态。
使用如下命令将镜像写入 bootfs
和 rootfs
分区:
fastboot flash bootfs deepin-k1-riscv64-25-desktop-installer.boot.ext4
fastboot flash rootfs deepin-k1-riscv64-25-desktop-installer.root.ext4
此时插拔电源即可使设备启动到系统。
注意事项
- 镜像启动时间可能较长,如需查看串口,请参见对应设备的测试报告。