Flex & Bison Are Now Needed To Build The Linux Kernel; Linux 4.16 Can Also Be Snap'ed

Kconfig infrastructure work is rarely notable for kernel merge windows, but this time around with Linux 4.16 there are more significant changes. The lexer and parser for Kconfig are now built from sources rather than relying upon pre-generated C files. Because of this, Flex and Bison are added now as requirements for building the Linux kernel.
Fortunately, Flex and Bison are quite common to other projects as build-time dependencies for lexer and parser generator needs, so it's not a real burden to worry about. Just useful for pointing out next time you build the kernel or are currently building the kernel routinely in an unmonitored fashion.
The other Kconfig infrastructure changes are mostly mundane for Linux 4.16 and outlined via the pull request.
The Kbuild changes for Linux 4.16 are also notable and introduce make snap-pkg support for creating a Linux kernel Snap package using the mainline Kbuild infrastructure. This patch produced last year by a Canonical developer makes it easier now to spin up a Snap package of the Linux kernel. The Linux kernel Snap combines the kernel, its modules, and related files. While Snap is normally about application sandboxing, Snap'ing the Linux kernel is done for the creation of a system image such as with Ubuntu Core and for handling system updates in its atomic manner.
Rather than the Linux kernel Snap creation being out-of-tree, it's now mainline with Linux 4.16 to ease the process along the same lines as the Linux kernel's Kbuild setup for RPMs, Debian packages, etc. Fortunately it doesn't add any real bloat with being less than three dozen new lines of code.
3 Comments