树梅派Raspberry Pi OS(Debian)源码交叉编译升级内核参数PAGESIZE

树梅派Raspberry Pi OS(Debian)源码交叉编译升级内核参数PAGESIZE

环境:

device: Raspberry Pi 3 Model B Rev 1.2 
os: 2024-03-15-raspios-bookworm-arm64 (Debian GNU/Linux 12 bookworm aarch64)
kernel: 6.6.20+rpt-rpi-v8
arch: aarch64
编译机: ubuntu 22.04

1. 查看内核版本

$ uname -r
6.6.20+rpt-rpi-v8

2. 下载Raspberry Pi OS最新linux内核源码

git clone --depth=1 https://github.com/raspberrypi/linux

3. 安装所需前置软件

sudo apt install gcc-aarch64-linux-gnu libncurses5-dev build-essential flex bison bc libssl-dev debhelper

4. 设置交叉编译环境

$ export ARCH=arm64
$ export KERNEL=kernel8
$ export CROSS_COMPILE=aarch64-linux-gnu-

5. 生成配置和修改内核参数

  • 生成Raspberry Pi 3配置
$ make bcm2711_defconfig
  • 修改内核参数
$ make menuconfig

选择 Kernel Features-->Page size(64KB) 设置为64K

6. 交叉编译linux内核deb

$ make bindeb-pkg -j8

编译完成后得到如下文件

arch/arm64/boot/Image.gz
linux-headers-6.6.22-v8_6.6.22-1_arm64.deb  linux-image-6.6.22-v8_6.6.22-1_arm64.deb
linux-libc-dev_6.6.22-1_arm64.deb
linux-upstream_6.6.22-1_arm64.buildinfo
linux-upstream_6.6.22-1_arm64.changes

7. 安装内核deb

$ sudo dpkg --install linux-*.deb

安装完毕后

sudo cp /usr/lib/linux-image-6.6.22-v8/broadcom/* /boot/firmware/
sudo cp /usr/lib/linux-image-6.6.22-v8/overlays/* /boot/firmware/overlays/

sudo mv kernel8.img kernel8.img.bak
sudo cp Image.gz /boot/firmware/kernel8.img

8. 重启后验证

$ uname -r
6.6.22-v8

$ getconf PAGESIZE
65536

Reference:
https://www.raspberrypi.com/documentation/computers/linux_kernel.html#building

相关推荐

  1. 编译nodejs(包括升级gcc)

    2024-03-30 10:04:06       20 阅读
  2. centos 编译升级内核

    2024-03-30 10:04:06       37 阅读
  3. qt5.12版本交叉编译的错误

    2024-03-30 10:04:06       14 阅读
  4. MyBatis-Plus中Page及各个参数的具体含义

    2024-03-30 10:04:06       11 阅读
  5. Ubuntu升级升级openssh

    2024-03-30 10:04:06       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-30 10:04:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-30 10:04:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-30 10:04:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-30 10:04:06       20 阅读

热门阅读

  1. 实验十 枚举问题(过程模拟)

    2024-03-30 10:04:06       19 阅读
  2. YOLOv8参数详解

    2024-03-30 10:04:06       30 阅读
  3. sql中如何添加数据

    2024-03-30 10:04:06       21 阅读
  4. go中匿名函数的使用

    2024-03-30 10:04:06       22 阅读
  5. 如何解决EventSource 删除单词的前置空格问题

    2024-03-30 10:04:06       16 阅读
  6. 缺失的第一个正数 - LeetCode 热题 17

    2024-03-30 10:04:06       16 阅读
  7. hanlp的使用

    2024-03-30 10:04:06       15 阅读
  8. MongoDB集成springboot

    2024-03-30 10:04:06       17 阅读