HNHacker News
TopNewBestAskShowJobs

Foxboron

3,717 karma · joined September 24, 2012

Arch Linux Developer, security team and reproducible builds.

https://linderud.dev/ https://github.com/Foxboron

[ my public key: https://keybase.io/fox; my proof: https://keybase.io/fox/sigs/LzugxUxnL-9sr_SJ8i6eMsmBZgyt9294JPRa2nnIl8o ]

submissionscomments
Foxboron··on Upcoming Rust language features for kernel development
> C interop is excellent and has been for years.

Only if you primarily work with `cargo` and want to interact with C from Rust. The other way around has far less support and `rustc` does not standardize the object generation. This is actively preventing projects like `systemd` to adopt Rust into their project as an example.

https://github.com/systemd/systemd/pull/19598

Foxboron··on Arch shares its wiki strategy with Debian
> That's how "I use Arch btw" became a meme.

Not really.

The meme is from 4chan and the /g/ board that had some origins around 2011/2012. Gentoo was the main meme before this.

After 2012'ish the meme-culture from 4chan became mainstream internet culture with the popularity of reddit. Nothing has really progressed beyond that.

> These people have now moved to NixOS.

[citation needed]

Foxboron··on How to Secure a Linux Server
Just quickly skimming it, it contains several outdated blocks of advice and omits other topics.

The most glaring one is the recommendation to use `rng-tools`, which is not needed anymore for the past couple of years.

It was written 6 years ago, and at that point it probably was not great either?

Foxboron··on Managing EFI boot loaders for Linux: Controlling secure boot (2015)
The Linux `vmlinuz` binary is an EFI executable that implements a minimal stub loader to load rest of the kernel and initrd.

You can use `efibootmgr` to insert the `vmlinuz` binary as a boot entry. But honestly, you are better off using a proper bootloader as it makes things a lot simpler for you to manage.

The UEFI bootloader menu is mediocre if you are lucky, terrible in most cases.

Foxboron··on Managing EFI boot loaders for Linux: Controlling secure boot (2015)
>Thanks to updates to sbctl, you can create keys with `sbctl create-keys` rather than typing out complex openssl commands. sbctl's `enroll-keys` should also make the key enrollment procedure easier.

I mean, reading Rod Smiths post is what originally made me write secure boot tooling many years ago. I didn't understand why it had to be soooo complicated.

If you read the original `efi-roller` project I started out with you'll see it's largely just a wrapper around the stuff in Rod Smiths book, that was later refined by actually implementing a proper library in Go and tooling on top.

https://github.com/Foxboron/efi-roller

Foxboron··on The Windows Subsystem for Linux is now open source
The main complaint was the market place TOS that gave Microsoft a free-pass on any trademarked assets. The new WSL2 installation way avoids all of this.

Along with the glibc hacks needed by WSL1.

(I was part of the discussion and also very adamant about this not happening)

Foxboron··on The Windows Subsystem for Linux is now open source
>e.g. there's no Arch from Arch or Microsoft, but there's a completely compatible third party package that gives you Arch in WSL2

No longer true since last month.

https://lists.archlinux.org/archives/list/arch-dev-public@li...

Foxboron··on Memory-safe sudo to become the default in Ubuntu
Just as with the sudo-rs reimplementation, a doas-rs rewrite is not going to solve the inherent issues we get with SUID binaries. We are better off implementing better models (see ssh and run0).
Foxboron··on Memory-safe sudo to become the default in Ubuntu
doas is a really bad option on Linux.

The Linux port has not been maintained for 3 years. Has unmerged rowhammer fixes and generally a yolo auth system best described as "dangerous". You are better off using a well maintained project, that includes the CVEs^Wwarts.

It's a mistake to think that `doas` on Linux is the same as `doas` on BSD.

Foxboron··on Owen Le Blanc: creator of the first Linux distribution
> Debian is pretty old, but it's a 2nd gen distro, borne from dissatisfaction with the very early SLS.

Scratches their own itch, check.

> So was Slackware, but it took SLS and improved it. Slackware is arguably the oldest surviving distro.

Itch scratching, check.

>SuSE has roots as a German version of Slackware. Red Hat's package manager was bolted on later.

Pretty sure this was itch scratching as well.

> Gentoo and Arch are relatively modern, being 21st century projects. Arguably, they're 3rd gen.

Both are itch scratching projects!

> Fedora is a 4th gen distro, younger than any of the others here. Its ancestor was Red Hat Linux, which was contemporaneous with Debian -- but was left behind by Debian's technical encancements: in 1996 or so, Debian introduced `apt`, a package manager with automatic recursive dependency resolution. This put it far in the lead of Red Hat, which still only had RPM and no dependency resolution.

Arch and Gentoo are from 2002, and Fedora from 2003.

Fedora was based on someone starting to package FOSS software for RHEL, more itch scratching!

Foxboron··on Owen Le Blanc: creator of the first Linux distribution
I think all of todays popular Linux distros, Debian, Gentoo, Fedora, Arch, SUSE and so on, are all very much "scratching my itch" projects that somehow managed to outlive the original authors engagement with the project.

It's not like any of them where planning to be used by millions of people.

Foxboron··on Valkey to Replace Redis in the Arch Linux [extra] Repository
The messaging is a bit unclear. Someone will probably update `redis` in the AUR, but the intention is to communicate that if you have `redis` installed from `[extra]` you wont see any updates.
Foxboron··on Fedora change aims for 99% package reproducibility
> That's < 15k packages. Nix by comparison has ~100k total packages they are trying to make reproducible and has about 85% of them reproducible. Same goes for Debian - ~37k packages tracked for reproducible builds. One way to lie with percentages is when the absolute numbers are so disparate.

That's not a lie. That is the package target. The `nixpkgs` repository in the same vein package a huge number of source archives and repackages entire ecosystems into their own repository. This greatly inflates the number of packages. You can't look at the flat numbers.

> However the Nix project was designed from the ground up around reproducibility.

It wasn't.

> It also pioneered architectural approaches that other systems have tried to emulate since.

This has had no bearing, and you are greatly overestimating the technical details of nix here. It's fundamentally invented in 2002, and things has progressed since then. `rpath` hacking really is not magic.

> I think you're grossly misunderstanding the role Nix played in this effort.

I've been contributing to the Reproducible Builds effort since 2018.

Foxboron··on Fedora change aims for 99% package reproducibility
They are not.

Arch hovers around 87%-90% depending on regressions. https://reproducible.archlinux.org/

Debian reproduces 91%-95% of their packages (architecture dependent) https://reproduce.debian.net/

> Disclaimer: I have no affiliation with Nix, Fedora, Debian etc. I just recognize that Nix has done a lot of hard work in this space & Fedora + Debian jumping onto this is in no small part thanks to the path shown by Nix

This is completely the wrong way around.

Debian spearheaded the Reproducible Builds efforts in 2016 with contributions from SUSE, Fedora and Arch. NixOS got onto this as well but has seen less progress until the past 4-5 years.

The NixOS efforts owes the Debian project all their thanks.

Foxboron··on Open-sourcing OpenPubkey SSH (OPKSSH): integrating single sign-on with SSH
You could use `host match exec` instead of `ProxyCommand`. I believe it will run before you end up checking for files on disk.
Foxboron··on Landrun: Sandbox any Linux process using Landlock, no root or containers
Still early but Mickaël Salaün, the author of landlock, is working on this.

https://github.com/landlock-lsm/landlockconfig

I'm going to write up some Go bindings for this when it becomes relevant.

Foxboron··on NixOS is not reproducible
Read the page again.

What are they testing? 99% of what exactly?

What does "path" mean, does it inflate the number?

Foxboron··on NixOS is not reproducible
> With content addressed derivations you can guarantee that any party can recreate bit-by-bit identical copies of derivations

It wouldn't guarantee anything. It would force you, and anyone else, to do massive rebuilds when some binary down the tree changes, or has a regression.

Foxboron··on NixOS is not reproducible
You would think so, but after close to 10 years as a package maintainer it's clear to me that people don't know how make works when you do start doing anything else than `-j1`.

The gcc compiler also fails to reproduce binaries with the LTO streamer backend if you use certain macros. This has the consequence of making cgo binaries unreproducible.

As for Debian, we don't really know how many packages are reproducible. The CI they show is for fuzzing out issues, there are no system currently reproducing distributed packages.

Foxboron··on NixOS is not reproducible
> as computers are deterministic

I have some bad news.

Foxboron··on NixOS Is Not Reproducible
Calling it a "minor naming ambiguity" when people get surprised every time it gets pointed out is underselling the (albeit small) problem.
Foxboron··on The Arch Linux team is now working directly with Valve
> Fingers crossed this means Arch will support the ARM architecture* in the official repositories. There's a related RFC which has been accepted but but I'm not sure where things stand right now.

That is the goal with the work they are sponsoring, yes.

Foxboron··on The Arch Linux team is now working directly with Valve
> This is a weird point, and concerning if it is true, because it seems to assume Arch's rolling release model is a bad model that the Arch team are forced into due to lack of funds, whereas for most of us it is in fact one of the main reasons to use Arch.

This is reading too much into it. The issue is that things like proper build infrastructure and signing enclaves is hard work that is not easy to work out and provide on a volunteer basis.

We (Arch) do not support multiple architectures for the simple reason that it would imply I'd need to watch N number of builds of one package pr architecture. This is what we did for the 32bit version and 64bit version. That's a lot of wasted time, and doesn't help you sell architecture support.

Signing enclave is hard to do right as it requires the technical know-how to do securely and the supported tooling to move the package signing from a pr developer basis to a central signing key. In the long run this would also enable Arch to support Secure Boot.

Foxboron··on Arch Linux and Valve Collaboration
Partially. David Runge held a talk about the Secure Signing enclave at All-Systems-Go.

https://media.ccc.de/v/all-systems-go-2024-263-boring-infras...

Foxboron··on Hy 1.0 – Lisp dialect for Python
There is a reason why Hylang was one of the first official Docker images!
Foxboron··on Hy 1.0 – Lisp dialect for Python
and for those interested in history, Docker was first announced 10 minutes afterwards on the 26:24 mark.
Foxboron··on Hy 1.0 – Lisp dialect for Python
Super happy Hy 1.0 has been released! It was the first proper open-source project I contributed towards and I don't think I would have been as engaged as I am in the community without it.
Foxboron··on Porting systemd to musl Libc-powered Linux
Nobody forced us, Arch Linux, to adopt systemd.
Foxboron··on Go 1.23 Released
https://en.wikipedia.org/wiki/Debian%E2%80%93Mozilla_tradema...
Foxboron··on Go 1.23 Released
It's not 2006 anymore.
← PreviousPage 2 of 17Next →