4 ms·
Gentoo is a full source boostrapping if you include the build of GRUB2 and create the initramd file as well as the kernel.
by egberts1 2y ago
Gentoo is a full source boostrapping if you include the build of GRUB2 and create the initramd file as well as the kernel.
- lrvick 2y agoFull source bootstrapping meaning you build with 100% human auditable source code or machine code. The only path to do this today I am aware of is via hex0 building up to Mes and tinycc on up to a modern c compiler: https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst https://github.com/fosslinux/live-bootstrap/blob/master/part... As far as I know Gentoo, even from their "stage0" still assumes you bring your own bootstrap compiler toolchain, and thus is not self bootstrapping.
- fuhsnn 2y agoThe fosslinux/live-bootstrap project is more about bootstrapping from minimal binary seed than auditability, for the latter case I'd argue that having a readable C cross-compiler is clearer than going through multiple steps involving several programming or scripting languages.
- lrvick 2y agoBut how do you build that readable c cross compiler? Full source bootstrapping is our only way out of the trusting trust problem
- fuhsnn 2y agoYou bootstrap the compiler with itself and audit whether the compiler binary is exactly the same semantics as its source. >Full source bootstrapping is our only way out of the trusting trust problem No, that is just deferring the trust to all the tools and scripts that fosslinux/live-bootstrap project provides.
- akoboldfrying 2y ago> You bootstrap the compiler with itself To be able to do this, you must already have both the source for the compiler and what someone has told you is a binary compiled from it. But what if that someone was lying?
- fuhsnn 2y agoNot a programmer, are you? Programmers can fully investigate the compiled binary without anyone even has a chance to lie to them. If a team don't have the ability to audit the decompilation of a 10k LOC C compiler at least once, I doubt their chance against a backdoor hidden in the 100s of steps of https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst https://github.com/fosslinux/live-bootstrap/blob/master/part...
- lrvick 2y agoNot everyone that programs is versed in decompiling, digital forensics, reverse engineering, etc. Anyway, so your means of forming trust in a compiler faithfully compiling code, is to trust a decompiler to faithfully generate human readable source code followed by a lot of manual review labor repeated by every user that wishes to distrust the maintainers. Okay, but a decompiler could be backdoored as easily as a compiler to hide malicious code vs inject it . How do you get a decompiler you trust more than the compiler you are reviewing? Do you decompile the decompiler with itself? Back at the trusting trust problem. Decompilers are way more complex than anything in the hex0->tinycc bootstrap path.
- fuhsnn 2y ago> Anyway, so your means of forming trust in a compiler faithfully compiling code, is to trust a decompiler to faithfully generate human readable source code No, it is to fully audit the binary of a compiler itself, if you don't trust a decompiler, learn to read machine code, the output from a simple C compiler tend to pretty predictable. > manual review labor repeated by every user that wishes to distrust the maintainers. Yes? What's wrong with that? Anyone wishes to distrust, you give them the tools and knowledge to verify the process, the more people able to do this the better.