方法2:添加启动项
前提条件
确保您已经执行了生成DTB文件中的步骤。
在Linux的根目录下执行以下命令,以替换DTB文件:
- 将micro-SD卡插入到带有Ubuntu系统的PC上,并执行以下命令检查SD卡分区:
sudo fdisk -l
示例输出:Device Start End Sectors Size Type /dev/sdc1 4096 8191 4096 2M unknown /dev/sdc2 8192 16383 8192 4M unknown /dev/sdc3 16384 221183 204800 100M EFI System /dev/sdc4 221184 4503518 4282335 2G Linux filesystem
在此输出中,
/dev/sdc3
分区是SD卡分区。 - 执行以下命令,在mnt文件路径下挂载SD卡分区:
sudo mount /dev/sdc3 /mnt
- 在Linux根目录下执行以下命令:
sudo cp arch/riscv/boot/dts/starfive/<DTB_File> /mnt/dtbs/starfive sudo umount /mnt
不同的开发板使用不同的dtb文件:- jh7110-visionfive-v2.dtb:用于1.2A和1.3B版的开发板。
- jh7110-visionfive-v2-ac108.dtb:用于带有ac108编解码器的1.2A和1.3B版的开发版。
- jh7110-visionfive-v2-wm8960.dtb:用于带有wm8960编解码器的1.2A和1.3B版的开发板。
提示: 您可查看开发板上的丝印获取版本信息。示例命令:
sudo cp arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtb /mnt/dtbs/starfive
- 执行以下命令,打开extlinux.conf
:
sudo vim /mnt/extlinux/extlinux.conf
- 添加了以下各行,然后保存并退出:
label l1 menu label Debian GNU/Linux bookworm/sid 5.15.0-starfive (customized) linux /vmlinuz-5.15.0-starfive initrd /initrd.img-5.15.0-starfive fdt /dtbs/starfive/<DTB_File> append root=/dev/mmcblk1p4 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 label l1r menu label Debian GNU/Linux bookworm/sid 5.15.0-starfive (customized)(rescue target) linux /vmlinuz-5.15.0-starfive initrd /initrd.img-5.15.0-starfive fdt /dtbs/starfive/<DTB_File> append root=/dev/mmcblk1p4 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 single
- 从PC上取出micro-SD卡,插入昉·星光 2,然后上电。
- 您将在U-Boot启动菜单中看到自定义菜单项,例如Debian GNU/Linux bookworm/sid 5.15.0-starfive (customized),选择此项。