编译Linux内核

按照以下命令为昉·星光 2编译Linux内核:

  1. 将Linux内核版本文件保存到您的目标目录下,如主目录(home directory)下:

    示例:

    cd ~ # home directory
  2. 下载Linux内核源代码:
    git clone https://github.com/starfive-tech/linux.git
  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文件。
    不同的开发板使用不同的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版的开发板。
    提示: 您可查看开发板上的丝印获取版本信息。