编译Linux(交叉编译)

按照以下步骤,交叉编译Linux:

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