frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

A critical look at NetBSD’s installer

https://eerielinux.wordpress.com/2025/05/31/installing-bsd-in-2025-part-3-a-critical-look-at-netbsds-installer/
108•jaypatelani•1d ago

Comments

rickcarlino•1d ago
I appreciate the Gemini:// cross posting.
boyter•1d ago
I had never seen this before. Although I am now trying out lagrange and seeing what it can do.

Sorry for hijacking the thread on what is a great post, but is gemini common these days? This is literally the first time I have ever seen it, and it seems fairly interesting, albeit deliberately limited.

Annoyingly the learn more about it link https://gemini.circumlunar.space/ is now dead, as possibly might be protocol.

trinix912•1d ago
The cert has expired, but the site is still there if you click through the warnings.

Edit: no it just redirects to https://geminiprotocol.net which seems to be the new official site

rickcarlino•1d ago
Many HN users can’t seem to get past some minor issues about the spec. Despite this, it’s a working protocol that has a critical mass of real world users, mostly bloggers (which is what the spec author mostly had in mind). One of my blogs on Gemini has a “like” button and it gets several clicks a week, indicating that people are indeed reading my content in Gemspace.
JdeBP•1d ago
Really? Is that actually really true that they cannot get past the spec?

Because I followed the Wikipedia article to the article on The Register. Whoever wrote Wikipedia summarized El Reg's entire article as how gemini has been critized for excluding people. 1 sentence. But that's only what the headline says, for clickbait. The actual article body paints a very different picture, including the rather subtle (by Register standards) rebuttal of that criticism by pointing out that WWW browsers and the Internet are not in an everything-is-a-nail-and-I-have-this-hammer situation.

So I wonder how true it really is that there's this wave of criticism, and how much that is rather inferred from people reading headlines and nothing else beyond them. Like the Wikipedia author did.

That said, having discovered the existence of Gemini today, I am now wondering how much of a doddle it would be to add a gemini UCSPI-TCP server (which would obviously have to sit behind something like Hoffmann's sslserver) to Bernstein publicfile. The publicfile way would of course have a separate off-line tool to turn index.gopher into index.gemini, once at content generation time instead of over and over at runtime.

Hmmm.

Stop giving me distractions, people! I'm supposed to be getting the next djbwares running on NetBSD. (-:

P.S. I have had the GOPHER server that I added to publicfile running for some time. I use it to publish a not-very-secret list of packages and source archives. It gets some quite odd requests in its logs.

jmclnx•1d ago
Nice, I have to figure out how to add that to my site.
unethical_ban•1d ago
IIRC it can't even show images, which I see as a big issue. I'm usually a fan of alt protocols.
rickcarlino•1d ago
There are clients that can preload embedded images in 2025. Lagrange can handle this via config.
prmoustache•5h ago
Clients do the f they want. The protocol doesn't prevent it.
jmclnx•1d ago
I also like the gemini link, this will be helpful for people on old systems :)

Some links:

https://geminiprotocol.net/docs/specification.gmi

https://en.wikipedia.org/wiki/Gemini_(protocol)

JSR_FDED•1d ago
Great that you took the time to do a thorough and constructive write up!

The perspective of an otherwise knowledgeable user who is new to something is incredibly valuable.

sam_lowry_•1d ago
I wonder how the screenshots were taken. The installer run in a VM?
JdeBP•1d ago
That would be one way to do it, certainly. It's boring, though. (-:

There is another. In NetBSD one can, at least according to the manual, open the wsdisplay of the relevant terminal and read out the display contents, with the WSDISPLAYIO_GETWSCHAR I/O control. sysinst is just a full-screen TUI program.

* https://man.netbsd.org/wsdisplay.4

(The manual says that character values are "ASCII", but the data structure uses a 16-bit unsigned integer for them. So I wonder whether this is UCS-2 or NetBSD has been saddled with some 512-entry character set mess from back in the 1990s.)

Presumably there is a third one if the virtual terminal's wsdisplay is in graphics mode and one can access its frame buffer.

There was also a fourth for the serial console screenshots, although they were clearly done the boring way by screenshotting a GUI window, as its scrollbars are visible in the images. Presumably the terminal emulator at the other end of the connection had some sort of direct screen shotting functionality. That was definitely something that serial device DTE emulator programs in the days of yore used to have.

That's an interesting thought, actually. I wonder whether one could do that at all with many Unix/Linux tools, like GNU screen in its serial terminal mode. One could with (some of) the terminal emulators that used to be available for MS/PC/DR-DOS. There would be some "dump screen to file" menu option, or in extremis a TSR program that could do that. (-:

actionfromafar•1d ago
Did not have "being jelaous of NetBSD wscons framework" on my bingo card.

How does one make a "screenshot" of a TUI program? The classic terminal APIs don't have a "framebuffer" (or "textbufffer" I guess) from what I can tell.

I could use such a mechanism to create automated screenshots of a TUI program (using Terminal.GUI in this case) for documentation generation.

fredoralive•1d ago
I assume NetBSD supports some sort of multiplexing for the local console? In which case it will need to have some sort of text buffer for each virtual terminal to maintain state when it’s off screen, and I guess they’ve decided to expose it to the outside world?
JdeBP•1d ago
Don't be too envious. Linux kernel virtual terminals have "vcsa" devices that one can read for this sort of thing. And it's right there in the manual page how one does this.

* https://man7.org/linux/man-pages/man4/vcsa.4.html

They suffer from being straight copies of CGA, which has historically had a lot of conflation of boldness and brightness, as well as a very limited colour gamut that will make you weep at what your 256-colour TUI programs are reduced to. The NetBSD ioctl supposedly has a bold attribute in a separate field of the structure to a bright colour. Which in the backwards-thinking world of terminals where some people still have the CGA Think that bold=bright, is almost heresy. Still. In 2025. (-:

If you are looking for this sort of thing in a GUI/TUI terminal emulator that is a user application program, rather than the terminal emulators that are built into the NetBSD kernel or into Linux, then that's a different kettle of fish entirely. I know of one that provides a direct vcsa workalike. I wrote it.

* http://jdebp.info./Softwares/nosh/guide/commands/user-vt.xml

GNU screen works by having a server maintaining a buffer, and a client that attaches to the server and then renders that buffer's contents onto the client's own terminal. So in theory one might be able to access the display of GNU screen in a similar manner by making something that pretends to be a client. But how much of this mechanism even operates when GNU screen is in serial terminal mode, I don't know off the top of my head.

The same goes for tmux, of course. And indeed mosh. Although the documentation of the actual protocol was a not-done to-do item, promised in the early publicity for mosh but never delivered, for years. I kept checking back for quite a while to see whether they'd documented it as promised.

There's at least one GUI terminal emulator that stores its scrollback area to file, but only the scrollback area. GUI terminal emulators generally do not expose this sort of thing, though. It's some complex private data structure in the emulator process's memory, usually.

All that said, wscons is a fairly good-looking API. Certainly better than the undocumented mess that is fbio.

actionfromafar•1d ago
Thank you very much. I'll go back to this and do some testing.

Maybe also something like

    tmux capture-pane -pS -1000 > tui_snapshot.txt

will work
topsecret•1d ago
The installer was run in a VM, so presumably that's how screenshots were taken.

> Both installations will be in VMs just for the sake of convenience.

gawa•1d ago
That's what I understood as well. Also, the author mentions:

> The installation succeeded, but the system would panic during boot. *Bhyve is more of a niche thing and not among the hypervisors supported by NetBSD*, [...]

I am guessing what he meant was rather "the support of NetBSD (as a guest OS) by the hypervisor Bhyve", because Bhyve is an hypervisor running on FreeBSD. Given the other posts on the blog, it would not be surprising if the author was daily driving FreeBSD while doing this experiment, and Bhyve is well maintained and probably the best fit in the BSD world for this. I don't even know if OpenBSD's vmm can virtualize something else than OpenBSD.

From https://wiki.freebsd.org/bhyve :

> Q: What VM operating systems does bhyve support?

> A: bhyve supports any version of FreeBSD i386/amd64. OpenBSD, NetBSD, illumos and GNU/Linux are supported using the UEFI and the sysutils/grub2-bhyve port.

ho_schi•1d ago
On Linux there is the handy fbgrab. I guess they have something similar.

https://github.com/GunnarMonell/fbgrab

You also can set timeouts and switch between virtual terminals.

PS: I’m love good TUIs. Clean and concise and it is surprising how well user can use them. If - they’re well made. I think the installer of Debian or Linux menuconfig are good examples.

numpad0•1d ago
Cheapest HDMI splitters are ~$10 and compressing capture cards are ~$5, it's not hard or expensive anymore to capture display contents at emergency or illustrative use quality if these weren't VM screenshots or taken through OS feature.
rahen•1d ago
Interesting perspective. sysinst could certainly use better ergonomics, but I wonder whether he’s really approaching NetBSD like a typical user would - someone after a classic Unix experience on modern hardware.

With an old-school Unix mindset myself, I’ve always found the CLI installers of OpenBSD and Alpine Linux cleaner, more straightforward and in line with that philosophy. Honestly, I’d rather see sysinst replaced by something along those lines.

JdeBP•1d ago
I've had the classic Unix experience. It's not something that a typical user of the 21st century would either want or enjoy. There was everything from modem line noise to whether it was BS or DEL this week that actually erased a character. And yes, things like what is pointed out in the article: output from other places randomly overwriting the UI of a full-screen (curses) program.

We who lived through the classic Unix experience also remember how at the time MS/PC/DR-DOS had things that we 300 BPS terminal users could but dream of, like an Alt key that just worked and highlighted menu option accelerators when one pressed it. And function keys that didn't just cause a mess, or beeps, or surprise commands to happen.

Typical users of the 21st century would be appalled when faced with it. And there's probably no retrocomputing enthusiast that is quite that masochistic. (-:

Much of what sysinst does is just farmed out to tar, pkg_add, ifconfig, and other programs. It even handily prints their command lines at the top of the screen when they are running. So someone who wants a CLI rather than a TUI, and not really the actual "classic Unix experience", could just run those programs. And there's probably room for an installer that does the same thing as sysinst but in the old text-adventure-game style of print-menu-prompt-for-line-with-selection for people with printer terminals. (-:

Like AIX 7's installer:

* https://ibm.com/docs/en/aix/7.3.0?topic=system-using-bos-men...

But don't knock full screen TUI programs like sysinst. There's definitely a place for them, and on the commercial Unices, where the vendors had gone to some effort to make the installation and configuration programs user-friendly, they were the "classic Unix experience". SCO had one, for example. They even managed to have it recognize F1 for help.

* https://sco.com/products/openserver6/reviewers_guide2.html

Function keys. F1 for help. This stuff for contemporary Unix people was like the "Classic MS-DOS experience", but at the time when PC users were using GUI installation programs in DOS+Windows 3. (-:

rahen•1d ago
I'm not sure anyone invoking "classic Unix" is pining for modem noise or line printers, though that seems to be how you're interpreting it. That’s more a caricature of early computing than what defines the Unix philosophy or what NetBSD preserves.

When I say classic Unix, I really mean "simple software":

- Text-first, scriptable interfaces where tools do one thing well and can be composed

- Human-readable configuration in plain files, no XML or opaque binary blobs

- Predictable, minimal system design where you can understand what’s happening under the hood without chasing abstraction layers

- Manual pages that matter, and a userspace that favors understanding over wizard-driven opacity

- A system that’s BSD-like in spirit: clean, coherent, documented, and built by people who care more about correctness and clarity than flash or trends

This is in contrast to modern Linux distributions where systems are often a tangled mess of systemd units, layers of more or less obscure daemons and processes, unpredictable behaviors, and YAML/JSON/XML-based abstractions that sit between you and the actual system.

So no, I'm not glorifying the past or pretending users in 2025 would enjoy a serial terminal setup from 1984. I’m saying that a clean, simple, consistent, modular Unix, in the traditional sense, is still valuable and NetBSD is one of the few OSes that still embodies that ethos.

bitwize•1d ago
That romanticizes a vision of Unix that hasn't existed for like four decades, aside from maybe Xenix bitty boxes from Radio Shack servicing two terminals in auto shops, video stores, and the like. People bought Unix workstation and server systems specifically to run large, complex applications. Applications that did many things and kept their configuration in binary blobs or XML files. Stability, security, comprehensiveness, and ease of administration are stronger selling points for these systems than simplicity.

As an example of how comprehensive beats simple in the real world, consider Microsoft Outlook. Not just email, but calendaring and contact management. Microsoft's engineers discovered that in the business world, these things go together and bundled them into one, well-integrated program. Outlook ate everybody's lunch, including Windows-based mail clients like Eudora. Integration with Exchange let these services be provided together on an organizational level, fully integrated with Active Directory, and Exchange came to dominate email server deployments over Unix-based solutions which were more piecemeal. Easier to administrate as well.

NetBSD is a fantastic tinkerer's operating system, one of the most hackable ones out there. But let's not kid ourselves here. The philosophy it supposedly embodies hasn't really served real needs in a long time, if ever. Customers want solutions, not hacks held together with shell and Perl scripts.

yjftsjthsd-h•1d ago
> As an example of how comprehensive beats simple in the real world, consider Microsoft Outlook.

Yes, do consider it: Outlook is great at ticking checkboxes, resulting in a product that is widely adopted and sucks to use.

shrubble•23h ago
This is hilarious because I am finishing up the installation of an extremely large complex and expensive project that is fully N+1 fault-tolerant and it uses Perl scripts for nearly everything; it’s a telecom grade SS7 phone switch with custom hardware and the supervisor part is Linux based.

All the customization and service startup is done in plain text and Perl, from what I’ve seen so far.

jrockway•1d ago
I agree with that. Modern Unix is a 6-of-one-half-dozen-of-another type situation. Yes, terminal emulators and the termcap database are improved. But now, the traditional Unix user might be surprised at how things are done. I have accepted that ... systemd ... manages my networking now (ok, it's networkd or something I guess?). But if you can't accept that, it's good to have some option that just uses ifconfig.
miladyincontrol•1d ago
> a tangled mess of systemd units

Ironic you use that term when a number of systemd units is often the simplest way of cleanly, reliably orchestrating services and daemons, doubly so when theres any level of complexity or limitations you want to confine one too.

Its cute to romanticize a bunch of scripts to run and orchestrate things but its a nightmare I'd not wish upon my enemies. Less moving parts, yet conceptually more complex to properly manage beyond the basics with far more that can and likely will go wrong.

shrubble•23h ago
Systemd has its challenges in real world situations; it has given me enough downtime that I don’t run it on any servers that I am responsible for-I use Devuan which is a systemd-free Debian or preferably a BSD.

I will save you my further comments which descend into a rant :-)

LargoLasskhyfv•11h ago
> Text-first, scriptable interfaces where tools do one thing well and can be composed

emacs

> Human-readable configuration in plain files, no XML or opaque binary blobs

emacs

> Predictable, minimal system design where you can understand what’s happening under the hood without chasing abstraction layers

Maybe emacs

> Manual pages that matter, and a userspace that favors understanding over wizard-driven opacity

Probably emacs. Do I care about man when there is info?

bitwize•1d ago
A "typical user of the 21st century" does not want to install an OS, ever. They use what comes preinstalled on the device.

If an OS has to be installed by the end user, it is niche.

spookie•1d ago
It's an impossible task to meet what typical 21st century users expect. For that, the OS would have to come pre-installed.

Furthermore, most typical users today are so entrenched in commercial software, and their walled gardens they wouldn't even attempt to use an OS without that software.

People don't own their devices anymore.

hiAndrewQuinn•1d ago
The OpenBSD and Alpine Linux CLI installers are honestly a high-water mark for me when it comes to high risk applications where getting it wrong might mean a bricked installation. More people should book out 20 minutes to just spin up a VM and try them out for themselves, to see how nice a good old fashioned command line approach can be!
jmclnx•1d ago
A rather fair review and the partitioning step can be confusing to new users. A first time user should read the Guide a few times and maybe refer to it during install. It renders fine on a smartphone.

https://www.netbsd.org/docs/guide/en/

One thing to note, if you create a separate /usr and/or /var partition, y0u really should (must) add this line or similar line to /etc/rc.conf

critical_filesystems_local="/var /usr"

otherwise you will get odd boot errors/warnings, Dir order does not matter.

JdeBP•1d ago
For completeness, as I pointed out on the FediVerse: The article has things backwards when it comes to partition table schemes. It's the older firmwares that place the requirement on what partitioning scheme is used; not the newer ones. So the suggested change to one of the forms, as it stands, would be telling users the wrong thing.

And Ed Maste has confirmed that FreeBSD is quite happy to accept non-U.S. keyboard layouts, contrary to the implication that NetBSD accepts them where FreeBSD has not. Even more ones, that is. (-:

* https://mastodon.social/@emaste/114625612735189948

hulitu•1d ago
> Yes, since /usr and /var are initially of size 0, one can deduce that allocating no space to it will probably make the installer discard them

Why would the installer discard them if you created them ? Do what i mean, not what i say ?

JdeBP•19h ago
This is the same question as: Why does changing the number of items to zero in an item line in an order on one's on-line shopping cart delete the entire item line? And the answer lies in the same user expectations from collective experience of this, rightly or no, being the model.

From the perspective of the pure techicalities, disregarding the shared user experience model, a size zero partition will break a lot of stuff, as there's a lot of stuff that assumes that DASD slices have at least one block, a VBR or a superblock of some kind that determines the volume format.

There's probably an enormous amount of code in firmwares, boot loaders, operating systems, and applications programs that does not check that block 0 is legally within the DASD slice limits. Although the ones that look for superblocks in other than block 0 might do such range checks, there's almost always an assumption that of course there is a block 0.

A case in point is the MBR in block 0 of the entire DASD, used by old firmwares to load the VBR of the bootable volume. There's often no check for a non-zero size in such code.

Here's OpenBSD's MBR code, just for starters. It has no range checking for zero size partitions.

* https://github.com/openbsd/src/blob/9213be19d4b9057bbb074ab1...

A Technique of Pure Reason

https://www.lesswrong.com/posts/qSgcmfv8nxZyYofNb/a-technique-of-pure-reason
1•ibobev•2m ago•0 comments

Musk Calls for Trump to Be Impeached

https://www.mediaite.com/politics/breaking-elon-musk-calls-for-trump-to-be-impeached/
3•geox•3m ago•0 comments

Show HN: Ask-human-mcp – zero-config human-in-loop hatch to stop hallucinations

https://masonyarbrough.com/blog/ask-human
1•echollama•4m ago•0 comments

From No Hope to a Potential Cure for a Deadly Blood Cancer

https://www.nytimes.com/2025/06/03/health/multiple-myeloma-car-t-immunotherapy.html
1•bookofjoe•7m ago•1 comments

Show HN: Claude Composer

https://github.com/possibilities/claude-composer
6•mikebannister•8m ago•0 comments

Machine Learning: The Native Language of Biology

https://decodingbiology.substack.com/p/machine-learning-the-native-language
2•us-merul•9m ago•0 comments

Take ChatGPT back to the 2010s and they'd think AGI arrived, says Altman

https://www.theregister.com/2025/06/05/openai_altman/
1•rntn•10m ago•1 comments

What a developer needs to know about SCIM

https://tesseral.com/blog/what-a-developer-needs-to-know-about-scim
1•noleary•13m ago•0 comments

Proxy Services Feast on Ukraine's IP Address Exodus

https://krebsonsecurity.com/2025/06/proxy-services-feast-on-ukraines-ip-address-exodus/
3•todsacerdoti•15m ago•0 comments

Can Europe Unplug from Trump's America?

https://www.thenewworld.co.uk/natasha-lomas-can-europe-unplug-from-trumps-america/
3•TechTechTech•18m ago•1 comments

Show HN: Explainr – Upload a research paper and get a learning roadmap

https://explainr.aryanbuilds.com
1•mulitet4•23m ago•0 comments

Tip: Put your Rails app on a SQL query diet

https://andyatkinson.com/tip-track-sql-queries-quantity-ruby-rails-postgresql
2•andatki•25m ago•0 comments

Layouts.dev – A notebook for building interfaces with Tailwind and Shadcn/UI

https://layouts.dev/
3•WillieCubed•27m ago•0 comments

Elon Musk Suggests Trump Is in Epstein Files, a Source of Endless Conspiracy

https://www.nytimes.com/2025/06/05/us/elon-musk-trump-epstein-files.html
5•donsupreme•29m ago•0 comments

OriginUI

https://originui.com/
3•handfuloflight•31m ago•1 comments

Building a Smarter Chatbot – Why You Need FAQ-Links and RAG

https://00f.net/2025/06/04/rag/
2•bohinjc•35m ago•0 comments

Phasing out Bazaar code hosting

https://discourse.ubuntu.com/t/phasing-out-bazaar-code-hosting/62189
1•progval•37m ago•0 comments

Accelerometer-Measured Physical Activity and Neuroimaging-Driven Brain Age

https://spj.science.org/doi/10.34133/hds.0257
1•gnabgib•38m ago•0 comments

You're not still using Windows XP, are you?

https://www.computerworld.com/article/2091600/youre-not-really-still-using-windows-xp-are-you.html
3•pipeline_peak•39m ago•1 comments

1k-year-old Native American fields defy limits of farming

https://phys.org/news/2025-06-archaeologists-uncover-massive-year-native.html
1•geox•39m ago•0 comments

Aurora – 500-watt SDR ham radio transceiver announced

https://www.flexradio.com/aurora/
1•cylinder714•46m ago•0 comments

Why I Let Wikipedia Block Me (So It Would Remember Me Forever)

https://lightcapai.medium.com/why-i-let-wikipedia-block-me-so-it-would-remember-me-forever-54300bee8e60
1•WASDAai•47m ago•0 comments

Woman sues IBM over lost job, claims she was passed over because she is white

https://www.universalhub.com/2025/boston-woman-charges-she-didnt-get-executive-job-ibm-because-shes
3•ilamont•48m ago•0 comments

Launching Kaizly – summer learning made simple for your child

https://kaizly.com
1•jetsrfast•53m ago•1 comments

Feds charge 12 more suspects in RICO case over crypto crime spree

https://therecord.media/feds-charge-12-suspects-in-rico-crypto-heist
3•PaulHoule•53m ago•0 comments

Show HN: String Flux – Simplify everyday string transformations for developers

https://stringflux.io
6•eaglepeak•55m ago•0 comments

Gleam JavaScript gets 30% faster

https://gleam.run/news/gleam-javascript-gets-30-percent-faster/
3•Alupis•57m ago•0 comments

Show HN: Dietnb – Prevent Jupyter notebooks from bloating with Base64 images

https://github.com/JinLover/dietnb
1•JinLover•58m ago•0 comments

How to Improve Data Quality

https://blog.engora.com/2025/03/how-to-improve-data-quality.html
3•Vermin2000•59m ago•0 comments

A short history of Greenland, in six maps

https://www.economist.com/graphic-detail/2025/06/04/a-short-history-of-greenland-in-six-maps
1•bookofjoe•1h ago•1 comments