树莓派3B+内核交叉编译

1.准备工作

1.下载内核源码

  • 在树莓派上使用 uname -a 命令查看内核版本

查看树莓派版本

  • 下载相应的内核源码:https://github.com/raspberrypi/linux
    树莓派3B+内核交叉编译_第1张图片
  • 下载交叉编译器:https://github.com/raspberrypi/tools

2.安装交叉编译器

  • 将下载的内核和交叉编译工具传输到Ubuntun中(可以通过Smaba,ssh,以及VMware的文件共享)
  • 使用 unzip 命令解压内核和交叉编译工具
  • 加入环境变量:sudo gedit /root/.bashrc
  • 在末尾添加:
    export PATH=$PATH:/home/lwl/raspberry/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
    添加环境变量
  • 更新环境变量:source /root/.bashrc
  • 测试交叉工具链是否安装成功,可在控制台中输入:arm-linux-gnueabihf-gcc -v
    树莓派3B+内核交叉编译_第2张图片

3.内核编译

  • 树莓派环境下,获取内核配置文件:sudo modprobe configs
  • 树莓派文件系统/proc目录下,将config.gz文件拷贝到Ubuntu环境下(可以使用nfs,或者U盘)
  • 拷贝config.gz 到 下 /home/lwl/raspberry/linux-rpi-4.19.y
  • 然后执行zcat config.gz > .config,生成.config文件
  • 执行
    KERNEL=kernel7

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

make ARCH=arm CROSS_COMPILE=/home/lwl/raspberry/tools-master/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -j4 zImage modules dtbs
开始编译内核
注意,有些库必须安装:
apt-get install libncurses5-dev
apt-get install libx11-dev:i386 libreadline6-dev:i386
apt-get install build-essential
apt-get install lib32stdc++6
apt-get install lib32z1
apt-get install bison
apt-get install flex
sudo apt-get install libssl-dev

你可能感兴趣的:(嵌入式,树梅派)