树莓派内核编译


参考链接

详细步骤

  • 获取当前树莓派系统的配置文件
    在raspberrypi系统的3.x版本以前,树莓派系统默认存在/proc/config.gz文件,但是更新到4.x版本之后,/proc/config.gz文件默认不存在了,所以我们需要先获取到这个文件。
    执行命令:
    sudo modprobe config
    执行以上命令之后,会在/proc/目录下生成config.gz文件。然后将此文件从树莓派系统内拷贝到我们的PC平台(有很多种方法,比如U盘,NFS系统文件共享,TCP,samba等等)。
    将config.gz拷贝到内核源码的根目录(~/raspberry_src/linux/),然后在需要编译的内核的顶层目录下执行命令:
  • 生成编译配置文件
    cd ~/raspberry_src/linux/
    zcat config.gz > .config
    目的是生成.config配置文件
  • 执行编译配置命令(可选)
    如果上面获取了内核配置文件,下面不用执行
    KERNEL=kernel7
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
  • 开始编译内核和模块
    这句就是真正的编译了,等等完成吧!如果电脑满足要求的话,可以再make的后面加上-j2,-j4,-j6,-j8等等,表示使用多少个线程进行编译,可以提高编译速度,等待成功吧。编译成功后,在路径arch/arm/boot/下会生成zImage镜像文件。我的虚拟机加上-jn,会出错。
    KERNEL=kernel7
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

文章作者: Mr.Pan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Mr.Pan !