Search
48 results for “stikonas”
-
Bootstrapping of an older version of re2c:
-
I've just updated my gentoo-bootstrap overlay (https://gitlab.com/stikonas/gentoo-bootstrap) with fixes to GCC →OpenJDK 8 bootstrap. (There was a bit of breakage due to some old ecj tarballs disappearing from distfiles.gentoo.org)
-
@stikonas
Yes, that was another lovely #bootstrappable one-two, thank you!!! -
Most #flatpaks will soon be buildable from sub 1 KiB binary seed:
See blog post for more details:
https://stikonas.eu/wordpress/2023/01/31/building-flatpaks-and-freedesktop-sdk-from-scratch/
#flatpak #freedesktopsdk #BootstrappableBuilds #ReproducibleBuilds
-
Recently I have been working on my new project:
https://git.stikonas.eu/andrius/stage0-uefi
This is probably the first self-hosted compiler that runs on UEFI. But it's not just that, it can also be bootstrapped from hex.
It is still work in progress and does not go beyond self-hosting M2-Planet on UEFI but its POSIX equivalent (that assumes existence of kernel such as #linux) can go all the way from hex to GCC:
https://github.com/fosslinux/live-bootstrap/
https://github.com/oriansj/stage0-posix -
Recently I have been working on my new project:
https://git.stikonas.eu/andrius/stage0-uefi
This is probably the first self-hosted compiler that runs on UEFI. But it's not just that, it can also be bootstrapped from hex.
It is still work in progress and does not go beyond self-hosting M2-Planet on UEFI but its POSIX equivalent (that assumes existence of kernel such as #linux) can go all the way from hex to GCC:
https://github.com/fosslinux/live-bootstrap/
https://github.com/oriansj/stage0-posix -
Recently I have been working on my new project:
https://git.stikonas.eu/andrius/stage0-uefi
This is probably the first self-hosted compiler that runs on UEFI. But it's not just that, it can also be bootstrapped from hex.
It is still work in progress and does not go beyond self-hosting M2-Planet on UEFI but its POSIX equivalent (that assumes existence of kernel such as #linux) can go all the way from hex to GCC:
https://github.com/fosslinux/live-bootstrap/
https://github.com/oriansj/stage0-posix -
Recently I have been working on my new project:
https://git.stikonas.eu/andrius/stage0-uefi
This is probably the first self-hosted compiler that runs on UEFI. But it's not just that, it can also be bootstrapped from hex.
It is still work in progress and does not go beyond self-hosting M2-Planet on UEFI but its POSIX equivalent (that assumes existence of kernel such as #linux) can go all the way from hex to GCC:
https://github.com/fosslinux/live-bootstrap/
https://github.com/oriansj/stage0-posix -
@filippo Meanwhile, bootstrapping a current OpenJDK involves compiling multiple ancient packages (each with its own set of outdated dependencies, of course) and then going up all the way from Java 7, version by version.
@stikonas has described this tedious process and developed some ebuilds for Gentoo here: https://git.stikonas.eu/andrius/gentoo-bootstrap
This also applies to Rust in a way, but at least it's not as bad there – not yet, as the old versions might eventually succumb to bitrot, too.
Please, dear programming language community, can we do better at this? For resilience, for reproducibility, for reliability, for portability and for preservation?
#bootstrappablebuilds #bootstrapping #reproduciblebuilds #trustingtrust #gentoo #openjdk #rust
-
#GNU Mes 0.25 released: Supporting the bootstrap for riscv64-linux.
https://lists.gnu.org/archive/html/info-gnu/2023-11/msg00001.html
Thanks to the amazing work of @ekaitz_zarraga and
@stikonas!#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@fsf
@fsfe -
#GNU Mes 0.27.1 released: A bug-fix release that supports
* development build with gcc-14
* building with M2-Planet 1.12.0
* building on x86-linux with M2-Planet 1.13.0
* building bootstrappable-tcc using 1.00.02 <= NYACC <= 2.02.2<https://lists.gnu.org/archive/html/info-gnu/2025-08/msg00005.html>
Thanks to @ekaitz_zarraga and @stikonas!
#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@reproducible_builds
@fsf
@fsfe
@gnutools
@nlnet -
A talk about live-bootstrap and builder-hex0 by Rick Masters:
https://www.youtube.com/watch?v=ycLdhqn5VI4
https://github.com/ironmeld/builder-hex0
-
This weekend I shrunk hex0 program on x86 from 190 -> 181 bytes.
https://github.com/oriansj/bootstrap-seeds/pull/46
We probably can't go much lower without assuming that registers at the beginning of the program are zeroed or removing features from hex0 (e.g. supporting only one set of comments or only uppercase hex letters).
-
This weekend I shrunk hex0 program on x86 from 190 -> 181 bytes.
https://github.com/oriansj/bootstrap-seeds/pull/46
We probably can't go much lower without assuming that registers at the beginning of the program are zeroed or removing features from hex0 (e.g. supporting only one set of comments or only uppercase hex letters).
-
This weekend I shrunk hex0 program on x86 from 190 -> 181 bytes.
https://github.com/oriansj/bootstrap-seeds/pull/46
We probably can't go much lower without assuming that registers at the beginning of the program are zeroed or removing features from hex0 (e.g. supporting only one set of comments or only uppercase hex letters).
-
This weekend I shrunk hex0 program on x86 from 190 -> 181 bytes.
https://github.com/oriansj/bootstrap-seeds/pull/46
We probably can't go much lower without assuming that registers at the beginning of the program are zeroed or removing features from hex0 (e.g. supporting only one set of comments or only uppercase hex letters).
-
I was just reviewing the new x86 hex0 bootstrap seed: https://github.com/oriansj/stage0-posix-x86/blob/master/hex0_x86.hex0. Big thanks to Noah Goldstein for making it smaller.
Now it is only 190 bytes. Excluding ELF header that's only 106 bytes of code.
For a couple of years hex0 binary was 256 bytes and before that hex0 was 357 bytes (this is the number that is still mentioned in https://guix.gnu.org/manual/devel/en/html_node/Full_002dSource-Bootstrap.html).
-
I was just reviewing the new x86 hex0 bootstrap seed: https://github.com/oriansj/stage0-posix-x86/blob/master/hex0_x86.hex0. Big thanks to Noah Goldstein for making it smaller.
Now it is only 190 bytes. Excluding ELF header that's only 106 bytes of code.
For a couple of years hex0 binary was 256 bytes and before that hex0 was 357 bytes (this is the number that is still mentioned in https://guix.gnu.org/manual/devel/en/html_node/Full_002dSource-Bootstrap.html).
-
I was just reviewing the new x86 hex0 bootstrap seed: https://github.com/oriansj/stage0-posix-x86/blob/master/hex0_x86.hex0. Big thanks to Noah Goldstein for making it smaller.
Now it is only 190 bytes. Excluding ELF header that's only 106 bytes of code.
For a couple of years hex0 binary was 256 bytes and before that hex0 was 357 bytes (this is the number that is still mentioned in https://guix.gnu.org/manual/devel/en/html_node/Full_002dSource-Bootstrap.html).
-
@kde Recently, 3 crashes were fixed in #kde #partitionmanager (though none of them should have caused any data loss):
1. Thomas Bertels fixed random crashes (usually after operations were finished) https://bugs.kde.org/show_bug.cgi?id=441916 and which had no reliable reproducer.
2. Sreejith Subhash fixed a crash when trying to remove mount point https://bugs.kde.org/show_bug.cgi?id=432103
3. I fixed a crash when closing the main window before initial authentication was done https://bugs.kde.org/show_bug.cgi?id=451572 -
@harrysintonen @vegard These days we also have #BootstrappableBuilds that prevent this kind of attack (at least at the software level).
-
#partitionmanager now supports setting F2FS labels:
https://invent.kde.org/system/kpmcore/-/commit/b3fb2064b7a9160d69032d1ef4c8be8e7f09a71c
This means you'll need to use non-ancient f2fs-tools package (f2fslabel command was added at some time in 2021)
-
@rsc @timbray Indeed. #ReproducibleBuilds and #BootstrappableBuilds cannot replace auditing source.
-
There is now an interesting guide by @mid_kid (https://mid-kid.root.sx/git/mid-kid/bootstrap/src/branch/master/gentoo-2024/gentoo.txt) on installing #Gentoo from just source and a tiny 200 byte kernel. At the moment it's a bit longish and starts with #livebootstrap then pivots to #LFS to obtain 64-bit toolchain and finally bootstraps #Gentoo from there.
Potentially some steps could be optimized, and #LFS removed but it works.
-
@yrlf @jschauma Reproducible Builds don't help here, you can be reproducibly malicious. What you need is a bit stronger, i.e. #BootstrappableBuilds. If you build the world starting from a tiny sub 1KiB binary, you can prove that there is no self replicating backdoor coming from software. You could still have one from lower levels, e.g. hardware. Those are both significantly harder to implement but also hard to solve.
-
@janneke @jschauma @nixos_org @emilyposting Also Freedesktop SDK (with the exception of rust) uses #bootstrappableBuilds.
-
@ekaitz_zarraga and I have finally bootstrapped #TinyCC on #RISCV starting from GNU #Mes and #MesCC (and eventually tiny #hex0 binary if you go further back).
The binary that we have built is self-hosting and can build itself, though perhaps a few more bugfixes will be needed to reach the newest version of tcc.
-
@janneke @aziz @fsf @fsfe @reproducible_builds @ekaitz_zarraga Indeed! Right now we can bootstrap all the way from #hex0 to #Mes, then use #MesCC to build very first build of #tinycc (we can call it mes-tcc). mes-tcc can then build the next build of tinycc (boot0-tcc). Unfortunately, at the moment boot0-tcc segfaults. Today, I fixed one crash which was due to Global Offset Table being all zeros but it turns out we are now hitting another segfault, so more work is needed.
-
I guess nobody uses backslashes in file system labels... While working on #partitionmanager bug, I noticed that QStorageInfo from #Qt was incorrectly not decoding backslashes and nobody noticed for 6 years.
Should be fixed soon: https://codereview.qt-project.org/c/qt/qtbase/+/489234
-
Spent part of my #RechageDay at #AMD looking at bootstrapping #TinyCC 0.9.26 from #GNUMes on #x86_64 architecture. And thanks to #Mes mantainer @janneke for his help with debugging various issues. We can now build initial #tcc binary and it can even run some simple commands such as --help or -vv.
Unfortunately, we still hit some critical bugs when trying to use this tcc binary to rebuild itself but hopefully we are not far now.