Linux内核镜像拷贝至树莓派并启动新内核

1.从GitHub上下载树莓派Linux内核,通过Vmware共享文件上传到Ubuntu中,用unzip解压。

GitHub - raspberrypi/linux at rpi-4.14.y

2.内核配置:

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

(此命令功能是获取bcm2709_defconfig的配置到 .config里。我们可以直接用工程里的配置,但这样的话可能会丢失原来使用的树莓派的配置,这里提供一个方法可以获取当前正在使用的树莓派的config。)

 3.编译

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs

j4:指定用多少电脑资源进行编译

zImage:zImage生成内核镜像

modules:modules要生成驱动模块

dtbs:dtbs生成配置文件

等待20分钟左右,编译成功后,看到源码树目录多了vmlinux,失败则无此文件成功后,目标zImage镜像arch/arm/boot底下

 编译完成后就需要放到树莓派上运行,运行之前还需做一些额外的配置。

 4.打包zImage成树莓派可用的xxx.img.

./scripts/mkknlimg arch/arm/boot/zImage ./kernel_new.img

5.挂载树莓派sd卡

mkdir data1 
mkdir data2
sudo mount /dev/sdb1 data1
sudo mount /dev/sdb2 data2

一个fat分区,是boot相关的内容,kernel的img。

一个是ext4分区,也就是系统的根目录分区。

5.安装modules, 设备驱动文件: hdmi ,usb ,wifi, io …

安装更新 kernel.img 文件,注意镜像名字是kernel7.img,

先备份:

cp kernel7.img kernel7OLD.img

再把编译新生成的拷贝到data1,起名kernel7.img:

cp kernel_new.img /home/chenlc/data1/kernel7.img

拷贝配置文件:

cp arch/arm/boot/dts/.*dtb* /home/chenlc/data1
cp arch/arm/boot/dts/overlays/.*dtb* /home/liujiaxin/data1
cp arch/arm/boot/dts/overlays/README /home/liujiaxin/data1

6.把SD卡插回树莓派,通过串口登录即可看到已启动新内核或者输入uname -r查看内核版本号。

参考文章:树莓派-内核开发-说明 下载代码 编译 替换内核 - 生命不息 折腾不止 (nicekwell.net)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LJX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值