NetBSD 9.0
netbsd.org
netbsd.org
Grateful for this
[0] https://mail-index.netbsd.org/current-users/2020/02/14/msg03...
I remember hacking on MINIX 2 (which is an entirely different (and tiny) codebase) in the university's Intro to OSes course to speed up the keyboard repeat rate on the physical MINIX PCs in the computer lab. Interestingly, the course now uses FreeBSD.
I hope MINIX 4 or a similar project would:
- use seL4 as the kernel
- also be a Type-1 hypervisor (like Xen or ESXi)
- BSD-derived userland (as MINIX 3)
- port FreeBSD's Linux binary compatibility
* NVMM — hypervisor compatible with QEMU. https://news.ycombinator.com/item?id=19622590. http://blog.netbsd.org/tnf/entry/from_zero_to_nvmm.
* KASLR — kernel address-space layout randomisation. https://news.ycombinator.com/item?id=15769457. http://blog.netbsd.org/tnf/entry/the_strongest_kaslr_ever.
Both were done by the same person, BTW, who also found a serious bug in OpenBSD's VMM hypervisor earlier today, too — https://news.ycombinator.com/item?id=22336962.
https://git.sr.ht/~sircmpwn/builds.sr.ht/tree/master/images/...
But I need a NetBSD expert to come in and put on the finishing touch: making the filesystem resize to fill the available space on the qcow2. Without this, the image cannot build a new version of itself which isn't smaller than the host image, leading to image shrinkage over time and eventual breakitude.
resize_disklabel=YES
resize_root=YES
The second script is available by default, but the first one is somehow hidden from general availability:* http://bxr.su/n/distrib/utils/embedded/files/resize_disklabe...
* http://bxr.su/n/etc/rc.d/resize_root
You can fetch it raw, it seems to work great:
cd /etc/rc.d/
ftp http://bxr.su/raw/NetBSD/distrib/utils/embedded/files/resize_disklabel
chmod +x resize_disklabel
The `resize_disklabel` script does handle `fdisk`, too. If it doesn't work for your usecase, might want to provide the output of running `/etc/rc.d/resize_disklabel` manually, together with `fdisk` and `disklabel` outputs, too.P.S. BTW, you probably don't want to run `resize_root onestart` once the system is running multiuser — it passes `-y` to `resize_ffs`, which causes temporary filesystem corruption if the filesystem is running in `rw` mode.
Well, that's more than a decade overdue. It looks like they added a NVMe driver in 8.0 that's not shockingly primitive, so I wonder why SATA was lagging so far behind.
Never tried NetBSD ever since I tried FreeBSD nearly 20 years back and OpenBSD several times since then.
To this day NetBSD doesn't deliver binary security updates in a timely manner. Not in the base system and not for packages. Even OpenBSD manages to do this nowadays. If there is even a patch at all, it is delivered in source form only. Users are supposed to build the binaries for themselves. That's anachronistic in the year 2020.
Building from source consumes not only time but also energy. When everyone talks about saving energy and reducing carbon footprint, source based systems where every user is supposed to build binaries from sources are a not only a waste of time but are also contributing to the climate crisis.
I funded and helped stabilize a technology called Epoch Reclamation into FreeBSD that can be thought of like a cleaner version of Linux' RCU at least for tracking object liveness. One of the most interesting things I've seen go into FreeBSD recently is a further improvement on that, a novel form of safe memory reclamation directly in UMA: https://reviews.freebsd.org/D22586. This is really exciting because for instance RCU suffers from time of use to time to free issues in Linux, and this new holistic approach really does not for fast turnover workloads.
NetBSD does have a form of SMR called pserialize(9), but ignoring some of the algorithmic weaknesses it also has a lot of global or oversized locks in critical subsystems like the VFS and network stack that turn it into a fairly non-SMP friendly system let alone consideration for different memory latencies like NUMA.
A lot of these ideas from FreeBSD can be copied into Net and Open but the code bases have diverged greatly where it's not some simple forklift (for instance Net and Open use a similar kernel memory allocation that is totally different than Free).
I don't know, what does NetCraft say?
Does NetBSD run on Hot Grits yet?
It can be a bit refreshing to use something where there is a reasonably well-documented "correct" tool to use.
Also, while GNU/Linux is generally portable, many of the things you learn about Ubuntu will be different on what you'd run on a Raspberry Pi, or an UltraSPARC, or on a PowerPC.
NetBSD is the same OS on all the hardware it supports, so the system consistently does what it does regardless of where it's run. If you want to develop on a desktop and deploy on a Pi, for example, you'll have a much easier time with NetBSD :)
Unless you’re defending against zero days (unlikely) an up to date Linux box must surely be more secure?
It has pretty decent support for ARM boards so that's the best hardware for trying it out, or not-too-recent x86 hardware. Another use case people have is using esoteric old machines like m68k and VAX, which NetBSD still supports with release builds.
Using it as a daily driver (I do) requires some tinkering on the initial setup, and people have mentioned it gives a vibe of using Gentoo, and that certainly has a market. But it's very easy to keep using the same setup you've had for years.
Most proprietary software doesn't support NetBSD, but if you were the type using primarily FOSS anyway, you might have all you need.
I don't know much about system development, but aren't most x86 platforms extremely backwards compatible? Would an OS that is not adopted to the latest CPU not load at all, or just wouldn't use that CPU to the fullest potential?
I had always assumed (probably ignorantly) that BSD basically runs all of the same or similar processes to a similarly featured Linux distro.
It doesn't help that linux (kernel and userspaces) tends to resemble chaotic patchwork more¹ than a reasonably designed system.
¹ exaggeration
If you want to:
- Try out a different flavor of BSD derived from BSD 4.3 Reno before NetBSD forked to OpenBSD.
- Run a modern version of Xen as dom0 (the host). I found around the time of 6.1 that Xen on NetBSD worked better and was simpler than FreeBSD's installation. Maybe things have changed.
- Learn something new.
- Also, like FreeBSD, it supports ZFS.
It's often used by numerous small, independent ISPs for their core infrastructure when they need a little more flexibility than OpenBSD. OpenBSD is great for certain use-cases.
Here's the UNIX family tree:
https://blog.codinghorror.com/content/images/uploads/2009/06...