求熟悉 Linux 内核编译的小伙伴指导以下 rock5b plus 板子的 Linux 内核编译问题

190 天前
 freedomforlong

问题:我修改 rock5b plus linux 内核编译配置,修改之后编译也正常,但是新打出来的 deb 包提取的编译配置还是和我设置的对不上,一直无法生效,我提取的是 git 中 linux-rockchip/arch/arm64/configs/rockchip_linux_defconfig 这个配置文件,但是调整配置 重新回写之后感觉根本就没使用,我是如下操作的,想请各位老师看看哪里出问题

最近在家研究 rock5b 开发板的 linux 内核,主要是想学习 ebpf 相关的一些知识用于安卓沙箱开发 目前用的 https://github.com/Joshua-Riek/ubuntu-rockchip/blob/main/build.sh 这个项目专门做了 rock5b 开发板适配,我先通过 git 拉取到代码之后进行了一次原版编译 没有任何问题,整个是可以编译下来的

git clone https://github.com/Joshua-Riek/ubuntu-rockchip.git
cd ubuntu-rockchip
sudo ./build.sh --board=rock-5b --suite=noble --flavor=desktop --kernel-only

接下来我修改 scripts/build-kernel.sh 中每次拉更新的代码,先将他屏蔽防止覆盖我修改的代码

cat -n scripts/build-kernel.sh
...
22	# Clone the kernel repo
23	#if ! git -C "${KERNEL_CLONE_DIR}" pull; then
24	#    git clone --progress -b "${KERNEL_BRANCH}" "${KERNEL_REPO}" "${KERNEL_CLONE_DIR}" --depth=2
25	#fi
26
27	cd "${KERNEL_CLONE_DIR}"
28	#git checkout "${KERNEL_BRANCH}"

下面是我修改的 ebpf 相关的参考 https://github.com/Joshua-Riek/ubuntu-rockchip/issues/483 这里的相关 config 配置 这里是直接从源代码目录中拷贝配置文件,修改配置选项之后重新生成配置文件回写到源文件,编译一切正常,但是从新的打出来的 deb 提取的 config 和我设置的开关对不上,所以怀疑根本没有生效,我怀疑是没有使用我这个配置,有什么办法可以让他使用我这个配置文件进行内核编译么

sudo cp /home/rock/ebpf/testkernel/ubuntu-rockchip/build/linux-rockchip/arch/arm64/configs/rockchip_linux_defconfig /home/rock/ebpf/testkernel/ubuntu-rockchip/build/linux-rockchip/.config


make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 savedefconfig
cp defconfig arch/arm64/configs/rockchip_linux_defconfig

rm -rf .config

2048 次点击
所在节点    Linux
22 条回复
kanadeblisst00
185 天前
@freedomforlong 现在可以了,之前弄错了。我自己看了编译的脚本,rockchip_linux_defconfig 这个文件确实是没用到,真正生成内核配置文件的是 linux-rockchip/debian/rules.d/2-binary-arch.mk 里的第 30 行,也就是用下面三个文件组合的

linux-rockchip/debian.rockchip/config/config.common.ubuntu
linux-rockchip/debian.rockchip/config/arm64/config.common.arm64
linux-rockchip/debian.rockchip/config/arm64/config.flavour.rockchip

所以你修改这三个文件里的任何一个都可以
freedomforlong
172 天前
@kanadeblisst00 非常感谢 这段时间一直没上论坛 有空我试试看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1052944

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX