Elektrine lite

← Feed

@tfb@mastodon.bsd.cafe

Post #2306631

2026-04-26 10:37 UTC

@TomAoki@mastodon.bsd.cafe @jrsharp@mastodon.sdf.org NetBSD runs on an abstraction layer, and only that abstraction layer needs porting. This abstraction of machine dependent parts is pervasive, and is why you can cross-compile it for any platform, from any supported host platform (including other Unixes). My experience hacking on FreeBSD itself is over two decades ago, but the situation back then was: FreeBSD is ported to several platforms. Cross compilation is difficult, and needs to be hosted on a "close enough" host. The machine dependencies are pretty deeply embedded, though it's BSD so porting to a new architecture is still going to be relatively easy. Again, this is out of date, so Free might well have learned some portability tricks in the meantime.

Replies (1)

  • @TomAoki@mastodon.bsd.cafe 2026-04-26 11:45

    @tfb@mastodon.bsd.cafe @jrsharp@mastodon.sdf.org #FreeBSD had proceeded some parts of "abstraction" in this several decades. For example, separation of buses (like ISA, PCI, USB, ...) and devices connected to any of the buses called "newbus" when it was introduced, GEOM for disks, NETGRAPH for networks. But the appoaches would be different with #NetBSD. Putting newbus (current implementation) aside, others were for "flexibilities" over "abstraction for compatibilities". My understanding in difference between aproaches of FreeBSD and of NetBSD would be... FreeBSD: Make it work and stable, fast for running platform in production first. Then, consider making it portable. NetBSD: Make it elegant and portable by separating machine independent (MI) parts and machine dependent (MD) parts. Then, making it stable would be easier to achieve. So the next would be performance tunings. Link to document about newbus (already not "new" bus but "current" bus, though): https://docs.freebsd.org/en/books/arch-handbook/newbus/

    Open ##2306632