-
-
Notifications
You must be signed in to change notification settings - Fork 191
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Use musl-libc instead of system libc #77
Comments
This adds compilations modules for musl-libc and kernel-headers. The entire initrd (busybox, cryptsetup, gpgv, kexec, etc) can be built with the much smaller libc and it appears to work with chroot. Library paths are not set correctly and files are installed into heads/install to make them accessible to other modules. This prevents the initrd from working without manual fixup; need to fix before merging into master. Build times have gone up since everything is being rebuilt more often for some reason.
you might as well try sabotage linux https://github.com/sabotage-linux/sabotage . |
And what about buildroot? It is used by jeltka, coreboot payload, one can choose between uclibc-ng, musl, |
Buildroot looks promising, especially since it includes (experimental) support for reproducible builds.One concern is that it doesn't seem to fit -- xSmurf says "Installing on the X220 requires hardware modification as the flash has to be upgraded to 16MiB." With the Heads bundler the entire runtime fits into the 4MB of the top SPI flash (and my experimental musl-libc branch has 400 KB free). |
This assumption is wrong, I'm using buildroot with uclibc-ng, and I've got about 1.6 mb payload (don't remember for sure), with wpa-supplicant and dropbear and me 1.5mb. (I'll tell what is the real size of the payload later and I'll remove wpa-supplicant as I took it from jeltka and it's not really needed.) |
Thanks for the review on the musl-libc branch merge. sabotage looks intriguing as a future platform; I had run across it earlier as a way to build busybox with musl-libc and we're using its kernel headers package to host the gcc wrapper. The changes are now in master and appear to build from a clean checkout (on ubuntu and fedora). This doesn't satisfy the reproducible build goal yet (issue #2), but it does close out dependency on the system libc (issue #7). |
Allow empty attributes
Building with alpine linux didn't work well (issue #54), but it appears that it is easier to do a hybrid build of linux and coreboot with the regular gcc, and the initrd tools with the
musl-gcc
wrapper.The text was updated successfully, but these errors were encountered: