树莓派之内核升级—源码编译

栏目: 软件资讯 · 发布时间: 5年前

内容简介:升级前系统版本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


以上所述就是小编给大家介绍的《树莓派之内核升级—源码编译》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Producing Masculinity

Producing Masculinity

Michele White / Routledge / 2019-3 / $39.95

Thoughtful, witty, and illuminating, in this book Michele White explores the ways normative masculinity is associated with computers and the Internet and is a commonly enacted online gender practice. ......一起来看看 《Producing Masculinity》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具