方法2:添加启动项

前提条件

确保您已经执行了生成DTB文件中的步骤。

在Linux的根目录下执行以下命令,以替换DTB文件:

  1. 将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卡分区。

  2. 执行以下命令,在mnt文件路径下挂载SD卡分区:
    sudo mount /dev/sdc3 /mnt
  3. 在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
  4. 执行以下命令,打开extlinux.conf
    sudo vim /mnt/extlinux/extlinux.conf
  5. 添加了以下各行,然后保存并退出:
    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
  6. 从PC上取出micro-SD卡,插入昉·星光 2,然后上电。
  7. 您将在U-Boot启动菜单中看到自定义菜单项,例如Debian GNU/Linux bookworm/sid 5.15.0-starfive (customized),选择此项。