在ubuntu虚拟机上编译
一、下载树莓派的官方源码
git clone --depth=1https://github.com/raspberrypi/linux
git clone --depth=1https://github.com/raspberrypi/tools
git clone --depth=1https://github.com/raspberrypi/firmware
tools文件夹包含树莓派的编译工具
二、
cd linux
#修改Makefile文件,找到如下关键字修改内容如下
ARCH ?=arm
CROSS_COMPILE ?= ../tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi-
make bcm2709_defconfig
make menuconfig
#配置Device Drivers->USB Support-> USB Serial Converter support-> USB driver for GSM and CDMA modems 选择为*
#接下里开始编译zImage
#加上-j4参数可以提高编译速度
make -j4 zImage
make -j4 modules
make -j4 dtbs
#如果要升级模块则需要在linux同级目录创建一个modules文件夹
mkdir ../modules -p
#将升级的模块存入modules文件夹
make modules_install INSTALL_MOD_PATH=../modules #如果提示错误需要打开make menuconfig中的
Loadable module support --->
[*] Enable loadable module support #重新执行上一步骤
#更新TF卡中的配置文件
依次使用如下命令拷贝
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
sudo cp arch/arm/boot/zImage /boot/kernel7.img
sudo cp ../modules/lib/modules/* /rootfs/lib/modules/
#还没结束,拷贝firmware文件夹中的如下几个文件到boot下
bootcode.bin fixup.dat fixup_cd.dat start.elf #不拷贝的话内核升级失败,内核版本无变化