Buildroot 可以在不构建 Linux 内核的情况下构建根文件系统吗?
Can Buildroot build the root filesystem without building the Linux kernel?
我试过了:
git checkout 2018.05
make qemu_x86_64_defconfig
make BR2_JLEVEL="$(nproc)" "$(pwd)/output/images/rootfs.ext2"
但它仍然在以下位置构建了内核:
output/images/bzImage
我想这样做是因为:
- 我正在做一个设置,你可以在多个不同的根文件系统之间进行选择,所以我需要为其他根文件系统手动构建 Linux 内核,并且不希望 Buildroot 浪费时间构建它再次
- 我不想在重建内核时每次等待 5 秒让 Buildroot 解析 100 个 Makefile 配置:-)
我在子模块上使用 LINUX_OVERRIDE_SRCDIR
和 Linux,因此 Linux headers 应该与我将用于构建的源相匹配。
glibc 和内核构建之间是否存在基本依赖关系,或者它只是一个从未满足的奇怪用例?
啊,我现在注意到任何可加载的内核模块都需要在 rootfs 上运行,并且需要内核构建,而该构建在 rootfs 中确实有一些 .ko
。
好吧,只需禁用 BR2_LINUX_KERNEL
,Buildroot 将不再构建内核。
我试过了:
git checkout 2018.05
make qemu_x86_64_defconfig
make BR2_JLEVEL="$(nproc)" "$(pwd)/output/images/rootfs.ext2"
但它仍然在以下位置构建了内核:
output/images/bzImage
我想这样做是因为:
- 我正在做一个设置,你可以在多个不同的根文件系统之间进行选择,所以我需要为其他根文件系统手动构建 Linux 内核,并且不希望 Buildroot 浪费时间构建它再次
- 我不想在重建内核时每次等待 5 秒让 Buildroot 解析 100 个 Makefile 配置:-)
我在子模块上使用 LINUX_OVERRIDE_SRCDIR
和 Linux,因此 Linux headers 应该与我将用于构建的源相匹配。
glibc 和内核构建之间是否存在基本依赖关系,或者它只是一个从未满足的奇怪用例?
啊,我现在注意到任何可加载的内核模块都需要在 rootfs 上运行,并且需要内核构建,而该构建在 rootfs 中确实有一些 .ko
。
好吧,只需禁用 BR2_LINUX_KERNEL
,Buildroot 将不再构建内核。