We're using the smartOS NetBSD images, and regardless of whatever disksize we specify at VM creation time, the rootfs always starts out as 10GB. Is there some automatic way of just saying "hey, go use the entire disk, please"? It has a GPT protective mbr, gpt(1M) can't make any sense of it, disklabel(1M) says it resized it but it also said PBR isn't bootable - bad magic number, and when we tried to resize it, it broke our install. Halp?
rpi$ uname -a
NetBSD rpi 10.1 NetBSD 10.1 (RPI2) #0: Mon Dec 16 13:08:11 UTC 2024 [email protected]:/usr/src/sys/arch/evbarm/compile/RPI2 evbarm
rpi$ cat test.s
.section .text
.global _start
_start:
mov r7, #1 // Syscall number for exit
mov r0, #0 // Exit status
svc #0 // Make the syscall
rpi$ as -march=armv6 -o test.o test.s
rpi$ ld -o test test.o --dynamic-linker /libexec/ld.elf_so
rpi$ chmod +x test
rpi$ ./test
-sh: Cannot execute ELF binary ./test
rpi$ file test
test: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
rpi$ gdb test
GNU gdb (GDB) 11.0.50.20200914-git
[...]
Type "apropos word" to search for commands related to "word"...
Reading symbols from test...
(No debugging symbols found in test)
(gdb) break _start
Breakpoint 1 at 0x10054
(gdb) run
Starting program: /home/NSA/TEMP.d/asm.d/hw.d/test
exec: Cannot execute ELF binary /home/NSA/TEMP.d/asm.d/hw.d/test
/usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/target.c:2144: internal-error: void target_mourn_inferior(ptid_t): Assertion `ptid == inferior_ptid'
failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y
This is a bug, please report it. For instructions, see:
<https://www.gnu.org/software/gdb/bugs/>.
/usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/target.c:2144: internal-error: void target_mourn_inferior(ptid_t): Assertion `ptid == inferior_ptid'
failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) y
[1] Abort trap (core dumped) gdb test
rpi$
Hi there, NetBSD community!
Recently I am trying to switch from Linux to BSD and I got a problem for my Wi-Fi driver, Realtek RTL8852BE. I tried FreeBSD and it did not work. I wonder if NetBSD have driver support for it. Since NetBSD tries to be work on most hardware
One of the few things I know about Minecraft is, some players I know and love could be playing together if someone were to run a server for them. That’s the sort of thing I’d gladly do, provided I could approximately never again pay attention to it.
Here’s what I came up with. Let’s see how it pans out.
My Virtual Private Server at Panix is NetBSD/amd64 with plenty of RAM, disk, and network headroom. Marginal additional usage is therefore free.
System- and pkgsrc-provided services are controlled by the usual NetBSD-style rc.d
scripts.
Site-specific services are supervised, including supervision trees controlled by each user. In the following excerpt from my running system:
root
starts sniproxynotqmail
runs a web site and its Let’s Encrypt autorenewal,schmonz
runs a few of each/service/sniproxy: up (pid 11133) 81141 seconds
/service/svscan-notqmail: up (pid 325) 846389 seconds
/home/notqmail/service/renewssl.www.notqmail.org: up (pid 20951) 81141 seconds
/home/notqmail/service/www.notqmail.org: up (pid 24539) 81141 seconds
/service/svscan-schmonz: up (pid 394) 846389 seconds
/home/schmonz/service/agilein3minut.es: up (pid 26325) 81141 seconds
/home/schmonz/service/latentagility.com: up (pid 24554) 81141 seconds
/home/schmonz/service/renewssl.agilein3minut.es: up (pid 18299) 81141 seconds
/home/schmonz/service/renewssl.latentagility.com: up (pid 14394) 81141 seconds
/home/schmonz/service/renewssl.schmonz.com: up (pid 12424) 81140 seconds
/home/schmonz/service/schmonz.com: up (pid 21449) 81141 seconds
These packages were already installed:
djbdns-run
s6-portable-utils
unzip
curl
py-html2text
jq
I’ve added these:
openjdk21
execline
I’m installing Minecraft’s server software manually, so it’ll be my job to notice when to update. Gotta automate the noticing, at least.
Oh, and I need a sensible process-supervision run
script for the Minecraft server.
The script needs to solve two application-specific system-integration problems:
tmux
, but not for this)We solve for (1) by running the server as a child process and translating supervision signals into Minecraft commands.
We solve for (2) by connecting a named pipe to the server’s standard input.
Then commands can be sent to the server using nothing but echo
and ordinary output redirection.
Without even really being asked, my brain instantly produced the mechanisms for (1) in Perl.
Then someone on #s6 shared a run
script that additionally solved (2) while being more than twice as short as mine.
How?
By writing it in execline, a language expressly designed to be this kind of glue.
useradd -m minecraft
mkdir -p /etc/service/svscan-minecraft/log
cd /etc/service/svscan-minecraft
cat > log/run <<'EOF'
#!/bin/sh
exec setuidgid minecraft logger -t svscan-minecraft -p daemon.info
EOF
chmod +x log/run
cat > run <<'EOF'
#!/bin/sh
exec 2>&1
exec setuidgid minecraft argv0 svscan svscan-minecraft /home/minecraft/service
EOF
chmod +x run
ln -s /etc/service/svscan-minecraft /var/service/
echo '+minecraft.schmonz.com:my.server.ip.here' >> /etc/tinydns/data
service tinydns reload
echo 'minecraft 25565/tcp # minecraft.schmonz.com' >> /etc/services
service sysdb services
$EDITOR /etc/npf.conf # add minecraft to $services_tcp
service npf reload
su minecraft
cd
mkdir -p sites/schmonz.com/minecraft/service
cd sites/schmonz.com/minecraft
mkdir bin
curl -o bin/server.jar https://piston-data.mojang.com/v1/objects/e6ec2f64e6080b9b5d9b471b291c33cc7f509733/server.jar
mkdir data
echo 'eula=true' > data/eula.txt
mkfifo -m 0600 data/control
ln -s data/logs logs
cat > service/run <<'EOF'
#!/opt/pkg/bin/execlineb -P
fdmove -c 2 1
cd /home/minecraft/sites/schmonz.com/minecraft/data
redirfd -w -nb 3 control
trap -x
{
SIGINT { fdmove 1 3 s6-echo stop }
SIGHUP { fdmove 1 3 s6-echo stop }
SIGTERM { fdmove 1 3 s6-echo stop }
SIGPIPE { fdmove 1 3 s6-echo stop }
}
fdclose 3
redirfd -r 0 control
java -Xmx1024M -Xms1024M -jar ../bin/server.jar --nogui
EOF
chmod +x service/run
ln -s /home/minecraft/sites/schmonz.com/minecraft/service ~/service/minecraft.schmonz.com
cat > data/control <<'EOF'
whitelist on
whitelist add so-and-so
save-on
EOF
As the minecraft
user:
cd ~/sites/schmonz.com/minecraft
mkdir -p update/service/log
cd update/service
cat > log/run <<'EOF'
#!/bin/sh
exec multilog t ./main
EOF
chmod +x log/run
cat > run <<'EOF'
#!/bin/sh
set -e
set -x
exec 2>&1
MINECRAFT_SERVER_DOWNLOAD_PAGE='https://www.minecraft.net/en-us/download/server'
running_version() {
unzip -p ../bin/server.jar version.json \
| jq -r .name
}
available_version() {
curl \
--silent \
--user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" "${MINECRAFT_SERVER_DOWNLOAD_PAGE}" \
| html2text \
| grep -i 'minecraft_server.* nogui' \
| sed -e 's|.*minecraft_server\.||' -e 's|\.jar.*||'
}
main() {
cd /home/minecraft/sites/schmonz.com/minecraft/data
while true; do
running="$(running_version)"
available="$(available_version)"
if [ "${running}" != "${available}" ]; then
echo "MINECRAFT SERVER UPDATE NEEDED: ${running} -> ${available}"
echo "" | mail -s "Please update Minecraft server: foo -> bar" [email protected]
fi
sleep 250000
done
}
main "$@"
exit $?
EOF
chmod +x run
ln -s /home/minecraft/sites/schmonz.com/minecraft/update/service ~/service/update.minecraft.schmonz.com
If it’s desirable to have the server periodically auto-save, I’ll add one more service that writes save-all
to data/control
.
If pkgsrc had a minecraft-server
package (FreeBSD Ports does), I could delete my ad hoc update-notification service.
Maybe I’ll make it so.
I do like packaging things as part of my area-under-the-curve strategy.
My host-specific supervision trees and pkgsrc’s djbware rc.d
scripts (qmailsmtpd
, for instance) are still using daemontools.
I’ve had the intention to switch to s6 for a long time.
When it happens, I’ll be happy about it.
I haven’t tried to understand why there are “Java” and “Bedrock” editions of Minecraft, but it seems like they don’t interoperate. I’m sure there are reasons for this product segmentation and that I’ll come to better understand them in the fullness of time. Meanwhile, if and when I need to add Bedrock client interop, Geyser looks like an easy option — once I’m running something other than the vanilla upstream Minecraft Java server. I’ll need to try to understand that whole situation, too.
Are you an experienced Minecraft server administrator? Please share tips and advice!
I updated to pkgsrc 2025Q1 on NetBSD 10.1 amd64 and I noticed gvim and Emacs GUI fonts were messed up.
I did some digging and discovered if I manually install package dejavu-ttf-2.37 the issue is corrected.
I suspect a dependency of dejavu-ttf-2.37 could be missing. on 2024Q4 the issue did not exist.
John
For years I ran a few different server-side RSS readers including Miniflux, FreshRSS, and a horrible pile of Perl I wrote that Did The Job™ for me. This was for one specific reason: I wanted to be able to read my feeds on the desktop and the phone, so I needed to be able to sync it somehow.
Hosting on a server does come with other benefits. You can poll feeds even if your desktop isn’t running, which reduces your chances of missing something. You can share the public endpoint with friends and family, if they also want something to read. And as mentioned, it’s independent of whatever devices you’re reading it on. I can dial our VPN, then load our RSS reader of choice from a phone, iPad, laptop, whatever. These tools aren’t exotic, so standing up FreshRSS using my standard FEMP stack in a FreeBSD jail or two isn’t much additional effort.
Still, I suppose three things happened recently for me that made me question if the additional infrastructure here is necessary:
Is a positive integer. Ah, devilishly witty. I tell people it is, otherwise they might forget.
I traded in my iPad; in our case for a classic Nintendo Wii at a second-hand store! Try as I might with a few of them, I’ve never been able to “click” with an iPad the same way I was able to for other touchscreen devices like PalmPilots.
I’ve transitioned to using my phone as a glorified instant messenger to cut down on distractions and screen time, so I don’t read RSS there anymore either.
This means I now catch up on my RSS feeds in the morning the same way I do email: over coffee on my laptop on the balcony. With only one endpoint remaining, I’m wondering if I really need to be running another server, FreeBSD jail, or NetBSD chroot when a desktop application would be sufficient.
I was a massive NetNewsWire fan, though I’ve also loved using Thunderbird of all things to read and archive posts. I might go back to one of these for a while and see the difference. For all the Web can do for us, I do still prefer the responsiveness and experience of a good desktop application sometimes (I suppose some of my readers will tell me that emacs fits the bill there too… maybe one step at a time))))!
By Ruben Schade in Sydney, 2025-04-09.
Hey everyone, I am in the market for a new laptop for running NetBSD on and I am considering this Thinkpad T16 gen1. My main concerns are suspend and WiFi compatibility. It appears that on FreeBSD at least the wifi works and since its a fairly generic Intel chip should probably work as well. However I am not really sure about suspend, do any of you guys have any tips about verifying whether suspend mode works on any given laptop or perhaps you could recomend a better laptop to buy it terms of compatibility?
On Linux, this command
fstrim -av
I will remove all unused blocks (particularly interesting on VM disks and necessary on SSD to preserve/get a longer duration).
NetBSD has a similar command called blkdiscard
This command wipes the entire disk, so it becomes unusable (correct me if I am wrong)
blkdiscard -v /dev/rwd...
I see there is a flag which starts to discard after some bytes (or MB)
blkdiscard -v -f 256m -m 128m /dev/rwd0c
Suppose my partition uses 6GB of data, to make a safe discard (my data still remains), is this the correct command?
blkdiscard -v -f 6000m -m 128m /dev/rwd0c
I’m trying something a bit different this morning. I’m going to answer the most common questions I receive from people asking “what’s the point?” of something. My experience is that people usually aren’t asking such questions in good faith, but let’s address them earnestly.
Many of these beg the question, by implying I should have been doing something else. I might address the implied question too, or not. I’m also also not going to hedge my bets by saying “in my opinion”, or “your mileage may vary”, because these were asked of me, so of course they’ll be informed by my specific opinions, use cases, constraints, tastes, and ideas.
With that out of the way, let’s begin!
Or: Why not just post on social media?
Nobody was asking this in the early 2000s, because it was just something people did. Nowadays in the age of corrosive social media and silos, why not just post there instead? Wait, I think I just answered the question.
Blogging is a space you own. You can post what you want, about what you want, in whatever style you want. Your words are yours. And once you start blogging, you notice other people blogging too. You realise there’s an entire other world of people sharing their ideas and creativity and joy. It’s infectious.
I think blogging is fun. It lets me process thoughts I’m having, and have a bit of a conversation with people, albeit asynchronously. It’s great. I think more people should try it.
Or: Why not just make coffee at home?
Writers, journalists, philosophers, and common folk have been going to coffee shops to think, discuss ideas, and plan revolutions for hundreds of years. Coffee is a wonderful drink, and there’s something so fun about having it in a cozy cafe or a place where people know your name.
I also have a theory that for introverts, coffee shops offer a degree of social interaction where you can be surrounded by people, but still doing your thing either with a book or laptop. They helped me tremendously with loneliness for much of my 20s.
Or: Why not just run Linux?
FreeBSD is running the servers you’re reading this text on now. It’s great, you should try it. It does things similarly to Linux in a lot of ways, but it doesn’t chase the shiny to anywhere near the same extent. It’s mature, stable, predictable, and works.
FreeBSD has the best server tooling in the business, and its permissive licencing means it also integrates easily with other excellent tooling like OpenZFS. This makes things like rollbacks a cinch. I was a Solaris/SunOS admin briefly in high school and uni, and a lot of what I remember there is in modern FreeBSD too.
Linux people have recently started realising why reproducible builds are probably a good idea for security and auditability. Everything you need to get started with FreeBSD is in base
, which you can build and verify yourself. Installing a system can be as simple as building a filesystem and extracting a tarball, whether on a new machine, a VM, or a jail.
As I say to everyone asking this: give it a try. Why not?
Or: Why can’t you just drive a real train, or fly a real aircraft?
Driving a train in the real world requires specialist education, and can only be operated in specific rights of way. This means no open-ended exploring on your train, or aircraft, or space ship. You need licences, flight plans, approvals, timetables, uniforms, and undergo evaluations for competency and hiring.
It’s also much cheaper to do these things in a simulator at home.
Or: Why can’t you just be normal?
The question here implies that I decided to be these things. I did not, as you’ll find if you talk to people of many different persuasions. That seems especially hard for populist far right reactionaries, so the fact you’re even asking me is a positive first step.
Introversion and sexuality are both scales. I wouldn’t say I’m entirely introverted; occasionally I do feel recharged being among a group of friends who mean a lot to me. I’ve also tended to skew towards women much of the time, though my interests and fancies still vary considerably.
I am these things because it’s who I am. The good news is, I don’t need your approval.
Or: Why not just run FreeBSD or OpenBSD?
NetBSD was my first BSD, and it remains near and dear to me. Much of what I said about FreeBSD applies here too.
NetBSD is a great OS to work with. It’s small, predictable, and runs similarly on anything I throw it at. I love that I can run it on several of my retrocomputers regardless of architecture, and the skills I learn are transferable. I got a giddy thrill communicating between my SPARCStation and my childhood Pentium 1 once I got that network going.
Even if you never stray from amd64 though, NetBSD makes a great server and laptop OS. It’s easy to debug; NetBSD doesn’t bury things under multiple layers of complicated abstractions, or change the syntax of something just because it’s not the current hotness. It’s *nix like you remember it… the good bits, I mean.
Also, pkgsrc is usable almost everywhere.
Or: Why not just run Windows?
I maintain enough Windows at work, and I don’t want to bring it into the home. Thanks to the efforts of Valve, Wine, and too many other projects to mention, gaming on Linux is not only viable in 2025, but fantastic. It’s not without its challenges; desktop Linux never is. But I’d rather be dealing with those problems than Windows.
Or: Why not just … I dunno, not?
Travel is an itch. It’s the ultimate novelty. You’re going out to see the world, witnessing how different people live and do things. You get to explore a new train system. You get to try new food. It forces you out of your groove, rut, comfort zone, whatever cliché you can think of. It’s stimulating and fun in a way nothing else is. No matter how much you prepare, there will always be surprises.
Clara and I deliberately chose the apartment we’re in now, and save most of our incomes, precisely to let us do this. It’s what we first bonded over, and it remains our favourite thing in the world to do.
Or: Why not just do nothing?
Honestly, at that stage I’m not qualified to answer you in a complete way. I’ve been where you are, and understand how being in such a state affects everything from your mood, appetite, motivation, self-worth, and outlook on life. Mine was triggered by family trauma when I was in my early 20s that I’m still only just recovering from now. You need to seek out help, because you deserve it.
But hand to heart, I’d say as an immediate first step: go outside. No, really. Go for a walk if you can. Leave the electronics behind, and wander. The medical literature is clear on this point: moving makes you feel better. Tackle the small things first, then you’ll be in a better mental state to address the bigger things.
Or: Why not just use modern machines?
I still get this asked on a regular basis, believe it or not.
Retrocomputing is a puzzle. It’s so much fun getting something working again. It’s like a living history lesson. It’s taught me more about electronics and computer fundamentals than years of lectures and seminars.
It’s also nostalgic, which as a nostalgic fool speaks to me. I love that I can power up the first childhood PC I built myself, or check out the PalmPilot I used in primary school for some reason. Like travel, I love seeing how writers, gamers, educators, engineers, and accountants must have used their Apple IIs, or the Commodore 64.
It’s a half-baked idea at the moment, but I’m also working on a theory that so many people are into retrocomputing now given the depressing state of modern IT. When it’s not peddling snakeoil and lies it’s selling our privacy and trashing our democracies. There’s still so much good in modern computing, but retrocomputing gives you an opportunity to pare back the bullshit and engage with technology again in a fun—and dare I say, more wholesome—way.
It’s also worth mentioning that retrocomputing today is great precicely because of modern IT. We have fabs that can print indie circuit boards for us. We can collaborate on code, designs, and projects for new and fun addons and storage replacements for old machines. This is something that simply wasn’t possible at the time.
It’s fun, I guess is my point. Which actually applies to most of the questions on this post, so maybe we’ll wrap it up here.
By Ruben Schade in Sydney, 2025-04-06.
To make up for yesterday, I thought we all needed some good news. Here’s what I’ve read this week:
Ruben Schade got a Commodore 116. Apparently he was waiting for one for almost two decades, that’s wild. Whoa, so this is what it’s like to talk in the third person.
Kyiv Independent: Lviv Croissants to open in South Korea. This is so heartwarming to see, and I’d love to try them! East and South East Asian markets love European cafe culture, from my experience.
Kyiv Independent: $18 million ‘Ukraine2EU’ program launched to support Ukraine’s eventual European Union accession. Speaking of Ukraine, this would be huge. Their flags look great together too.
Planet KDE: KStars v3.7.6 is Released. My love of desktop planatarium software started with TheSky for Windows 3.1 before I even started school. I’m so happy to see this open source project continue to grow.
Phoronix: FreeBSD On Laptops Sees New Power Management Driver, WiFi 4 / WiFi 5 Progress. I’m keen to see how this goes. I’ve defaulted to using NetBSD on my personal laptops, but I’d love to dual boot them with FreeBSD again as well in the future.
Deutsche Welle: A new drug makes your blood toxic to mosquitoes. Nitisinone kills mosquitoes, but is non-toxic to humans. Wow!
Railway Technology: Revolutionary new solution eliminates complications associated with VLDs. Technically “partner content”, but this was a fascinating report into developments with Voltage Limiting Devices (VLDs). A new device would see these be able to be reconnected remotely, which would cut maintenance costs and reduce passenger delays.
SoraNews24: Rare Mos Burger vending machine sells items not found in restaurants. I copped heat for my defence of MOS Burger earlier this year, but I absolutely love them! I’m sorely tempted to seek this machine out in Tokyo if it takes me all day later this month. Maybe (cough).
SciTechDaily: Universal Coronavirus Vaccine Breakthrough: A Single Shot That Could Protect You From COVID, MERS, and the Common Cold. Researches found that viruses and certain bacteria use sugar molecules to hide from immune systems. Targeted vaccines against this would offer “one shot” protection. I’m rolling up my sleeve.
The Japan Times: Hokuriku Shinkansen extension marks first anniversary. Public transport expansion is always great news! They even served festive steamed buns! I love reading articles like this.
By Ruben Schade in Sydney, 2025-04-04.
I’ve talked again recently about my frustrations with certain Linux desktop fans directing their ire not at commercial software companies that are making the lives of people who don’t have a choice that much worse, but instead towards… the people who’s lives they’re making that much worse. Even if you think you’re in the right, it’s not how one wins friends and influences people, as a certain Dale Carnegie would have said.
But I have taken pains to point out in such posts that my reservations about the abrasive attitude of some amateur Linux users doesn’t extend to their underlying OS of choice. This I think is worth underscoring from time to time, just as it’s important not to blame electronic victims.
Linux on the desktop is awesome for me for a bunch of reasons, many of which are shared with FreeBSD and NetBSD, my favourite OSs. But the one reason I want to discuss here specifically is permissions. And for once I’m not talking about chmod(1)
, or chown(1)
, or chattr(1)
.
Rebooting my FreeBSD machine into Fedora to play a game with Clara last week made me realise something that seems so obvious in retrospect, but I only just recognised. I don’t need permission to use this computer. I turn it on, and use whatever I want, however I want.
When I install certain software for people, or OSs at work, there’s infrastructure in place to ensure you have permission to use it. There are product keys, serial numbers, activation servers, per seat or per core licensing, price lists full of complicated SKUs, and more. In some cases entire additional layers of hosting are required to install, activate, report, and track this stuff; hosting that could be put towards something technically productive instead.
It’s not even just regarding a proof of purchase, this administrative overhead often extends over the lifetime of your install. Your machine needs to be phoning home to somewhere, it needs permission to download and use certain features, it’s regularly polled to ensure it’s operating as the vendor likes, and so on. Your machine has to be in the system. Or in other words, it needs permission.
Linux isn’t entirely free of this concept either. My home Fedora partitions need permission to access an update server to remain secure, for example. But that’s a process I ultimately have agency over; I could potentially swap that repo out for something else if I wanted. Point is, I don’t need to seek permission from the Fedora Project, or the FreeBSD Foundation, and the NetBSD Foundation, to use this computer. I install them, I use them, and I update them.
That perceived lack of control, or the need to request permission, is what has made macOS feel increasingly alien to me of late, and what has made Windows feel downright hostile in a way that’s hard to put into words. I’ve talked before about feeling more like a guest on Macs thesedays, and how cleaning up a Windows machine has gone from removing OEM bloatware to disabling core features of the OS.
These OSs have always presented a Faustian bargain to an extent, but whether it’s Apple forcefully and quietly re-enabling toxic features, or Windows predictably requiring new installs and accounts to be registered with a Microsoft profile, it’s been amped up to 11 of late. Yes it’s always been bad, but now it’s worse.
On my FreeBSD desktop, my NetBSD laptops, my Fedora game machine, or any of my servers, this is an absolute non issue. I can turn my PC on, and be answerable to nobody. I don’t need to report in. I don’t need permission to unlock the door, so to speak. I just start them, and go about my day.
I can’t tell you how relieved this makes me.
By Ruben Schade in Sydney, 2025-03-31.
Hi! I've been trying to get Netbsd to boot on this card. It's the latest version of the card where the SPI chip has been removed. I have tried every way I can think of, both bootable image spesific for this board and generic arm64 with u-boot from pkgin. The HW is ok. I can boot other os images. Anyone got this running with NetBSD?
I love virtual machines! They’re a computer, in my computer. They let me tinker, test, and build things, then blow them away and start from scratch. We can even run different architectures on our computers, albeit with a performance penalty. We can emulate an entire machine from scratch, or use hypervisors to expose the underlying virtualisation support of our host machine to make mini machines. My love of VMs is what got me my current job. VMs! They’re great!
But I started using VMs out of… wait for it… nostalgia. I got an iMac DV for Xmas in 1999 that came with a copy of Connectix Virtual PC. In spite of the fact I had a perfectly functional HP PC on my desk, I tinkered with DOS, OS/2, the x86 version of BeOS, and Windows for Workgroups using the Mac because Virtual PC was so much fun. It wasn’t the first desktop virtualisation software package, but it was the first I tried that made the entire field approachable to tinkerers. I needed my first hard drive upgrade because of that software, something I’m sure my parents were thrilled about.
Anyway, rambling introductions aside, my love of this tech has persisted to this day. I run a NetBSD server at home with Xen, and FreeBSD with bhyve. Until recently I had VMware ESXi as well to keep my skills current, before it was Broadcom’d. Even FreeBSD jails scratch that itch to an extent tools like Docker simply don’t. There’s probably a post about that waiting to be written.
And on my Mac laptop, since at least 2006, I’ve have a series of different emulators and hypervisors for running all the things I care about. Some of the disk images for these VMs are older than the hosts that run them, and have been carried from machine to machine for years. A few are older than the computers they emulated were when I first made the VMs, which is ridiculous to contemplate.
But while I’ve had a regimented and structured approach to dealing with server VMs for years—in no small part thanks to the majesty that is OpenZFS—my approach to desktop VMs has always been a mess. Over the last few years I stopped using graphical tools for my retrocomputer and small VMs in lieu of directly writing scripts and configs for QEMU, 86box, and the like. But these were all mixed into an amorphous folder of disk images and configs. I was always losing track of what disk image went with what, what configs were the current ones, and what scripts needed to be invoked. And as for driver disks and other obscure notes? Fuhgeddaboutit.
In what must come as the most painfully obvious solution known to engineers everywhere, I created a little structure for these VMs and standardised on launch scripts! It looks like this:
.
├── 86box Commodore PC 30 III
│ ├── config.cfg
│ ├── disks/
│ ├── docs/
│ ├── hdd.img
│ └── launch.sh
[...]
├── QEMU NetBSD sparc64
│ ├── disks/
│ ├── docs/
│ ├── hdd.img
│ └── launch.sh
[...]
└── launch.sh
Each virtual machine has its own directory, with a configuration file for the chosen emulator, a disks folder for installation images or drivers, a docs folder for PDFs and notes pertaining to it, one or more boot disk images, and a launch script with a consistent name. The launch script calls the appropriate emulator, either with command like flags as is the case with QMEU, or to reference a config file for 86box. Finally, the root launch script merely lists the directories by name, so I can launch their launch scripts.
Including installation media, docs, and the launch scripts in little bundles like this has been massive for collecting my thoughts and learnings about this stuff, rather than having to go into my notes elsewhere, or remembering what specific driver I downloaded in my massive archive is the appropriate one. My next silly extension is to have an installation media folder separately, and use symlinks.
Anyway! A bit of a shaggy-dog story for this one, but it was fun. Turns out being organised is useful, dontchaknow.
By Ruben Schade in Sydney, 2025-03-22.
Done early!
umass0: BBB reset failed, TIMEOUT
xhci0: xhci_set_dequeue: endpoint 0x0, timed out
For decades, Linux and BSD have stood as two dominant yet fundamentally different branches of the Unix-like operating system world. While Linux distributions, such as Debian, Ubuntu, and Fedora, have grown to dominate the open-source ecosystem, BSD-based systems like FreeBSD, OpenBSD, and NetBSD have remained the preferred choice for those seeking security, performance, and licensing flexibility. But what if you could combine the best of both worlds—Debian’s vast package ecosystem with FreeBSD’s robust and efficient kernel?
Enter Debian GNU/kFreeBSD, a unique experiment that merges Debian’s familiar userland with the FreeBSD kernel, offering a hybrid system that takes advantage of FreeBSD’s technical prowess while maintaining the ease of use associated with Debian. This article dives into the world of Debian GNU/kFreeBSD, exploring its architecture, installation, benefits, challenges, and real-world applications.
↫ George Whittaker
More of a list of upsides and downsides than an actual in-depth article, but that doesn’t make it any less interesting. There’s a variety of attempts out there to somehow marry the Linux and BSD worlds, and each of them takes a unique approach. I’m not sure the Debian userland with a FreeBSD kernel is the way to go, though, and it seems I’m not alone – Debian GNU/kFreeBSD was officially dropped from Debian in 2015 or so, and after a flurry of unofficial activity in 2019, it was discontinued completely in 2023 due to a lack of activity and developer interest. Odd that the source article doesn’t mention that.
If you’re still interested in a combination of Linux and BSD, I’d keep an eye on Chimera Linux instead. It’s very actively developed, focuses on portable code by supporting many architectures, and its developers are veterans in this space. I have my eye on Chimera Linux as my future distribution of choice.
I stopped developing pkgsrc with CVS.
Quick bit of background: NetBSD is still using CVS as its version control system. The decision to move to something else has been taken long ago, but the switch has not happened as of today.
Working with CVS is painful for many reasons. For instance, there is no way to see your local changes without waiting several minutes for a cvs up -n
. A full tree update (cvs up
) churns for quite a while before it even starts updating any files.
Back when Java was still a new programming language, Sun had the idea of building a computer specifically designed for Java, unique processor running byte-code as its native machine code and all. This whole endeavour proved to be more complicated than Sun had hoped, and as such, they eventually abandoned the idea of a Java processor in favour of plain SPARC. When the JavaStation shipped, it was a regular SPARC workstation without a hard drive, running something called JavaOS from flash memory.
Since JavaOS is, of course, long gone, what can you do with JavaStation today? Well, you apparently can run NetBSD on it, but it’s quite an ordeal. The JavaStation needs to boot from the network using a combination of RARP, NFS, and more, and surprisingly, this entire setup, including the computer acting as the ‘server’ for the JavaStation, is well-documented and supported by NetBSD. Once you’ve gone through all the steps, you’ll end up with a JavaStation running the latest release of NetBSD, which is pretty cool.
Obviously there is still a lot to do; as you can see postfix isn’t happy, and the swapfile security needs tightening up for a start. But we do now have a functional NetBSD system running on a vintage network computer!
↫ Old Fart’s Almanac
NetBSD’s continued support for the most arcane of hardware will never cease to amaze me.
We are happy to announce that The NetBSD Foundation will participate in Google Summer of Code 2025!
Would you like to contribute to NetBSD and/or pkgsrc in the next months? Google Summer of Code is a great chance for that!
You can find a list of possible projects at Google Summer of Code project page. Of course, you can also propose your own!
Please reach us via #netbsd-code IRC channel on Libera.Chat and/or via mailing lists.
If you are more interested about Google Summer of Code please also check official homepage at g.co/gsoc.
Looking forward to a great Summer!
While SPARC may no longer be supported by the main Illumos project, it still works and is still viable. This page brings together a variety of information regarding Illumos on SPARC, not necessarily limited to Tribblix.
↫ Tribblix website
It seems running Tribblix – and other Illumos-based distributions – on SPARC is still possible, but there are some serious limitations anyone who has tried to use even slightly older operating systems will be fairly familiar with. For instance, since there’s no Rust for Illumos on SPARC, Firefox and other applications that use it are not available, and Tribblix in particular no longer builds Pale Moon (or LibreOffice). Rust is available on Solaris 11, though, so it may be possible to bring it to Illumos. In a similar vein, Go also isn’t available for SPARC either.
As far as hardware support goes, it’s a bit of a mixed bag, as systems that should work do, in fact, not, and even systems that do work run into a very familiar problem: graphics card support is a big issue. This is a problem plaguing X.org on any outdated or sidelined architecture, and it seems Illumos is also affected. Obviously, this greatly reduces the usefulness of Illumos on workstations, but is less of an issue on servers. You’ll run into the same problem when trying to run NetBSD, OpenBSD, or Linux in, say, PA-RISC hardware.
Of course, the problem is both a lack of people interested in and capable of contributing to keeping stuff running on older architectures, further spurred on by a dwindling supply of hardware available at reasonable prices. Sad, but there isn’t much that can be done about it.
NetBSD consistently appears unable to install a bootx64.efi file on my home built computer and is never able to boot after a fresh install. My work around is to boot from a Linux live USB pen drive and install reFind. However, I am not really into cludges and am wondering if after an install, it is possible to exit to the shell and get the bootx64.ef file created / moved / installed to where it is supposed to reside, somewhere in the /boot/EFI location before rebooting to the fresh NetBSD install…
[ 1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
[ 1.000000] 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
[ 1.000000] 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
[ 1.000000] 2024
[ 1.000000] The NetBSD Foundation, Inc. All rights reserved.
[ 1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[ 1.000000] The Regents of the University of California. All rights reserved.
[ 1.000000] NetBSD 10.1 (GENERIC) #0: Mon Dec 16 13:08:11 UTC 2024
[ 1.000000] mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC
[ 1.000000] total memory = 24450 MB
[ 1.000000] avail memory = 23624 MB
[ 1.000000] timecounter: Timecounters tick every 10.000 msec
[ 1.000000] Kernelized RAIDframe activated
[ 1.000000] RTC BIOS diagnostic error 0x20<config_unit>
[ 1.000000] timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
[ 1.000004] efi: systbl at pa c943df18
[ 1.000004] mainbus0 (root)
[ 1.000004] ACPI: RSDP 0x00000000C9BA3000 000024 (v02 HPQOEM)
[ 1.000004] ACPI: XSDT 0x00000000C9BA3080 000084 (v01 HPQOEM SLIC-BPC 01072009 AMI 00010013)
[ 1.000004] ACPI: FACP 0x00000000C9BACFE8 0000F4 (v04 HPQOEM SLIC-BPC 01072009 AMI 00010013)
[ 1.000004] ACPI: DSDT 0x00000000C9BA3198 009E4A (v02 HPQOEM SLIC-BPC 00000017 INTL 20051117)
[ 1.000004] ACPI: FACS 0x00000000C9BB5F80 000040
[ 1.000004] ACPI: APIC 0x00000000C9BAD0E0 0000BC (v03 HPQOEM SLIC-BPC 01072009 AMI 00010013)
[ 1.000004] ACPI: MCFG 0x00000000C9BAD1A0 00003C (v01 HPQOEM SLIC-BPC 01072009 MSFT 00000097)
[ 1.000004] ACPI: HPET 0x00000000C9BAD1E0 000038 (v01 HPQOEM SLIC-BPC 01072009 AMI. 00000005)
[ 1.000004] ACPI: SSDT 0x00000000C9BAD218 000460 (v01 IdeRef IdeTable 00001000 INTL 20091112)
[ 1.000004] ACPI: SSDT 0x00000000C9BAD678 00544C (v01 COMPAQ WMI 00000001 MSFT 03000001)
[ 1.000004] ACPI: SLIC 0x00000000C9BB2AC8 000176 (v01 HPQOEM SLIC-BPC 00000001 00000000)
[ 1.000004] ACPI: SSDT 0x00000000C9BB2C40 0009AA (v01 PmRef Cpu0Ist 00003000 INTL 20051117)
[ 1.000004] ACPI: SSDT 0x00000000C9BB35F0 000A92 (v01 PmRef CpuPm 00003000 INTL 20051117)
[ 1.000004] ACPI: DMAR 0x00000000C9BB4088 0000B8 (v01 INTEL SNB 00000001 INTL 00000001)
[ 1.000004] ACPI: ASF! 0x00000000C9BB4140 0000A5 (v32 INTEL HCG 00000001 TFSM 000F4240)
[ 1.000004] ACPI: BGRT 0x00000000C9BB41E8 00003C (v00 HPQOEM SLIC-BPC 01072009 AMI 00010013)
[ 1.000004] ACPI: 5 ACPI AML tables successfully acquired and loaded
[ 1.000004] ioapic0 at mainbus0 apid 2: pa 0xfec00000, version 0x20, 24 pins
[ 1.000004] cpu0 at mainbus0 apid 0
[ 1.000004] cpu0: Use lfence to serialize rdtsc
[ 1.000004] cpu0: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, id 0x306a9
[ 1.000004] cpu0: node 0, package 0, core 0, smt 0
[ 1.000004] cpu1 at mainbus0 apid 2
[ 1.000004] cpu1: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, id 0x306a9
[ 1.000004] cpu1: node 0, package 0, core 1, smt 0
[ 1.000004] cpu2 at mainbus0 apid 4
[ 1.000004] cpu2: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, id 0x306a9
[ 1.000004] cpu2: node 0, package 0, core 2, smt 0
[ 1.000004] cpu3 at mainbus0 apid 6
[ 1.000004] cpu3: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, id 0x306a9
[ 1.000004] cpu3: node 0, package 0, core 3, smt 0
[ 1.000004] cpu4 at mainbus0 apid 1
[ 1.000004] cpu4: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, id 0x306a9
[ 1.000004] cpu4: node 0, package 0, core 0, smt 1
[ 1.000004] cpu5 at mainbus0 apid 3
[ 1.000004] cpu5: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, id 0x306a9
[ 1.000004] cpu5: node 0, package 0, core 1, smt 1
[ 1.000004] cpu6 at mainbus0 apid 5
[ 1.000004] cpu6: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, id 0x306a9
[ 1.000004] cpu6: node 0, package 0, core 2, smt 1
[ 1.000004] cpu7 at mainbus0 apid 7
[ 1.000004] cpu7: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz, id 0x306a9
[ 1.000004] cpu7: node 0, package 0, core 3, smt 1
[ 1.000004] acpi0 at mainbus0: Intel ACPICA 20221020
[ 1.000004] acpi0: X/RSDT: OemId <HPQOEM,SLIC-BPC,01072009>, AslId <AMI ,00010013>
[ 1.000004] acpi0: MCFG: segment 0, bus 0-63, address 0x00000000f8000000
[ 1.000004] ACPI: Dynamic OEM Table Load:
[ 1.000004] ACPI: SSDT 0xFFFFE6B95FCBA008 00083B (v01 PmRef Cpu0Cst 00003001 INTL 20051117)
[ 1.000004] ACPI: Dynamic OEM Table Load:
[ 1.000004] ACPI: SSDT 0xFFFFE6BE573F6408 000303 (v01 PmRef ApIst 00003000 INTL 20051117)
[ 1.000004] ACPI: Dynamic OEM Table Load:
[ 1.000004] ACPI: SSDT 0xFFFFE6B95FC50408 000119 (v01 PmRef ApCst 00003000 INTL 20051117)
[ 1.000004] acpi0: SCI interrupting at int 9
[ 1.000004] acpi0: fixed power button present
[ 1.000004] timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
[ 1.010635] hpet0 at acpi0: high precision event timer (mem 0xfed00000-0xfed00400)
[ 1.010635] timecounter: Timecounter "hpet0" frequency 14318180 Hz quality 2000
[ 1.011366] acpiec0 at acpi0 (H_EC, PNP0C09-1): not present
[ 1.011366] TPMX (PNP0C01) at acpi0 not configured
[ 1.011366] FWHD (INT0800) at acpi0 not configured
[ 1.011366] attimer1 at acpi0 (TIMR, PNP0100): io 0x40-0x43,0x50-0x53 irq 0
[ 1.011366] pckbc1 at acpi0 (PS2K, PNP0303) (kbd port): io 0x60,0x64 irq 1
[ 1.011366] pckbc2 at acpi0 (PS2M, PNP0F03) (aux port): irq 12
[ 1.011366] com0 at acpi0 (UAR1, PNP0501-1): io 0x3f8-0x3ff irq 4
[ 1.011366] com0: ns16550a, 16-byte FIFO
[ 1.011366] acpivga0 at acpi0 (VGA): ACPI Display Adapter
[ 1.011366] acpiout0 at acpivga0 (LCD, 0x0110): ACPI Display Output Device
[ 1.011366] acpiout0: brightness levels: [0-19]
[ 1.011366] acpivga0: connected output devices:
[ 1.011366] acpivga0: 0x0110 (acpiout0): LCD Panel, head 0
[ 1.011366] acpivga1 at acpi0 (GFX0): ACPI Display Adapter
[ 1.011366] acpiout1 at acpivga1 (DD01, 0x0100): ACPI Display Output Device
[ 1.011366] acpiout2 at acpivga1 (DD02, 0x0400): ACPI Display Output Device
[ 1.011366] acpiout2: brightness levels: [0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100]
[ 1.011366] acpiout3 at acpivga1 (DD03, 0x0300): ACPI Display Output Device
[ 1.011366] acpiout4 at acpivga1 (DD04, 0x0301): ACPI Display Output Device
[ 1.011366] acpiout5 at acpivga1 (DD05, 0x0302): ACPI Display Output Device
[ 1.011366] acpiout6 at acpivga1 (DD06, 0x0303): ACPI Display Output Device
[ 1.011366] acpiout7 at acpivga1 (DD07, 0x0304): ACPI Display Output Device
[ 1.011366] acpiout8 at acpivga1 (DD08, 0x0305): ACPI Display Output Device
[ 1.011366] acpiout9 at acpivga1 (LCD, 0x0110): ACPI Display Output Device
[ 1.011366] acpiout9: brightness levels: [0-19]
[ 1.011366] acpivga1: connected output devices:
[ 1.011366] acpivga1: 0x0110 (acpiout9): LCD Panel, head 0
[ 1.011366] acpibut0 at acpi0 (PWRB, PNP0C0C-170): ACPI Power Button
[ 1.011366] MEM2 (PNP0C01) at acpi0 not configured
[ 1.011366] acpiwmi0 at acpi0 (WMID, PNP0C14-0): ACPI WMI Interface
[ 1.011366] wmihp0 at acpiwmi0: HP WMI mappings
[ 1.011366] acpifan0 at acpi0 (FAN0, PNP0C0B-0): ACPI Fan
[ 1.011366] acpifan1 at acpi0 (FAN1, PNP0C0B-1): ACPI Fan
[ 1.011366] acpifan2 at acpi0 (FAN2, PNP0C0B-2): ACPI Fan
[ 1.011366] acpifan3 at acpi0 (FAN3, PNP0C0B-3): ACPI Fan
[ 1.011366] acpifan4 at acpi0 (FAN4, PNP0C0B-4): ACPI Fan
[ 1.011366] acpitz0 at acpi0 (TZ00)
[ 1.011366] acpitz0: active cooling level 0: 71.0C
[ 1.011366] acpitz0: active cooling level 1: 55.0C
[ 1.011366] acpitz0: active cooling level 2: 0.0C
[ 1.011366] acpitz0: active cooling level 3: 0.0C
[ 1.011366] acpitz0: active cooling level 4: 0.0C
[ 1.011366] acpitz0: levels: critical 105.0 C
[ 1.011366] acpitz1 at acpi0 (TZ01): cpu0 cpu4 cpu1 cpu5 cpu2 cpu6 cpu3 cpu7
[ 1.011366] acpitz1: levels: critical 105.0 C, passive 95.0 C, passive cooling
[ 1.011366] ACPI: Enabled 4 GPEs in block 00 to 3F
[ 1.011366] pckbd0 at pckbc1 (kbd slot)
[ 1.011366] pckbc1: using irq 1 for kbd slot
[ 1.011366] wskbd0 at pckbd0: console keyboard
[ 1.011366] pms0 at pckbc1 (aux slot)
[ 1.011366] pms0: autoconfiguration error: Failed to get E6 signature.
[ 1.011366] pms0: autoconfiguration error: Failed to initialize an ALPS device.
[ 1.011366] pckbc1: using irq 12 for aux slot
[ 1.011366] wsmouse0 at pms0 mux 0
[ 1.011366] pci0 at mainbus0 bus 0: configuration mode 1
[ 1.011366] pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
[ 1.011366] pchb0 at pci0 dev 0 function 0: Intel Ivy Bridge Host Bridge (rev. 0x09)
[ 1.011366] ppb0 at pci0 dev 1 function 0: Intel Ivy Bridge PCI Express Root Port (rev. 0x09)
[ 1.011366] ppb0: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x16 @ 8.0GT/s
[ 1.011366] pci1 at ppb0 bus 1
[ 1.011366] pci1: i/o space, memory space enabled, rd/line, wr/inv ok
[ 1.011366] nouveau0 at pci1 dev 0 function 0: NVIDIA product 107d (rev. 0xa1)
[ 1.011366] hdaudio0 at pci1 dev 0 function 1: HD Audio Controller
[ 1.011366] hdaudio0: interrupting at msi0 vec 0
[ 1.011366] hdaudio0: HDA ver. 1.0, OSS 2, ISS 4, BSS 0, SDO 4, 64-bit
[ 1.011366] hdafg0 at hdaudio0: NVIDIA product 001c
[ 1.011366] hdafg0: DP00 8ch: Digital Out [Jack]
[ 1.011366] hdafg0: DP01 8ch: Digital Out [Jack]
[ 1.011366] hdafg0: 8ch/0ch 48000Hz PCM16*
[ 1.011366] audio0 at hdafg0: playback, capture, full duplex, independent
[ 1.011366] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for playback
[ 1.011366] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for recording
[ 1.011366] spkr0 at audio0: PC Speaker (synthesized)
[ 1.011366] wsbell at spkr0 not configured
[ 1.011366] i915drmkms0 at pci0 dev 2 function 0: Intel Ivy Bridge Integrated Graphics Device (rev. 0x09)
[ 1.011366] xhci0 at pci0 dev 20 function 0: Intel 7 Series USB xHCI (rev. 0x04)
[ 1.011366] xhci0: 64-bit DMA
[ 1.011366] xhci0: interrupting at msi1 vec 0
[ 1.011366] xhci0: xHCI version 1.0
[ 1.011366] usb0 at xhci0: USB revision 3.0
[ 1.011366] usb1 at xhci0: USB revision 2.0
[ 1.011366] Intel 7 Series MEI Controller (miscellaneous communications, revision 0x04) at pci0 dev 22 function 0 not configured
[ 1.011366] puc0 at pci0 dev 22 function 3: Intel 7 Series KT (com)
[ 1.011366] com2 at puc0 port 0 (16550-compatible): ioaddr 0xf140, interrupting at ioapic0 pin 19
[ 1.011366] com2: ns16550a, 16-byte FIFO
[ 1.011366] wm0 at pci0 dev 25 function 0, 64-bit DMA: PCH2 LAN (82579LM) Controller (rev. 0x04)
[ 1.011366] wm0: interrupting at msi2 vec 0
[ 1.011366] wm0: PCI-Express bus
[ 1.011366] wm0: 2048 words FLASH, version 0.13.4
[ 1.011366] wm0: RX packet buffer size: 26KB
[ 1.011366] wm0: Ethernet address 10:60:4b:81:4e:f0
[ 1.011366] wm0: 0x6a4080<FLASH,PCIE,ASF_FIRM,AMT,WOL,EEE>
[ 1.011366] ihphy0 at wm0 phy 2: i82579 10/100/1000 media interface, rev. 3
[ 1.011366] ihphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
[ 1.011366] ehci0 at pci0 dev 26 function 0: Intel 7 Series USB EHCI (rev. 0x04)
[ 1.011366] ehci0: 64-bit DMA
[ 1.011366] ehci0: interrupting at ioapic0 pin 16
[ 1.011366] ehci0: BIOS has given up ownership
[ 1.011366] ehci0: EHCI version 1.0
[ 1.011366] ehci0: Using DMA subregion for control data structures
[ 1.011366] usb2 at ehci0: USB revision 2.0
[ 1.011366] hdaudio1 at pci0 dev 27 function 0: HD Audio Controller
[ 1.011366] hdaudio1: interrupting at msi3 vec 0
[ 1.011366] hdaudio1: HDA ver. 1.0, OSS 4, ISS 4, BSS 0, SDO 1, 64-bit
[ 1.011366] hdafg1 at hdaudio1: Realtek product 0221
[ 1.011366] hdafg1: DAC00 2ch: Speaker [Built-In]
[ 1.011366] hdafg1: DAC01 2ch: Speaker [Jack], HP Out [Jack]
[ 1.011366] hdafg1: ADC02 2ch: Line In [Jack], Mic In [Jack]
[ 1.011366] hdafg1: 2ch/2ch 44100Hz 48000Hz 96000Hz 192000Hz PCM16 PCM20 PCM24 AC3
[ 1.011366] audio1 at hdafg1: playback, capture, full duplex, independent
[ 1.011366] audio1: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for playback
[ 1.011366] audio1: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for recording
[ 1.011366] spkr1 at audio1: PC Speaker (synthesized)
[ 1.011366] wsbell at spkr1 not configured
[ 1.011366] hdafg2 at hdaudio1: Intel product 2806
[ 1.011366] hdafg2: DP00 8ch: Digital Out [Jack]
[ 1.011366] hdafg2: 8ch/0ch 48000Hz PCM16*
[ 1.011366] audio2 at hdafg2: playback, capture, full duplex, independent
[ 1.011366] audio2: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for playback
[ 1.011366] audio2: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for recording
[ 1.011366] spkr2 at audio2: PC Speaker (synthesized)
[ 1.011366] wsbell at spkr2 not configured
[ 1.011366] ppb1 at pci0 dev 28 function 0: Intel 7 Series PCIe (rev. 0xc4)
[ 1.011366] ppb1: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x4 @ 5.0GT/s
[ 1.011366] ppb1: link is x1 @ 2.5GT/s
[ 1.011366] pci2 at ppb1 bus 2
[ 1.011366] pci2: i/o space, memory space enabled, rd/line, wr/inv ok
[ 1.011366] ppb2 at pci2 dev 0 function 0: Texas Instruments product 8231 (rev. 0x03)
[ 1.011366] ppb2: PCI Express capability version 1 <PCI-E to PCI/PCI-X Bridge>
[ 1.011366] pci3 at ppb2 bus 3
[ 1.011366] pci3: i/o space, memory space enabled, rd/line, wr/inv ok
[ 1.011366] fwohci0 at pci3 dev 0 function 0: Texas Instruments product 8235 (rev. 0x01)
[ 1.011366] fwohci0: interrupting at ioapic0 pin 16
[ 1.011366] fwohci0: OHCI version 1.10 (ROM=1)
[ 1.011366] fwohci0: No. of Isochronous channels is 4.
[ 1.011366] fwohci0: EUI64 01:02:03:04:00:00:01:5a
[ 1.011366] fwohci0: Phy 1394a available S400, 2 ports.
[ 1.011366] fwohci0: Link S400, max_rec 2048 bytes.
[ 1.011366] ieee1394if0 at fwohci0: IEEE1394 bus
[ 1.011366] fwip0 at ieee1394if0: IP over IEEE1394
[ 1.011366] fwohci0: Initiate bus reset
[ 1.011366] fwohci0: Clear PME# now
[ 1.011366] ppb3 at pci0 dev 28 function 4: Intel 7 Series PCIe (rev. 0xc4)
[ 1.011366] ppb3: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x1 @ 5.0GT/s
[ 1.011366] ppb3: link is x1 @ 2.5GT/s
[ 1.011366] pci4 at ppb3 bus 4
[ 1.011366] pci4: i/o space, memory space enabled, rd/line, wr/inv ok
[ 1.011366] wm1 at pci4 dev 0 function 0, 64-bit DMA: Intel i82574L (rev. 0x00)
[ 1.011366] wm1: for TX and RX interrupting at msix4 vec 0 affinity to 1
[ 1.011366] wm1: for TX and RX interrupting at msix4 vec 1 affinity to 2
[ 1.011366] wm1: for LINK interrupting at msix4 vec 2
[ 1.011366] wm1: PCI-Express bus
[ 1.011366] wm1: 2048 words FLASH, version 1.8.0, Image Unique ID ffffffff
[ 1.011366] wm1: ASPM L0s and L1 are disabled to workaround the errata.
[ 1.011366] wm1: RX packet buffer size: 20KB
[ 1.011366] wm1: Ethernet address 68:05:ca:1a:df:15
[ 1.011366] wm1: 0x224080<FLASH,PCIE,ASF_FIRM,WOL>
[ 1.011366] makphy0 at wm1 phy 1: Marvell 88E1149 Gigabit PHY, rev. 1
[ 1.011366] makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
[ 1.011366] ehci1 at pci0 dev 29 function 0: Intel 7 Series USB EHCI (rev. 0x04)
[ 1.011366] ehci1: 64-bit DMA
[ 1.011366] ehci1: interrupting at ioapic0 pin 23
[ 1.011366] ehci1: BIOS has given up ownership
[ 1.011366] ehci1: EHCI version 1.0
[ 1.011366] ehci1: Using DMA subregion for control data structures
[ 1.011366] usb3 at ehci1: USB revision 2.0
[ 1.011366] ppb4 at pci0 dev 30 function 0: Intel 82801BA Hub-PCI Bridge (rev. 0xa4)
[ 1.011366] pci5 at ppb4 bus 5
[ 1.011366] pci5: i/o space, memory space enabled
[ 1.011366] fxp0 at pci5 dev 0 function 0: i82558 Ethernet (rev. 0x04)
[ 1.011366] fxp0: interrupting at ioapic0 pin 20
[ 1.011366] fxp0: May need receiver lock-up workaround
[ 1.011366] fxp0: Ethernet address 00:a0:c9:9a:8c:21
[ 1.011366] inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 0
[ 1.011366] inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
[ 1.011366] ichlpcib0 at pci0 dev 31 function 0: Intel Q77 LPC (rev. 0x04)
[ 1.011366] timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
[ 1.011366] ichlpcib0: 24-bit timer
[ 1.011366] tco0 at ichlpcib0: TCO (watchdog) timer configured.
[ 1.011366] tco0: Min/Max interval 1/367 seconds
[ 1.011366] pciide0 at pci0 dev 31 function 2: Intel 7 Series (desktop) SATA Controller (rev. 0x04)
[ 1.011366] pciide0: bus-master DMA support present, but unused (no driver support)
[ 1.011366] pciide0: primary channel configured to native-PCI mode
[ 1.011366] pciide0: using ioapic0 pin 19 for native-PCI interrupt
[ 1.011366] atabus0 at pciide0 channel 0
[ 1.011366] pciide0: secondary channel configured to native-PCI mode
[ 1.011366] atabus1 at pciide0 channel 1
[ 1.011366] ichsmb0 at pci0 dev 31 function 3: Intel 7 Series SMBus Controller (rev. 0x04)
[ 1.011366] ichsmb0: interrupting at ioapic0 pin 18
[ 1.011366] iic0 at ichsmb0: I2C bus
[ 1.011366] pciide1 at pci0 dev 31 function 5: Intel 7 Series (desktop) SATA Controller (rev. 0x04)
[ 1.011366] pciide1: bus-master DMA support present, but unused (no driver support)
[ 1.011366] pciide1: primary channel wired to native-PCI mode
[ 1.011366] pciide1: using ioapic0 pin 19 for native-PCI interrupt
[ 1.011366] atabus2 at pciide1 channel 0
[ 1.011366] pciide1: secondary channel wired to native-PCI mode
[ 1.011366] atabus3 at pciide1 channel 1
[ 1.011366] isa0 at ichlpcib0
[ 1.011366] tpm0 at isa0 iomem 0xfed40000-0xfed40fff irq 7
[ 1.011366] tpm0: device 0x000b15d1 rev 0x10
[ 1.011366] pcppi0 at isa0 port 0x61
[ 1.011366] spkr3 at pcppi0: PC Speaker
[ 1.011366] wsbell at spkr3 not configured
[ 1.011366] midi0 at pcppi0: PC speaker
[ 1.011366] sysbeep0 at pcppi0
[ 1.011366] attimer1: attached to pcppi0
[ 1.011366] acpicpu0 at cpu0: ACPI CPU
[ 1.011366] acpicpu0: C1: FFH, lat 1 us, pow 1000 mW
[ 1.011366] acpicpu0: C2: FFH, lat 59 us, pow 500 mW
[ 1.011366] acpicpu0: C3: FFH, lat 80 us, pow 350 mW
[ 1.011366] acpicpu0: P0: FFH, lat 10 us, pow 77000 mW, 3401 MHz, turbo boost
[ 1.011366] acpicpu0: P1: FFH, lat 10 us, pow 77000 mW, 3400 MHz
[ 1.011366] acpicpu0: P2: FFH, lat 10 us, pow 73840 mW, 3300 MHz
[ 1.011366] acpicpu0: P3: FFH, lat 10 us, pow 67694 mW, 3100 MHz
[ 1.011366] acpicpu0: P4: FFH, lat 10 us, pow 64705 mW, 3000 MHz
[ 1.011366] acpicpu0: P5: FFH, lat 10 us, pow 61772 mW, 2900 MHz
[ 1.011366] acpicpu0: P6: FFH, lat 10 us, pow 58907 mW, 2800 MHz
[ 1.011366] acpicpu0: P7: FFH, lat 10 us, pow 53315 mW, 2600 MHz
[ 1.011366] acpicpu0: P8: FFH, lat 10 us, pow 50601 mW, 2500 MHz
[ 1.011366] acpicpu0: P9: FFH, lat 10 us, pow 47940 mW, 2400 MHz
[ 1.011366] acpicpu0: P10: FFH, lat 10 us, pow 42787 mW, 2200 MHz
[ 1.011366] acpicpu0: P11: FFH, lat 10 us, pow 40284 mW, 2100 MHz
[ 1.011366] acpicpu0: P12: FFH, lat 10 us, pow 37833 mW, 2000 MHz
[ 1.011366] acpicpu0: P13: FFH, lat 10 us, pow 35433 mW, 1900 MHz
[ 1.011366] acpicpu0: P14: FFH, lat 10 us, pow 31421 mW, 1700 MHz
[ 1.011366] acpicpu0: P15: FFH, lat 10 us, pow 29164 mW, 1600 MHz
[ 1.011366] coretemp0 at cpu0: thermal sensor, 1 C resolution, Tjmax=105
[ 1.011366] acpicpu1 at cpu1: ACPI CPU
[ 1.011366] coretemp1 at cpu1: thermal sensor, 1 C resolution, Tjmax=105
[ 1.011366] acpicpu2 at cpu2: ACPI CPU
[ 1.011366] coretemp2 at cpu2: thermal sensor, 1 C resolution, Tjmax=105
[ 1.011366] acpicpu3 at cpu3: ACPI CPU
[ 1.011366] coretemp3 at cpu3: thermal sensor, 1 C resolution, Tjmax=105
[ 1.011366] acpicpu4 at cpu4: ACPI CPU
[ 1.011366] acpicpu5 at cpu5: ACPI CPU
[ 1.011366] acpicpu6 at cpu6: ACPI CPU
[ 1.011366] acpicpu7 at cpu7: ACPI CPU
[ 1.011366] fwohci0: BUS reset
[ 1.011366] fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
[ 1.011366] ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
[ 1.011366] ieee1394if0: bus manager 0
[ 1.011366] timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
[ 1.011366] timecounter: Timecounter "TSC" frequency 3392297000 Hz quality 3000
[ 1.226499] uhub0 at usb0: NetBSD (0x0000) xHCI root hub (0x0000), class 9/0, rev 3.00/1.00, addr 0
[ 1.238427] uhub0: 4 ports with 4 removable, self powered
[ 1.238427] uhub1 at usb1: NetBSD (0x0000) xHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 0
[ 1.268426] uhub1: 4 ports with 4 removable, self powered
[ 1.288426] uhub2 at usb2: NetBSD (0x0000) EHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 1
[ 1.308426] uhub2: 3 ports with 3 removable, self powered
[ 1.308426] uhub3 at usb3: NetBSD (0x0000) EHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 1
[ 1.328426] uhub3: 3 ports with 3 removable, self powered
[ 1.328426] IPsec: Initialized Security Association Processing.
[ 1.358427] tpm0: read 8 bytes, expected 10
[ 1.378430] tpm0: deactivating entropy source
[ 1.398426] wd0 at atabus0 drive 1
[ 1.418426] wd0: <MTFDDAK128MAM-1J1>
[ 1.438426] wd0: drive supports 16-sector PIO transfers, LBA48 addressing
[ 1.438426] wd0: 119 GB, 248085 cyl, 16 head, 63 sec, 512 bytes/sect x 250069680 sectors
[ 1.468426] wd0: GPT GUID: 0b27f7c4-74b3-401c-88cd-c0d8c16ad0c3
[ 1.468426] dk0 at wd0: "Basic data partition", 1021952 blocks at 2048, type: <unknown>
[ 1.488425] dk1 at wd0: "EFI system partition", 204800 blocks at 1024000, type: msdos
[ 1.508425] dk2 at wd0: "Microsoft reserved partition", 32768 blocks at 1228800, type: ntfs
[ 1.528425] dk3 at wd0: "10bd2c78-377a-4082-8212-c1176362ec16", 80660480 blocks at 1261568, type: ntfs
[ 1.548425] autoconfiguration error: wd0: wedge named 'Basic data partition' already existed, using '10bd2c78-377a-4082-8212-c1176362ec16'
[ 1.568425] dk4 at wd0: "NetBSD", 163839936 blocks at 81922112, type: ffs
[ 1.588425] dk5 at wd0: "swap", 4307535 blocks at 245762112, type: swap
[ 1.618425] wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
[ 1.618425] wd1 at atabus1 drive 0
[ 1.638425] wd1: <WDC WD10EZEX-22BN5A0>
[ 1.658425] wd1: drive supports 16-sector PIO transfers, LBA48 addressing
[ 1.658425] wd1: 931 GB, 1938021 cyl, 16 head, 63 sec, 512 bytes/sect x 1953525168 sectors (4096 bytes/physsect)
[ 1.748425] wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
[ 1.748425] wd2 at atabus1 drive 1
[ 1.768424] wd2: <WDC WD5000AACS-00G8B0>
[ 1.788424] wd2: drive supports 16-sector PIO transfers, LBA48 addressing
[ 1.788424] wd2: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
[ 2.328423] wd2: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
[ 2.388433] uhub4 at uhub3 port 1: vendor 8087 (0x8087) product 0024 (0x0024), class 9/0, rev 2.00/0.00, addr 2
[ 2.408421] uhub4: single transaction translator
[ 2.428421] uhub5 at uhub2 port 1: vendor 8087 (0x8087) product 0024 (0x0024), class 9/0, rev 2.00/0.00, addr 2
[ 2.448421] uhub5: single transaction translator
[ 2.468421] uhub5: 6 ports with 6 removable, self powered
[ 2.468421] uhub4: 8 ports with 8 removable, self powered
[ 3.678417] umass0 at uhub5 port 1 configuration 1 interface 0
[ 3.698416] umass0: Corsair (0x1b1c) Voyager 3.0 (0x1a03), rev 2.10/1.10, addr 3
[ 3.718415] umass0: using SCSI over Bulk-Only
[ 3.728415] scsibus0 at umass0: 2 targets, 1 lun per target
[ 3.748415] sd0 at scsibus0 target 0 lun 0: <Corsair, Voyager 3.0, 000A> disk removable
[ 3.768415] sd0: fabricating a geometry
[ 3.788415] sd0: 29604 MB, 29604 cyl, 64 head, 32 sec, 512 bytes/sect x 60628992 sectors
[ 3.818417] sd0: fabricating a geometry
[ 4.188414] sd0: GPT GUID: 867794b8-d609-49ee-9c51-33a08260ec8b
[ 4.188414] dk6 at sd0: "EFI system", 262144 blocks at 2048, type: msdos
[ 4.208413] dk7 at sd0: "3c386667-4e85-4442-ac6e-943931e02174", 4853760 blocks at 264192, type: ffs
[ 4.228413] dk8 at sd0: "ab4a17e6-df64-4eda-9827-8e4b3e9f52b9", 20480000 blocks at 5117952, type: ntfs
[ 4.248413] autoconfiguration error: sd0: wedge named 'Basic data partition' already existed, using 'ab4a17e6-df64-4eda-9827-8e4b3e9f52b9'
[ 22.818332] atapibus0 at atabus2: 2 targets
[ 22.838331] cd0 at atapibus0 drive 0: <hp CDDVDW SH-216BB, R8TM6YBD604VA1, HE50> cdrom removable
[ 22.868333] cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
[ 22.868333] swwdog0: software watchdog initialized
[ 23.588330] WARNING: 4 errors while detecting hardware; check system log.
[ 23.588330] boot device: wd0
[ 23.588330] root on dk4 dumps on dk5
[ 23.608328] root file system type: ffs
[ 23.608328] kern.module.path=/stand/amd64/10.1/modules
[ 23.608328] nouveau0: NVIDIA GF119 (0d93d0a1)
[ 23.788327] nouveau0: bios: version 75.19.79.00.02
[ 23.938930] nouveau0: interrupting at msi5 vec 0 (nouveau0)
[ 23.938930] nouveau0: fb: 512 MiB DDR3
[ 24.248325] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 24.248325] [drm] Driver supports precise vblank timestamp query.
[ 24.248325] Zone kernel: Available graphics memory: 9007199252161660 KiB
[ 24.248325] Zone dma32: Available graphics memory: 2097152 KiB
[ 24.248325] nouveau0: DRM: VRAM: 512 MiB
[ 24.248325] nouveau0: DRM: GART: 1048576 MiB
[ 24.248325] nouveau0: DRM: TMDS table version 2.0
[ 24.248325] nouveau0: DRM: DCB version 4.0
[ 24.248325] nouveau0: DRM: DCB outp 00: 020003a6 0f220010
[ 24.248325] nouveau0: DRM: DCB outp 01: 02000362 00020010
[ 24.248325] nouveau0: DRM: DCB outp 02: 048113b6 0f220010
[ 24.248325] nouveau0: DRM: DCB outp 03: 04011372 00020010
[ 24.248325] nouveau0: DRM: DCB conn 00: 00410146
[ 24.248325] nouveau0: DRM: DCB conn 01: 00820246
[ 24.258325] nouveau0: DRM: MM: using COPY0 for buffer copies
[ 24.258325] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 24.258325] [drm] Driver supports precise vblank timestamp query.
[ 24.278324] nouveau0: [drm] Cannot find any crtc or sizes
[ 24.278324] [drm] Initialized nouveau 1.3.1 20120801 for nouveau0 on minor 0
[ 24.278324] i915drmkms0: interrupting at msi6 vec 0 (i915drmkms0)
[ 24.308324] [drm] Initialized i915 1.6.0 20200114 for i915drmkms0 on minor 1
[ 24.338324] intelfb0 at i915drmkms0
[ 24.338324] [drm] DRM_I915_DEBUG enabled
[ 24.338324] [drm] DRM_I915_DEBUG_GEM enabled
[ 24.338324] intelfb0: framebuffer at 0xd0005000, size 1280x1024, depth 32, stride 5120
[ 24.408324] {drm:netbsd:intel_set_cpu_fifo_underrun_reporting+0x29c} *ERROR* uncleared fifo underrun on pipe A
[ 24.408324] {drm:netbsd:intel_cpu_fifo_underrun_irq_handler+0x64} *ERROR* CPU pipe A FIFO underrun
[ 24.408324] {drm:netbsd:intel_set_pch_fifo_underrun_reporting+0x14e} *ERROR* uncleared pch fifo underrun on pch transcoder A
[ 24.408324] {drm:netbsd:cpt_irq_handler+0x217} *ERROR* PCH transcoder A FIFO underrun
[ 24.738322] wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
[ 24.818322] wsmux1: connecting to wsdisplay0
[ 32.278289] wsdisplay0: screen 1 added (default, vt100 emulation)
[ 32.278289] wsdisplay0: screen 2 added (default, vt100 emulation)
[ 32.278289] wsdisplay0: screen 3 added (default, vt100 emulation)
[ 32.278289] wsdisplay0: screen 4 added (default, vt100 emulation)
Hello,
I was given an old motherboard as a gift from my sister. I like tuning and upgrading old hardware. I added more memory, a more powerful processor, an SSD, and so on.
I enjoy studying operating systems, so I decided to install multiple ones: Fedora, FreeBSD, NetBSD, DragonFlyBSD, and Haiku.
I first partitioned the SSD into 8 partitions (plus two for GRUB boot) using GParted on a USB drive (GPT scheme).
lsblk command in Fedora:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 155.3G 0 part /
├─sda4 8:4 0 155.3G 0 part
├─sda5 8:5 0 155.3G 0 part
├─sda6 8:6 0 155.3G 0 part
├─sda7 8:7 0 155.3G 0 part
└─sda8 8:8 0 154.3G 0 part
zram0 252:0 0. 1.9G 0 disk [SWAP]
I installed the operating systems in the following order:
Partition 3: Fedora 40
Partition 4: FreeBSD 14.2
Partition 5: NetBSD 10
Partition 6: DragonFlyBSD 6.4.0
Partition 7: (still empty, possibly Amiga-like OS)
Partition 8: Haiku R5
Installing Fedora, FreeBSD, and Haiku was easy.
The problem started with the NetBSD installation.
I had to enter the shell and use dkctl to complete the installation.
After that, I tried installing DragonFlyBSD, but the installer does not recognize the GPT scheme; it only sees the entire SSD as a single unpartitioned disk.
gdisk /dev/sda command in Fedora:
Number Start (sector) End (sector) Size Code Name
1 40 2087 1024.0 KiB EF02
2 2088 2099239 1024.0 MiB 8300 boot
3 2099240 327688231 155.3 GiB 8300 Fedora
4 327688232 653275175 155.3 GiB A503 FreeBSD
5 653275176 978862119 155.3 GiB A902 NetBSD
6 978862120 1304449063 155.3 GiB 8300 DragonFlyBSD
7 1304449064 1630036007 155.3 GiB A503 Amiga-Like
8 1630036008 1953523751 154.3 GiB EB00 Haiku
I searched on ChatGPT 😁 and found these steps:
I first started FreeBSD and formatted partition /dev/ada0p6:
newfs -U -O1 -L DragonFlyBSD /dev/ada0p6
Then, I downloaded the DragonFlyBSD image:
curl -O http://mirror-master.dragonflybsd.org/iso-images/dfly-x86_64-6.4.0_REL.img.bz2
I decompressed the package:
bzip2 -dk dfly-x86_64-6.4.0_REL.img.bz2
I mounted the /dev/ada0p6 partition:
mount /dev/ada0p6 /mnt
I copied the image file to the mounted partition and then unmounted it:
cp dfly-x86_64-6.4.0_REL.img /mnt
umount /mnt
I restarted the system and booted from a USB drive with the DragonFlyBSD installer.
In the shell, I created a new directory dflydsk in /mnt, mounted the partition I wanted to use at /mnt/dflydsk, and created a virtual device for the DragonFlyBSD installer image stored in /mnt/dflydsk:
mount -t ufs /dev/ad4s5 /mnt/dflydsk
vnconfig vnd0 /mnt/dflydsk/dfly-x86_64-6.4.0_REL.img
I created another directory dflyimg in /mnt and mounted the virtual device at /mnt/dflyimg:
mount -t ufs /dev/vnd0s2 /mnt/dflyimg
I copied the contents of /mnt/dflyimg to /mnt/dflydsk:
cpdup -vv /mnt/dflyimg /mnt/dflydsk
After that, I used chroot to set the root password and edit fstab.
Finally, I configured Fedora's GRUB in the 40_custom file with:
nano /etc/grub.d/40_custom
...
menuentry "DragonflyBSD" {
insmod part_gpt
insmod ufs1
set root=(hd0,gpt6)
kfreebsd /boot/loader
}
...
And I loaded with:
grub2-mkconfig -o /boot/grub2/grub.cfg
Well, I think I described the steps as accurately as possible—maybe a mistake here and there, but that's the gist of it.
However, when I booted, I got this screen:
Am I doing everything correctly? If not, what do I need to change?
You might think the world of Linux distributions is a rather boring, settled affair, but there’s actually a ton of interesting experimentation going on in the Linux world. From things like NixOS with its unique packaging framework, to the various immutable distributions out there like the Fedora Atomic editions, there’s enough uniqueness to go around to find a lid for every pot. Oasis Linux surely falls into this category. One of its main unique characteristics is that it’s entirely statically linked.
All software in the base system is linked statically, including the display server (velox) and web browser (netsurf). Compared to dynamic linking, this is a simpler mechanism which eliminates problems with upgrading libraries, and results in completely self-contained binaries that can easily be copied to other systems.
↫ Oasis GitHub page
That’s not all it has to offer, though. It also offers fast and 100% reproducible builds, it’s mostly ISO C conformant, and it has minimal bootstrap dependencies – all you need is a “POSIX system with git, lua, curl, a sha256 utility, standard compression utilities, and an x86_64-linux-musl
cross compiler”. The ISO C-comformance is a crucial part of one of Oasis’ goals: to be buildable with cproc, a small, very strict C11 compiler. It has no package manager, but any software outside of Oasis itself can be installed and managed with pkgsrc or Nix.
Another important goal of the project is to be extremely easy to understand, and its /etc
directory is honestly a sight to behold, and as the project proudly claims, the most complex file in there is rc.init
at a mere 16 lines. The configuration files are indeed incredibly easy to understand, which is a breath of fresh air compared to the archaic stuff in commercial UNIX or the complex stuff in modern Linux distributions that I normally deal with.
I’m not sure is Oasis would make for a good, usable day-to-day operating system, but I definitely like what they’re putting down.
mount /dev/sd0e /mnt
Update: there’s a fork called heirloom-ng that is actually still somewhat maintained and contains some more changes and modernisations compared to the old version.
The Heirloom Project provides traditional implementations of standard Unix utilities. In many cases, they have been derived from original Unix material released as Open Source by Caldera and Sun.
Interfaces follow traditional practice; they remain generally compatible with System V, although extensions that have become common use over the course of time are sometimes provided. Most utilities are also included in a variant that aims at POSIX conformance.
On the interior, technologies for the twenty-first century such as the UTF-8 character encoding or OpenType fonts are supported.
↫ The Heirloom Project website
I had never heard of this before, but I like the approach they’re taking. This isn’t just taking System V tools and making them work on a modern UNIX-like system as-is; they’re also improving by them adding support for modern technologies, without actually changing their classic nature and the way old-fashioned users expect them to work. Sadly, the project seems to be dead, as the code hasn’t been altered since 2008. Perhaps someone new is willing to take up this project?
As it currently stands, the tools are available for Linux, Solaris, Open UNIX, HP-UX, AIX, FreeBSD, NetBSD, and OpenBSD, but considering how long the code hasn’t been touched, I wonder if they still run and work on any of those systems today. They also come in various different versions which comply with different variants of the POSIX standard.
As you might be aware of, I am working on a minimal BSD/UNIX system called smolBSD. It is based on the NetBSD operating system, and its main target is virtual machines, more specifically microvms. This system is capable of fully booting the OS in less than one second using a specially trimmed kernel along with small, specialized root systems.
I was stunned to learn (but am I wrong?) that this work does not seem to have an equivalent, not even in the Linux world. FreeBSD Firecracker support sure permits to boot a kernel is about the same time my NetBSD hacked kernel does, but there’s no work around s slim and task dedicated root filesystem.
Quirky, just like I want it.
Your unrelated music link of the week: Where to Start With Tempa, The Label That Invented Dubstep.
Make, as arcane as a build tool can be, may still be a good first fit for certain scenarios. “Heresy!”, you say, as you hear a so-called “Bazel expert” utter these words.
The specific problem I’m facing is that I need to glue together the NetBSD build system, a quilt patch set, EndBASIC’s Cargo-based Rust build, and a couple of QEMU invocations to produce a Frankenstein disk image for a Raspberry Pi. And the thing is: Make allows doing this sort of stitching with relative ease. Sure, Make is not the best option because the overall build performance is “meh” and because incremental builds are almost-impossible to get right… but adopting Bazel for this project would be an almost-infinite time sink.
Anyway. When using Make in this manner, you often end up with what’s essentially a “command dispatcher” and, over time, the number of commands grows and it’s hard to make sense of which one to use for what. Sure, you can write a README.md
with instructions, but I guarantee you that the text will get out of sync faster than you can read this article. There is a better way, though.
This report was written by Diviyam Pat as part of Google Summer of Code 2024.
This summer I worked on NetBSD's kernel test framework to cover root device discovery and root file system selection. This area of the kernel is not very well documented and program flow has to be determined by reading the code.
I would also like to tell you about my early interactions with the project, let me start with project findings.
Google Summer of Code 2024 is not my first time applying to GSoC. My first time was in 2022, in my first year of college. I have been fascinated with newer Windows versions since my Intel Core Duo i3 days as every new Windows version used to bring new changes and features, from Windows XP to Vista to 8.1 and then to 10 (cosmetic only) but was very heavy on my PC's memory usage that was upwards of 60% leaving very little room for applications and games.
My Intel i3 would be enough for it. This experience made me decide I wanted my project to be in the operating system space. I ventured into all OS projects on the Google Summer of Code website. Gentoo, Debian but that didn't turn out well. I then decided to explore BSDs. The community seemed friendlier, more responsive, and active in helping beginners. I started mailing all the mentors about my interests (I realized I should have done a lot more work before mailing them, it shows more dedication towards the project.)
Christoph explained the project in great detail to me, helped me with getting started and guided me through the hard parts of the project.
Root device and file-system selection is made during the later stages of the
boot process by the kernel.
The kernel config file defines candidates for the root device and the kernel selects one after validating those options.
If no options are defined, the auto config subroutines handle configuration.
Head over to my docs for more details here.
This functionality is handled primarily by the function setroot
in file
kern_subr.c
.
It also calls specialized functions for a number of cases.
Our task was to add ATF tests for this function and some other functions
that assist setroot
.
This part of the kernel works, and it has worked for over 30 years but the
code is rather complex to read and there is no documentation.
The only way to understand it is to read the code.
At any given stage when any condition fails the fallback option is to ask
the user manually for the device.
Thus this part of the kernel rarely needs attention.
There are some global functions used in conditions inside setroot
:
rootspec
, bootspec
, etc.
These variables are either set through the config file or through other
machine-dependent kernel functions like findroot
etc.
We need to manually set them in our test cases and also need to stub kernel
functions used by setroot
and other functions.
We wanted to make these test cases use 'vnd' devices, but we ran into bugs, and Christoph was trying to fix them.
Therefore we had to resort to stubbing.
We validate the global variables.
We also test the tftproot_dhcpboot
function that loads the contents of a memory disk device from a TFTP server and uses that as root device.
Devices are represented by the device_t
struct which is populated by the
kernel.
We mock this behavior through the create_device
function and use this in the test programs.
User input is handled by stubbing the cngetsn
function.
Global variables and arguments are set to test values in the body of the
test cases and the function being tested is called.
The test file is divided into 3 parts: 1) setroot_root, 2) setroot_ask, and 3)
tftproot_dhcp.
In the file kern_subr.c setroot()
calls these functions but
here we test them independently
I have worked on enhancing NetBSD's ATF tests to test the root device and file system selection process, testing the setroot
function and its dependencies.
These tests shall improve coverage of the ATF tests to the setroot
function and in general, to root device selection.
In the future, contributors can rely on these tests for kern_subr.c
's functionality.
I am C++ developer and unfamiliar with script technologies like nodejs etc. I tried to build VS Codium on NetBSD 10.0 from sources 1.96.2 on github, by how-to manual. After running build/build.sh it outputs:
...
+++ ../update_settings.sh
300s/'default': true/'default': false/
sed: -E: No such file or directory
219s/'default': TelemetryConfiguration.ON/'default': TelemetryConfiguration.OFF/
sed: -E: No such file or directory
114s/'default': true/'default': false/
sed: -E: No such file or directory
#
When I look into target directory vscode I am seeing there something like result: vscode/cli/src/bin/code/main.rs How to continue with build to reach binary executable "bin/codium" ? What to do with that main.rs ? I read that it has something with rust ? Can anyone put more light on this to understand what to do ? I don't need to create installation package, it should be sufficient to run VSCodium from target build directory.
I recently picked up an embedded project in which I needed to build a highly customized full system image with minimal boot times. As I explored my options, I came to the conclusion that NetBSD, the often-forgotten BSD variant, was the best viable choice for my project.
One reason for this choice is NetBSD’s build system. Once you look and get past the fact that it feels frozen in time since 2002, you realize it is still one of the most advanced build systems you can find for an OS. And it shows: the NetBSD build system allows you to build the full OS from scratch, on pretty much any host POSIX platform, while targeting any hardware architecture supported by NetBSD. All without root privileges.
Another reason for this choice is that NetBSD was my daily workhorse for many years and I’m quite familiar with its internals, which is useful knowledge to quickly achieve the goals I have in mind. In fact, I was a NetBSD Developer with capital D: I had commit access to the project from about 2002 through 2012 or so, and I have just revived my account in service of this project. jmmv@
is back!
So, strap onto your seats and let’s see how today’s NetBSD build system looks like and what makes it special. I’ll add my own critique at the end, because it ain’t perfect, but overall it continues to deliver on its design goals set in the late 1990s.
The NetBSD project is pleased to announce the first update of the NetBSD 10 release branch NetBSD 10.1! See the release announcement for details.
This release includes 9 months of bug fixes and a few new features after the 10.0 release in March. It also gives those still using older release a good reason to finally update to the NetBSD 10 release branch, even if they avoid dot-zero releases by all means.
If you want to try NetBSD 10.1 please check the installation notes for your architecture and download the preferred install image from the CDN or if you are using an ARM based device from the netbsd-10 builds from the bootable ARM images page.
If you have any issues with installation or run into issues with the system during use, please contact us on one of the mailing lists or file a problem report.
This is my makefile:
CC = gcc
TARGET = target
CFLAGS = -O3 -Wall -Wextra -pedantic
SRCS = $(shell find . -type f -name '*.c')
OBJS = $(patsubst %.c,%.o,$(SRCS))
.PHONY: all clean
all: $(TARGET)
$(OBJS): $(SRCS)
$(CC) $(CFLAGS) -c $< -o $@
.PRECIOUS: $(TARGET) $(OBJS)
$(TARGET): $(OBJS)
$(CC) $(OBJS) -o $@
clean:
-rm -f *.o
-rm -f $(TARGET)
this is the output message:
gcc -o target
gcc: fatal error: no input files
compilation terminated.
*** Error code 1
I'm trying to get this to work on NetBSD. What am I doing wrong? Also, I've found that $(SRCS) is just empty, but if I run find . -type f -name '*.c' in the shell on it's own, I do get the desired files. Please help !
I can't understand what "-f" option to find command on NetBSD mean.
Manual: https://man.netbsd.org/find.1 says
-f Specifies a file hierarchy for find to traverse. File hierarchies may also be specified as the operands immediately following the options.
Usage:
find [-H | -L | -P] [-dEhsXx] -f file [file ...] [expression]
find [-H | -L | -P] [-dEhsXx] file [file ...] [expression]
I would expect the two following calls to be equivalent:
home# find ./ -name "*c"
./1.c
home# find -f ./ -name "*c"
find: unknown option -- n
find: unknown option -- a
find: unknown option -- m
find: unknown option -- e
./
./1.c
find: *c: No such file or directory
Instead to make second equivalent I have to run
home# find -f ./ -- -name "*c"
./1.c
Am I missing something?
I have a very old AirPort Extreme, the A1408. Is it possible to install Linux on it, using the AirPort functionally as a hard disk, and then boot from that? I have also heard that AirPorts run NetBSD. Can you boot into that and run commands?
I have not been at EuroBSDCon for a while, unfortunately! My last EuroBSDCon was EuroBSDcon 2017 in Paris, France (and I have also blogged about it)!
I was very excited to come back to EuroBSDCon. Meet again in person with people. Talk in the "hall track"... and, why not!, have some fun and do some shenanigans in the nights! :)
And... definitely it was very nice, instructive and fun!
I have not fully unpacked the bag but it's time to share some notes!
I arrived in Dublin on Friday afternoon. After some sightseeing on foot I got lost in the paintings of the National Gallery of Ireland.
I then spent the rest of the evening and night in Porterhouse Temple Bar. I had a tasty soup and garlic bread and several delicious craft beers!
My hotel was a 40 minutes walk from University College Dublin (UCD). I arrived a bit early for the registration. I then met some other NetBSD folks that I had missed in person since 2018 and met new ones.
View from O'Reilly Hall, University College Dublin.
After the Opening Session that welcomed us, the conference started with the opening keynote Evidence based Policy formation in the EU what Evidence are we Presenting to the EU? by Tom Smyth. Tom Smyth shared his experience on evidence based policy formation in the European Union from a point of a relatively small ISP. EU is open to feedback and as a BSD community we can shape and influence policies.
Taylor talked about bit flips, the memory errors in the machine.
Memory errors caught in the act: corruption of a filename in Riastradh's local machine.
He started sharing a catch of bit flip in a filename corruption on his local
machine in NetBSD src
repository. A bit flipped and that
resulted from
external/gpl3/gdb/dist/gdb/testsuite/gdb.linespec/cpls.cc
to
e\370ternal/gpl3/gdb/dist/gdb/testsuite/gdb.linespec/cpls.cc
(In ASCII lower case
x
is \170
that is
01111000 in binary, while
\370
is 11111000, the most
significant bit got flipped!).
He also opened several PRs - due to several experienced kernel panics mostly in ZFS - before he realized that it was bad RAM.
As part of the talk a lot of fundamentals concepts and theory behind Error Detection And Correction (EDAC), causes of memory errors, where memory errors can happen, error severity and error persistence were shared.
Taylor then talked and digged in ACPI Platform Error Interface (APEI) that is the standard interface in ACPI that abstract EDAC device registers.
In NetBSD APEI is supported by the apei(4) driver.
The apei(4) driver also exposes a sysctl interface to APEI EINJ (Error INJection) that permit to also inject errors. Using such interface Riastradh live demoed that and trigger a memory error that was corrected and reported by apei(4)!
Riastradh live demoing a memory error using APEI EINJ via apei(4).
The talk was great and super-interesting. Memory errors are also pretty common. Taylor also shared a lot of anecdotes and that make his talk even more fun and interesting!
Dr. Nicola Mingotti talk was a great introduction (and more) to Generalized Pin Input Output (GPIO)!
He started really from the start by populating a uSD card and installing and configuring NetBSD on a Raspberry Pi 3 Model B+.
He then introduced GPIO, how the RPi3B+ pin maps to the GPIO number and then we were ready to get our hands on GPIO!
As first exercises he showed how to set a PIN state (on/off) and read a PIN state via gpioctl(8). This can be used respectively to turn a LED on/off and to read the state of a switch.
The second series of exercises looked on how fast gpioctl
can be. This is limited for several applications and so Nicola
introduced how to write and read pin states in C via ioctl(2). This is much faster
and with that we can go from switches to square waves!
To avoid bit-banging and polling respectively gpiopwm(4) and gpioirq(4) can be used. Nicola shared several applications of them, like blinking LED and loopback. (Another possible application, left as an exercise to the reader is the "daemon toggler". The "daemon toggler" starts/stops a daemon (e.g. ntpd(8)) based on the state of a physical switch!)
He then shared a much bigger application a Wind-Speed Logger (AKA WSL). This was used by Nicola in order to evaluate if wind turbines could be installed or not. He also shared how he adjusted an RPi case and built housing for it (the RPi will be outside, needs to cool off so needs some ventilation but at the same time the housing should block rain!)
Nicola showing the sensor used to build the Wind-Speed Logger (WSL).
He concluded the talk on why he used NetBSD.
The talk was really educational. Nicola did a great job in summarizing and providing a lot of references. If you are more interested I suggest to catch up with the video recordings, slides and try to do the exercises in it!
After Nicola's talk I have spent some time in the "hall track" talking with other people and missed a couple of talks (recording should be available so I will hopefully catch up!).
I have then attended Stefano Marinelli's talk Why (and how) we're migrating many of our servers from Linux to the BSDs.
Stefano shared his more than 2 decades old experience with BSD systems and how he made his passion his profession.
He shared his philosophy, experience with clients and why it is important to focus on solving problems.
During the talk he shared also several interesting stories with clients. In one of them to avoid possible bias on BSD systems he migrated client hosts without informing them. A client called alarmed because he noticed a massive performance boost!
His talk was inspiring and you can find more in his I Solve Problems blog post.
After Stefano's talk we gathered to join the social event and took a DART train (Dublin Area Rapid Transit).
The social event was in BrewDog Dublin Outpost.
We were in an area dedicated to EuroBSDCon participants so that we can eat, drink and talk. There was a buffet and we received tickets to grab beers.
Several folks gifted me an handful and I have definitely had a pretty ample beer tasting experience too! :)
I also had a Vegan Spicy Meaty pizza: a pizza with seitan, mushrooms, chilli flakes, fresh red chilli, tomatoes and vegan mozzarella. My italian-pizza-side is usally pretty orthodox and I usually go for a pizza marinara! :) But overall that was actually pretty nice and I really appreciated the topping!
I have staid with a couple of folks until the closure.
With Christoph Badura (<bad@>
) we walked in the
desperate search of grabbing some more food. However, at the end we
ended up in The Temple Bar Pub for "only another beer"! We met with
some friendly Swedish and Swiss tourists and we started talking about
BSD systems at 2:00 AM! The weather was pretty nice (it was always
pretty cloudy but there was no rain for the entire conference)
and we decided to continue walking back to our hotels.
At the end we have walked for a bit less than 9 kilometers from Temple Bar
to nearly Booterstown!
That was a great walk though and definitely we had no traces of
hangovers in the morning! :)
I wake up a bit late on Sunday and arrived in UCD at around 12:00 and staid until lunch in the "hall track".
For lunch the vegetarian dish was a vegetarian curry, pretty tasty!
On Sunday we had a longer lunch break also to take a family photo.
EuroBSDCon 2024 family picture. You can find more EuroBSDCon
photographs taken by Ollivier Robert at EuroBSDCon 2024 -
Dublin, Ireland album.
After lunch I have attended FreeBSD at 30 Years: Its Secrets to Success by Kirk McKusick. In this talk Kirk looked back at 30 years of FreeBSD history (and also more for BSD years!) and what made its success. He talked about a lot of different topics, including leadership, development, importance of adopting ideas and codes from NetBSD and OpenBSD, communication, documentation and project culture. He also shared several interesting statistics and demographic about FreeBSD.
I have then attended Confidential Computing with OpenBSD by Hans-Jörg Höxer. Hans-Jörg introduced concepts about confidential computing, the threat model that it cover and then digged in AMD Secure Encrypted Virtualization (SEV) and how he is using that in OpenBSD vmm(4).
Then I have attended Building an open native FreeBSD CI system from scratch with lua, C, jails & zfs by Dave Cottlehuber. In this talk Dave shared the design and implementation of a Continuous Integration (CI) system focused on FreeBSD technologies but that can be ported also to other BSDs.
The final talk I have attended was SIMD-enhanced libc string functions: how it's done by Robert Clausecker and Getz Mikalsen. In this talk Robert shared how several libc string functions were reimplemented in other to use SIMD techniques on amd64 and arm64. Getz worked on porting such work on arm64 as part of Google Summer of Code 2024 and he shared his work and challenges in porting that. The talk was interesting and micro-benchmarking showed performance increase by factor of 5 on average!
Then I have joined the Closing Session.
There was a wrap up of the conference and some stats about it.
And *drumrolls* the next EuroBSDCon location was announced! EuroBSDCon 2025 will be in Zagreb, Croatia!
After the Closing Session with other NetBSD folks we met again for one
last dinner. We met with Andy Doran (<ad@>
) and we
had some junk food and several beers.
I had not traveled a lot in the last years and I have missed several EuroBSDCon-s and I really regret that! EuroBSDCon 2024 was great: very interesting talks, friendly folks and it was some time that I did not had so much fun!
Dublin was also really nice. All the locals were also very friendly. I hope to come back to both Dublin and Ireland to do some much more sightseeing in a more relaxed pace. Enjoy food, beers, drinks and more. Talk with locals.
I would like to thanks a lot to all the EuroBSDCon organizers for the amazing conference!
I also would like to thanks The NetBSD Foundation that funded my EuroBSDCon registration.
If you have never been to EuroBSDCon and you are curious about BSDs... I strongly suggest to attend either as participant or speaker! Folks are super-friendly, there are a lot of interesting tutorials and talks and I'm pretty sure you will have fun too!
And... if you are still reading until here... thank you too! :)
This report was written by Emmanuel Nyarko as part of Google Summer of Code 2024.
Alternate Queuing has been of great need in the high Performance Computing space since the continuous records of unfair disruption in network quality due to the buffer bloat problem. The buffer bloat problem still persists and not completely gone but modern active queue managements have been introduced to improve the performance of networks.
ALTQ was refactored to basically improve maintainability. Duplicates were handled, some compile time errors were fixed and also performance has been improved too.
This improves the quality of developer experience on maintaining the ALTQ codebase.
The Controlled Delay (CoDel) active queue management has also been integrated into the netbsd codebase. This introduces improvements made in the area of quality of service in the netbsd operating system. CoDel was a research led collaborative work by Van Jacobness and Kathleen Nichols which was developed to manage queues under control of the minimum delay experienced by packets in the running buffer window.
As it stands now, ALTQ in NetBSD is integrated in PF packet filter. I am currently working to integrate it in the NPF packet filter. The code in NetBSD is on the constant pursuit to produce clean and maintainable code.
I'll also be working to improve quality of service in NetBSD through quality and collaborative research driven by randomness in results. As a research computer scientist, I will be working to propose new active queue managements for the NetBSD operating system to completely defeat the long lasting buffer bloat problem.
More details of the work can be found in my Google Summer of Code 2024 work submission.
I am trying to install, for the first time, NetBSD-10.0-amd64 on HP EliteBook 8570w. After choosing "Install BSD" option installer goes to the booting mode and gets interrupted with an error:
502c0
Stopped in pid 294.294 (init) at netbsd:breakpoint+0x5: leave
breakpoint() at netbsd:breakpoint+0x5
vpanic() at netbsd:vpanic+0x183
panic() at netbsd:panic+0x3c
cnopen() at netbsd:cnopen+0x104
cdev_open() at netbsd:cdev_open+0x12a
spec_open() at netbsd:spec_open+0x1e0
VOP_OPEN() at netbsd:VOP_OPEN+0x3e
vn_open() at netbsd:vn_open+0x2ec
do_open() at netbsd:do_open+0xc3
do_sys_openat() at netbsd:do_sys_openat+0x74
sys_open() at netbsd:sys_open+0x24
syscall() at netbsd:syscall+0x1fc
--- syscall (number 5) ---
netbsd:syscall+0x1fc
ds 8
es 2
fs 180
gs 4a80
rdi 0
rsi ffffffff81d88000
rsi ffffbe8345a54ad0
rbx 0
rdx 1
rcx ffffffffffffff
rax 800000000000000
r8 0
r9 0
r10 ffffffff818450e0 x86_mem
r11 fffffffe
r12 ffffffff8139af6f ostype+0x13aa
r13 ffffbe8345a54b18
r14 104
r15 ffff8046d2cbdbc0
rip ffffffff80235385 breakpoint+0x5
cs 8
rflags 202
rsp ffffbe8345a54ad0
ss 10
netbsd:breakpoint +0x5: leave
If I continue the system precedes to reboot.
I'm not familiar with bsd tools so please tell me if I left important information.
I installed FreeBSD and Arch Linux on the same machine and it worked fine.