编译Linux(交叉编译)
按照以下步骤,交叉编译Linux:
- 执行以下命令,安装依赖包以创建内核:
apt-get install build-essential linux-source bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves bison git
- 从赛昉科技Github仓库取内核文件:
git clone https://github.com/starfive-tech/linux
- 执行以下命令,切换到代码分支:
cd linux git checkout -b JH7110_VisionFive2_devel origin/JH7110_VisionFive2_devel git pull
- 执行以下命令,设置编译Linux内核的默认设置:
make <Configuration_File> CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv
提示: <Configuration_File>:在昉·星光 2上,该文件为starfive_visionfive2_defconfig。 - 执行以下命令,设置编译Linux内核其他软件设置:
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv menuconfig
- 编译Linux内核:
make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv -jx
注: 按照CPU内核的数量,调整此命令-jx的值。如果您的CPU中有8个内核,请将其更改为-j8。该过程较为耗时,请您耐心等待。结果:系统将在linux/arch/riscv/boot目录下,生成内核镜像文件Image.gz。 系统将在linux/arch/riscv/boot目录下,生成dtb文件文件Image.gz。图 1. 示例输出 在稍后移植rootfs、dtb和内核到昉·星光 2上时,将使用到Image.gz和.dtb文件。图 2. 生成dtb文件