内容简介:升级前系统版本Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 arm71 GNU/Linux
升级前系统版本
root@raspberrypi :~# uname -a
Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 arm71 GNU/Linux
1、下载内核源码
官网地址: https://github.com/raspberrypi
Linux内 核 源码:linux-rpi-4.14.y.zip
tools交叉编译器:编译内核和其他源码所需的工具
2、配置交叉编译环境
设置环境变量,下载的tools解压到当前系统根目录下。
32位系统将如下路径加入环境变量:
/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
64位系统将如下路径加入环境变量:
/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64
/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
例如:
root@raspberrypi :~# vi /etc/profile
加入环境变量:export PATH=$PATH:/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian:/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
刷新环境变量使其生效:
root@raspberrypi :~# source /etc/profile
3、编译、提取内核及其模块
root@raspberrypi:/home # unzip linux-rpi-4.4.y.zip
root@raspberrypi:/home # cd linux-rpi-4.4.y
可以直接修改内核根目录下的Makefile文件,修改下面的两行:
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
或者直接使用make指令设置这两个参数,make ARCH=arm CROSS_COMPILE=arm-linux-......
执行find ./ -name "*bcm*defconfig*"查找对应的默认配置,只保留arm下的结果
root@raspberrypi:/home/linux-rpi-4.14.y # find ./ -name "*bcm*defconfig*"
./arch/arm/configs/bcm2835_defconfig
./arch/arm/configs/bcmrpi_defconfig
./arch/arm/configs/bcm2709_defconfig
./arch/arm/configs/bcm_defconfig
Pi 1使用bcmrpi_defconfig
Pi 2/3使用bcm2709_defconfig
4、内核编译
root@raspberrypi:/home/linux-rpi-4.4.y # KERNEL=kernel7
root@raspberrypi:/home/linux-rpi-4.4.y # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
配置内核模块,窗口顶部显示arm,说明参数设置成功
root@raspberrypi:/home/linux-rpi-4.4.y # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
编译内核镜像,如果是多处理器系统可以添加选项参数-jn, n为数字,表示多处理器的数量*1.5。可以加快编译速度
root@raspberrypi:/home/linux-rpi-4.4.y # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
或
root@raspberrypi:/home/linux-rpi-4.4.y # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 zImage modules dtbs
5、升级内核及文件系统
将树莓派的SD卡插在 Linux 系统电脑上,查看分区
root@raspberrypi:/home/linux-rpi-4.4.y # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 29.7G 0 disk
|__sda1 8:1 1 43.9M 0 part /media/root/boot
|__sda2 8:2 1 29.7G 0 part /media/root/rootfs
mmcblk0 179:0 0 14.4G 0 disk
|__mmcblk0p1 179:1 0 43.9M 0 part /boot
|__mmcblk0p2 179:2 0 14.1G 0 part /
sda1是FAT(boot)分区
sda2是ext4文件系统(root)分区
挂在SD卡分区
root@raspberrypi:/home/linux-rpi-4.4.y # mkdir /mnt/fat32
root@raspberrypi:/home/linux-rpi-4.4.y # mkdir /mnt/ext4
root@raspberrypi:/home/linux-rpi-4.4.y # sudo mount /dev/sda1 /mnt/fat32
root@raspberrypi:/home/linux-rpi-4.4.y # sudo mount /dev/sda2 /mnt/ext4
安装modules
root@raspberrypi:/home/linux-rpi-4.4.y # sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/mnt/ext4 modules_install
如果把INSTALL_MOD_PATH设置为本地目录可以提取出对应的modules,最后把kernel and Device Tree blobs复制到SD卡:
备份原先的img文件
root@raspberrypi:/home/linux-rpi-4.4.y # sudo cp /mnt/fat32/$KERNEL.img /mnt/fat32/$KERNEL-backup.img
将zImage格式转换成树莓派需要的img格式,并复制到SD卡
root@raspberrypi:/home/linux-rpi-4.4.y # sudo scripts/mkknling arch/arm/boot/zImage /mnt/fat32/$KERNEL.img
root@raspberrypi:/home/linux-rpi-4.4.y # sudo cp arch/arm/boot/dts/*.dtb /mnt/fat32/
root@raspberrypi:/home/linux-rpi-4.4.y # sudo cp arch/arm/boot/dts/overlays/*.dtb* /mnt/fat32/overlays/
root@raspberrypi:/home/linux-rpi-4.4.y # sudo cp arch/arm/boot/dts/overlays/README /mnt/fat32/overlays/
卸载SD卡分区
root@raspberrypi:/home/linux-rpi-4.4.y # sudo umount /mnt/fat32
root@raspberrypi:/home/linux-rpi-4.4.y # sudo umount /mnt/ext4
*** 升级内核的另一个方法是将img文件复制到相同目录下,使用不同的文件名,如kernel-myconfig.img,然后修改boot目录下的config.txt文件,
加入:kernel=kernel-myconfig.img,最后将SD卡插入树莓派启动系统。
升级后的系统版本
root@raspberrypi :~# uname -a
Linux raspberrypi 4.14.89-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 arm71 GNU/Linux
以上所述就是小编给大家介绍的《树莓派之内核升级—源码编译》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- [树莓派]树莓派的入门教程
- 「玩转树莓派」树莓派 3B+ 安装 OpenCv
- 「玩转树莓派」树莓派 3B+ 查询本机IP
- 「玩转树莓派」树莓派 3B+ 配置静态IP
- 「玩转树莓派」树莓派 3B+ 配置无线WiFi
- 云中树莓派(3):通过 AWS IoT 控制树莓派上的 Led
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Microformats
John Allsopp / friends of ED / March 26, 2007 / $34.99
In this book, noted web developer and long time WaSP member John Allsop teaches all you need to know about the technology: what Microformats are currently available and how to use them; the general pr......一起来看看 《Microformats》 这本书的介绍吧!