编译内核、设备树与驱动模块
按照以下步骤,编译内核、设备树与驱动模块:
- 执行以下命令,设置编译Linux内核的默认设置:
make <Configuration_File> CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv
提示: <Configuration_File>:在昉·星光 2上,该文件为starfive_visionfive2_defconfig。 - 在执行软件环境的设置后,执行以下命令编译源码:
$ make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv -j$(nproc)
- 执行以下命令,建立一个存放生成内核文件的目录:
$ mkdir ../compiled
- 执行以下命令,编译生成config,System.map,vmlinuz这几个文件到指定路径下:
$ make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv INSTALL_PATH=../compiled zinstall -j$(nproc)
下图为示例输出: - 输入以下命令,复制dtb文件:
$ cp arch/riscv/boot/dts/starfive/jh7110-visionfive-v2.dtb ../compiled
- (可选)执行以下命令,编译生成模块文件并安装到指定路径下:
$ make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- INSTALL_MOD_PATH=../compiled modules_install
注: 若新的内核不涉及驱动模块的改动,此项可不执行,仍使用默认内核的驱动模块。下图为示例输出:注: Debian镜像的对应路径下并无build与source的链接,上图中的对应项可删除。