Search code examples
buildroot

Can Buildroot build the root filesystem without building the Linux kernel?


I tried:

git checkout 2018.05
make qemu_x86_64_defconfig
make BR2_JLEVEL="$(nproc)" "$(pwd)/output/images/rootfs.ext2"

but it still built the kernel at:

output/images/bzImage

I want to do that because:

  • I'm making a setup where you can pick between multiple different root filesystems, so I will need to build Linux kernel manually for the other root filesystems, and would not like Buildroot to waste time building it again
  • I don't want to wait 5 seconds every time for Buildroot to parse 100 Makefile configs when I want to rebuild the kernel :-)

I'm using LINUX_OVERRIDE_SRCDIR with Linux on a submodule, so Linux the headers should match the source I will use for the build.

Is there a fundamental dependency between, say, glibc and the kernel build, or is it just a weird use case never catered for?

Ah, I noticed now that any loadable kernel modules need to go on the rootfs and would require a kernel build, and that build does have some .ko in the rootfs.


Solution

  • Well, just disable BR2_LINUX_KERNEL and Buildroot will no longer build the kernel.