添加新文件
按照以下步骤,添加新文件:
注: 如果没有更新,则无需添加新文件。
- 将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目录下编译文件:
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv INSTALL_PATH=<ROOTFS_PATH> zinstall -<jx>
提示:- <ROOTFS_PATH>:用户定义的目录,将在该目录下生成vmliunz文件。
- <jx>:CPU中的内核数量。如果您的CPU中有8个内核,请将其更改为-j8。结果:
将在ROOTFS_PATH路径下生成vmliunz文件。
- 查看
${ROOTFS_PATH}
路径下生成的文件。以下是一个示例: - 添加新文件:
- 查看Micro-SD卡信息。
df -h
- 将内核文件复制到Micro-SD卡上。请在${ROOTFS_PATH}路径下操作。
sudo cp vmlinuz-5.15.0 /media/<User_Name>/root/boot/ && sync
提示:<User_Name>是您的用户名,例如,atlas。
- 将模块文件复制到Micro-SD卡上。请在
linux/arch/riscv/boot/dts/starfive
路径下操作。sudo cp jh7110-visionfive-v2.dtb jh7110-visionfive-v2-A11.dtb jh7110-visionfive-v2-ac108.dtb jh7110-visionfive-v2-wm8960.dtb /media/<User_Name>/root/usr/lib/linux-image-5.15.0-starfive/starfive/ && sync
- 查看Micro-SD卡信息。
- 按照以下命令,更新extlinux.conf文件:
cd /mnt/extlinux sudo vim extlinux.conf
- 添加以下命令,保存并退出:
label <Label > menu label <Menu_Label> linux /boot/<Newly_Complied_Kernel_file> initrd /boot/initrd.img-5.15.0-starfive fdtdir /usr/lib/linux-image-5.15.0-starfive/ append root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0
提示:在以上命令中:
- <Label>:表示启动项目的标签号。例如,11。
- <Menu_Label>:表示菜单上显示的配置名。例如,myDebian_atlas GNU/Linux-5.15.0-starfive。
- <Newly_Complied_Kernel_file>:在前面步骤中新编译的vmlinuz文件名。例如,vmlinuz-5.15.0或
Image.gz
。
示例:命令示例:
label l1 menu label myDebian_atlas GNU/Linux-5.15.0-starfive linux /boot/vmlinuz-5.15.0 initrd /boot/initrd.img-5.15.0-starfive fdtdir /usr/lib/linux-image-5.15.0-starfive/ append root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0
- (可选)加载不同的dtb文件:
- 执行以下命令,编辑uEnv.txt文件:
cd /mnt sudo vim uEnv.txt
- 修改fdtfile参数,保存并退出:
fdtfile=starfive/<dtb_File_Name>
注:- <User_Name>:您的用户名。例如,atlas。
- <dtb_File_Name>如下图所示,dtb文件位于root/usr/lib/linux-image-5.15.0-starfive/starfive/路径下:不同的开发板使用不同的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版的开发板。
提示: 您可查看开发板上的丝印获取版本信息。下面是编辑uEnv.txt以加载jh7110-visionfive-v2-wm8960.dtb的示例:
- 执行以下命令,编辑uEnv.txt文件:
- 取消/mnt目录的挂载:
sudo umount /mnt
验证:
以下步骤用于验证配置是否成功。
- 从电脑上拔下SD卡,插入到昉·星光 2上。开机后,系统将正常启动。
-
如下所示,您可在菜单界面看到定义的配置项目,例如,myDebian_atlas GNU/Linux-5.15.0-starfive:
同样,您也可以在启动界面看到加载的dtb文件jh7110-visionfive-v2-wm8960.dtb。
- 系统成功启动后,您可看到新的vmlinuz文件的版本号:
root@starfive:~# cat /proc/version Linux= version 5.15.0 (atlas@atlas-VirtualBox) (riscv64-linux-ginu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, GNU ld (GNU Binutils for Ubuntu) 2.30) #1 SMP Mon Oct 31 15:12:31 CST 2022 root@starfive:~#