8 ms·
A critical look at NetBSD’s installer
- rickcarlino 1y agoI appreciate the Gemini:// cross posting.
- boyter 1y agoI 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/ https://gemini.circumlunar.space/ is now dead, as possibly might be protocol.
- trinix912 1y agoThe cert has expired, but the site is still there if you click through the warnings. Edit: no it just redirects to https://geminiprotocol.net https://geminiprotocol.net which seems to be the new official site
- rickcarlino 1y agoMany 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 1y agoReally? 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 1y agoNice, I have to figure out how to add that to my site.
- unethical_ban 1y agoIIRC it can't even show images, which I see as a big issue. I'm usually a fan of alt protocols.
- rickcarlino 1y agoThere are clients that can preload embedded images in 2025. Lagrange can handle this via config.
- prmoustache 1y agoClients do the f they want. The protocol doesn't prevent it.
- jmclnx 1y agoI also like the gemini link, this will be helpful for people on old systems :) Some links: https://geminiprotocol.net/docs/specification.gmi https://geminiprotocol.net/docs/specification.gmi https://en.wikipedia.org/wiki/Gemini_(protocol) https://en.wikipedia.org/wiki/Gemini_(protocol)
- JSR_FDED 1y agoGreat 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_ 1y agoI wonder how the screenshots were taken. The installer run in a VM?
- JdeBP 1y agoThat 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 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 1y agoDid 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 1y agoI 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?
- rahen 1y agoInteresting 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 1y agoI'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-menus 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 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. (-:
- jmclnx 1y agoA 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/ 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 1y agoFor 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 https://mastodon.social/@emaste/114625612735189948
- hulitu 1y 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 1y agoThis 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/9213be19d4b9057bbb074ab1c63400e3eb3920d3/sys/arch/i386/stand/mbr/mbr.S#L373 https://github.com/openbsd/src/blob/9213be19d4b9057bbb074ab1...