增加新文件

请参考以下步骤,增加新文件:

注:

若无更新,则无需增加新文件。

  1. 在Linux目录下,输入以下命令编译文件:
    make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv 
    INSTALL_PATH=<ROOTFS_PATH> zinstall -<jx>
    注:
    • <ROOTFS_PATH> :值为用户自定义的目录,该目录将用于存放生成的vmliunz文件。
    • <jx>:值为CPU核的数量。如CPU为8核,则值为-j8。
    示例命令及输出:
    1. 示例命令及输出

    结果:

    系统将于<ROOTFS_PATH>下,生成vmliunz文件。

  2. (可选)在Linux路径下,输入以下指令编译文件:
    make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv 
    INSTALL_MOD_PATH=<ROOTFS_PATH> modules_install -jx
    注: 若需增加新模块,则需执行本步骤。
    • <ROOTFS_PATH> :值为用户自定义的目录,该目录将用于存放生成的模块文件。
    • <jx>:值为CPU核的数量。如CPU为8核,则值为-j8。
    示例命令与输出:
    2. 示例命令与输出
  3. <ROOTFS_PATH>路径下,查看生成的文件。如下图所示:
    3. 示例
  4. 增加新文件:

    子步骤:

    1. 查看Micro SD卡的信息:
      df -h
      4. 示例Micro SD卡信息
    2. <ROOTFS_PATH>路径下,执行以下指令复制Kernel文件到Micro-SD卡上:
      sudo cp vmlinuz-5.16.0-rc2-visionfive-g6e924cb10a60 
      /media/<User_Name>/__boot/ && sync
      注:

      <User_Name> 为您的用户名,如yingpeng。

    3. (可选)在<ROOTFS_PATH>路径下执行以下命令复制模块文件到Micro SD卡上:
      sudo cp -r lib/modules/5.16.0-rc2-visionfive-g6e924cb10a60/ 
      /media/<User_Name>/__/lib/modules && sync
      注:
      • 若您已经按照“增加新文件”章节的步骤2,编译了新模块,则需执行本步骤。
      • <User_Name>为您的用户名,如yingpeng。
  5. 执行以下指令更新grub.cfg文件:
    cd /media/<UserName>/__boot/
    sudo gedit grub.cfg
    注:

    <User_Name>为您的用户名,如yingpeng。

  6. 新增以下命令行,保存后退出:
    menuentry '<Configuration_Item_Name_on_Menu>' {
    linux /<Newly_Compiled_vmlinuz_file> ro root=UUID=59fcd098-2f22-441a-ba45-4f7185baf23f rhgb console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 LANG=en_US.UTF-8
    devicetree /dtbs/5.16.0-rc2+/starfive/<dtb_File_Name>
    initrd /initramfs-5.16.0-rc2+.img
    }
    注: 以上命令中:
    • <Configuration_Item_Name_on_Menu> :菜单上显示的配置项名称,如My Fedora vmlinux-5.16.0-rc2 visionfive。
    • <Newly_Compiled_vmlinuz_file> :编译后的vmlinuz文件名称,如vmlinuz-5.16.0-rc2-visionfive-g6e924cb10a60。
    • <dtb_File_Name>:dtb文件名。不同的单板计算机将使用到不同的dtb文件,详细请参考《赛昉科技40-Pin GPIO Header用户指南》中描述dtb文件的表格。

示例:

以下为示例命令行:
menuentry 'My Fedora vmlinux-5.16.0-rc2 visionfive' {
linux /vmlinuz-5.16.0-rc2-visionfive-g6e924cb10a60 ro root=UUID=59fcd098-2f22-441a-ba45-4f7185baf23f rhgb console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 LANG=en_US.UTF-8
devicetree /dtbs/5.16.0-rc2+/starfive/jh7100-starfive-visionfive-v1.dtb
initrd /initramfs-5.16.0-rc2+.img
}

验证:

请参考以下步骤,验证设置是否成功:

  1. 从电脑中拔出Micro SD卡,并插入到昉·星光单板计算机。上电后系统将正常启动。
  2. 菜单将显示此前定义的设置项,如My Fedora vmlinux-5.16.0-rc2 visionfive

    如下图所示:

    5. 示例界面
  3. 系统成功启动后,将显示编译后的vmlinuz文件版本:
    6. 示例输出