News for hackers. Stuff that matters.

janneke

Re:Guix on the Framework 13 AMD on Friday February 16, 2024 @10:35AM (#39398404)
It can get even funnier when Chris Baines replaces the Nix daemon with a new implementation in Guile. Then, the NIH argument can be reused instead.
That's a great compliment as I think the core vision of GNU is that all software should be free (<https://www.gnu.org/philosophy/shouldbefree.en.html>).

Although keeping software proprietary or writing proprietary software may have become somewhat unpopular in some niches (I'm not sure it's incredible unpopular seeing how many people and institutions still use and often advocate Apple, MicroSoft, use FaceBook, WhatsApp, whatsnot...), I'm not yet convinced that many people (say more than 1%) really believe that all software should be free and act on that?

Have you tried reading the code? It's twice as large (107KLOC) as ext4 (45KLOC), where ext4 is viewed as a natural evolution of ext2 (7KLOC).

45KLOC of C code already sounds really scary to me, although yeah, journaling is really nice to have.

GNU is not an ecosystem (see <https://www.gnu.org/philosophy/words-to-avoid.en.html#Ecosys...>), it's a philosophy.

Yes, it's old. Yes, there's only little interest. Yes, there are _still_ many technical problems.

The interesting thing here is that technical problems can be solved, and will be solved given enough time. Heck, I've heard rumors that even Windows does not crash multiple times a day anymore.

Focussing and working on what is popular will most likely create a world that is less free every year. Some people rather work on something that seems right and promises a better, freer future. Even if it's not popular (right now), even if it has a high probability of failure.

Popularity is a very volatile property...

Hurd does not support USB devices, officially, just yet, but these are surely exciting times. Unless maybe you're a capitalist ;-) <https://lists.gnu.org/archive/html/bug-hurd/2023-06/msg00158...>
By reading the fine manual (<https://guix.gnu.org/manual/en/html_node/Virtualization-Serv...>) or blog post (<https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes...>).

TL;DR; Add this

    (service hurd-vm-service-type
             (hurd-vm-configuration
              (disk-size (* 5000 (expt 2 20))) ;5G
              (memory-size 1024)))             ;1024MiB
GNU Shepherd system service description to your system configuration, and reconfigure; then just do something like

    sudo herd start childhurd
    ssh -p 10022 root@localhost
If you're not using Guix System, you can still download a prebuilt QEMU image from <https://guix.gnu.org/en/download/latest/>:

    wget -O hurd-latest.img https://ci.guix.gnu.org/search/latest/image?query=spec:images+status:success+system:x86_64-linux+hurd-barebones.qcow2
and do something like:

    qemu-system-i386 -m 2048 --enable-kvm --hda hurd-latest.img
Enjoy!
Rumpdisk on a GNU Guix childhurd: https://toot.aquilenet.fr/@civodul/110848429561223704

just one simple `guix system reconfigure' away!

Guix Hurd on my thinkpad x60: https://todon.nl/@janneke/110451493405777898

yeah, that's real (old, but not ancient) iron.

Enjoy!

Re:Debian GNU/Hurd 2023 released on Wednesday June 14, 2023 @10:43AM (#36326762)
What I don't understand is why people are so willing to install and run opaque binary blobs, even is it's from/supporting free software-hostile Evil Corp. I've been running GNU Guix, which uses Linux-Libre--i.e., no blobs-- on my Dell XPS-13 and Lenovo x270. The only change I needed to make to buy my freedom was install an atheros wifi card (yeah, proprietary bios sucks, buy puri.sm).

And while Guix/Hurd isn't there yet as a daily driver (Debian/Hurd is much more polished), progress has been pretty exciting lately and it now runs on my IBM x60 -- https://todon.nl/@janneke/110451493405777898

Re:A minimal C compiler in x86 assembly on Tuesday May 03, 2022 @09:08AM (#31247807)
Ah no, there is no competition, at least not yet ;)

Stage0---of with cc_x86.c is a part---as a project started off from the bottom (hex0) and is working up. When stage0 just started, I created GNU Mes soon to be folowed by MesCC, which aimed to build a version of TinyCC and the remaining bootstrap for GNU Guix. The first versions of mescc had its own linker, which was later in a joint effortt replaced by M1 and hex2 from MesCC-Tools (also part of Stage0.

My initial idea for Mes was to translate it by hand to assembly, so the M1 assembler would come in handy. As it turned out, cc_x86.c and its next step M2-Planet were developed as part of Stage0.

Starting from an 357-byte hex0 provided by the bootstrap-seeds, Stage0-posix builds hex0, kaem, hex1, catm, hex2, M0, cc_x86, M1, M2, get_machine, (mescc-tools), and M2-Planet. M2-Planet in turn builds Mes, which builds a bootstrappable TinyCC, etc.

Re:Guix Further Reduces Bootstrap Seed to 25% on Monday June 15, 2020 @12:58PM (#23529666)
NixOS is an awesome system and Guix owes much to it and its creator, @edolstra.

Although GNU Guix is my personal preference, I believe that NixOS is an excellent choice and for the most part we have a shared vision.

If you are still using a legacy system, you'll want to try NixOS or GNU Guix!

Re:Guix Further Reduces Bootstrap Seed to 25% on Monday June 15, 2020 @12:48PM (#23529465)
I have been using GNU Guix for over 4 years now on a modern Dell laptop (exchanged the WIFI card to keep my freedom), two older thinkpads, home server.

Since three years our development team at work uses Guix; the reproducible offload builds are awesome. Extending the package graph with your own version of packages is very helpful. Since about a year we also use server(s) at Digital Ocean running GNU Guix.

Re:Guix Further Reduces Bootstrap Seed to 25% on Monday June 15, 2020 @12:17PM (#23529044)
For those who are not into free software, or do not believe in user freedom, I believe there's already an excellent choice of software options, many of which will also sell your privacy. You will not find GNU to compete, good luck!
Re:GNU Mes 0.17: towards bootstrappable builds for GuixSD on Friday December 07, 2018 @02:06AM (#18625691)
> This seems like a really neat idea! I think it would be cool to use > plain source code to completely bootstrap a system.

Technically that's what we are working towards. Idealogically, we are working towards moving awarenes in our communities from `neat idea' to `unbelievable that in 2018 we still used and trusted computers that had no bootstrappable audit trail!'

> But, at the same time, this sounds like a maintenance nightmare! > Maintaining older or smaller versions of software just to avoid > self-hosting is bound to hit all kinds of bugs - big and small.

You are not suggesting that we stop our efforts because it will require work and may contain bugs, rigth? ;-)

Until now, this has been the effort of a very small team. The choice for tcc-0.9.26 and gcc-2.95.3 was a pragmatic one. We hope that when awareness of bootstrappable software rises we can make some better choices.

I would love for the TinyCC and GNU GCC developers (any software developers, really) to take the lead in creating their own bootstrappable stories; we just showed it can be done.

> At the same time, I'm not convinced this completely solves the > problem. Maybe you can trust your C compiler now, but can you trust > your Bash interpreter, or your sed command?

Right, doing only part of the work does not solve the problem. The solution will be built from a number of such steps. One of those steps may involve hardware; I'm sure it's a long path.

> What stops them from injecting things into your C compiler while > it's building. At the end of the day, you have to trust some > software, why not include your C compiler in this list?

Some of us have decided that is just not good enough, that we would like our softwares not only reproducible but also bootstrappable, and are we working towards that.

There is Stage0 and M2-Planet to take care of what's below Mes.

We have also started work on a Bash replacement in Scheme (using GNU Guile initially) that comes with a minimal implementation of coreutils, grep, sed, tar. I have managed to build GNU make and Bash using that: https://twitter.com/janneke_gnu/status/1070434782973063168

> Anyway, I am much more concerned about much higher places in free > software bootstrapping. Lots of software has switched from Autotools > to Meson without thinking about how we will bootstrap this > stuff. Meson requires you to have Ninja to work, but how can I > bootstrap Ninja without Python?

Surely that the technical part of that problem can be solved quite easily once the respective developers of those projects are becoming aware of bootstrapping and reproducibility and decide to give it priority?

Happy hacking! janneke