A fresh look at FreeBSD
Sep. 9th, 2022 01:53 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I did this on a pro basis a little while ago:
https://www.theregister.com/2022/05/20/freebsd_131/
It went easier than I expected, so I thought I'd have a go on my sacrificial half-decent Thinkpad.
(It is a T420: only a Core i5, it has a wobbly screen hinge, new-but-dead battery, and until recently it had a tiny decade+ old SSD. Recently, I pulled the mSATA SSD that was giving errors from my X220, replaced it with a new bigger one -- that's only been waiting for a couple of years -- and bunged the old, possibly-flakey one into the sacrificial T420. I tried it with Ubuntu Kylin, the international remix. Kylin worked well although there are numerous little glitches.)
This machine's primary SSD has ChromeOS Flex on it. I rather like it. It's slick, it's fast, it does its one job very well. I am using a Debian container to run Firefox 'cos I am perverse like that. Firefox is slow to start, issues with maximisation, but works well.
Tonight, because the radio has gone Very Very Solemn And Dull And Worthy, I spent a while faffing with DR-DOS VMs and then I decided on something that might be more educational.
I nuked Kylin and put FreeBSD 13.1 on it.
Now recently I tried GhostBSD on my multiboot testbed. It was a nightmare. Hard, fiddly, falls over in its own install process, and the end result has an ugly theme. Not impressed.
So I went with the vanilla version.
First boot: it finds the wifi card, but can't see any WLANs. That is not much cop.
Tried again. Found a hint online on my phone, switched vconsoles, did `ifconfig wlan0 down` and then `ifconfig wlan0 up`. Went back to the installer, and lo! It sees WLANs! Pick mine, connect, and now I can install stuff.
So, violating the recommended process -- since it's booted off a DVD image via Ventoy, I figure that if I reboot, I won't be able to readily mount and install stuff off that. So let's do it while I'm booted off the install medium. It leaves you in a `chroot` console so it should be installing stuff onto the hard disk.
So, I followed this:
https://unixcop.com/how-to-install-xfce-in-freebsd-13/
Install xorg, then install slim, then install xfce, then manually write some config files because FreeBSD is a bit BDSM like that.
Reboot... no GUI. `startx` fails with an error about not being able to use the framebuffer.
Google. Find some vague hints. This seems to be the BSD way: no straight answers, nothing current, sort it out newbie.
This thread has info. And people arguing, and disagreeing, and telling each other they're wrong.
https://forums.freebsd.org/threads/new-to-freebsd-startx-fails-with-cannot-run-in-framebuffer-mode-help.68882/
But it has some pointers. Install Intel video drivers. Reboot. Nope.
There are vague conflicting things about DRM-mod, whatever that is. Most of the packages don't exist, but `drm-kmod` does. It says it's something to do with Linux, but what the hell, it's a sacrificial system. Install it.
It pulls in dozens and dozens of other things... AMD drives, nVidia drivers, Intel drivers, hypothetical deities know what. Anyway. Let it finish, reboot.
And lo! A desktop!
Obviously my ordinary user can't log in, because I only hand-wrote an `.xinitrc` for root. Use that. It works. Switch consoles and handwrite one for `lproven` too, in Vi, because fsck you, newbie.
Luckily for me, I am not a newbie. I am a grumpy old git but I do have some skills and I did do this in a VM just a couple of months ago.
And stone me, but it works. I can log in.
No volume control. No sound. No network controls. No browser. It's all a bit minimal but it's there, and it works.
So I have just spent an hour or so installing Firefox, Chromium, LibreOffice, a PDF viewer -- watch out, the default install of `atril` tries to pull in all of MATE! Feck! Ctrl-C Ctrl-C! OK, now I know why `atril-lite` is there.
I have a decent shell. With manual installing of Xfce packages, and a graphical package manager, which in turn needed manual installation and configuration of `sudo` -- but ahaha, I added a `wheel` group during installation because this is not my first rodeo -- I have a perfectly nice desktop.
I had to manually install a fake network-manager, whose webpage implies it's an external thing but it isn't, it's in the repos, and it works. And Chromium pulled in Pulseaudio and now sound works. LibreOffice pulled in a JVM.
It only took a few hours' work, some jiggery-pokery to get it connected, but it works. And on a Core i5 with 6GB of RAM, running off an old and possibly knackered 128GB SSD, it's fast.
Grudgingly, I am impressed. It is much much too much hard work. There really ought to be an Ubuntu-like distro of this that doesn't fsck around with it and leaves everything on defaults -- which disqualifies GhostBSD and MidnightBSD, and FuryBSD is dead.
There's a ports system still although interestingly now it's an optional install. Everything so far has been in the repos, and it remember my wifi credentials from installation and it still autoconnects. Updating is painless.
FreeBSD has come quite a long way. This is a usable desktop OS. It most certainly wasn't last time I tried, on version 9 or 10. I failed to get 12 to install completely, although getting a networked text-only server was fairly easy.
Small stuff that pleases me: my brightness controls work, Lenovo's volume controls work, etc. The mouse works on the console.
And it doesn't take much RAM, and in 6GB of RAM, it feels very smooth and not at all like it's trying hard. I don't think I've heard the laptop's fans come on yet.
I haven't seen much noise out of the Hello System for a while now, which looked like the last best hope for an easy, clean, desktop FreeBSD. I know he is not a fan of GNUstep but I like it -- I reckon ProbonoPD should have adopted NeXTspace.
https://github.com/trunkmaster/nextspace
I have yet to try suspend and resume. I should. Power management seems to be on, though; the machine runs nice and cool.
A lot of people are getting very irked with Linux these days. GNOME is a mess and getting worse, Snap and Flatpak are grossly inefficient, systemd has lots of enemies, Btrfs isn't that trustworthy -- it ate my OS multiple times at SUSE -- Bcachefs and Stratis aren't ready and ZFS is only in Ubuntu and is controversial.
All of that goes away with FreeBSD.
But currently, it is much much too hard to install, even if it's better than it was, and it is going to scare Linux people off unless they are seriously hardcore.
I've been running TrueNAS Core on my home NAS for a while now and I like it. So far it's been bulletproof.
There is potential in this OS, but it needs to work a bit harder on its outreach. Pick a nice simple default desktop, something that isn't mainstream in the Linux world for differentiation -- Xfce works great -- and a simple clean default set of apps. Something akin to an Ubuntu Minimal Install: desktop, file manager, maybe some viewers, text editor, and a good browser.
https://www.theregister.com/2022/05/20/freebsd_131/
It went easier than I expected, so I thought I'd have a go on my sacrificial half-decent Thinkpad.
(It is a T420: only a Core i5, it has a wobbly screen hinge, new-but-dead battery, and until recently it had a tiny decade+ old SSD. Recently, I pulled the mSATA SSD that was giving errors from my X220, replaced it with a new bigger one -- that's only been waiting for a couple of years -- and bunged the old, possibly-flakey one into the sacrificial T420. I tried it with Ubuntu Kylin, the international remix. Kylin worked well although there are numerous little glitches.)
This machine's primary SSD has ChromeOS Flex on it. I rather like it. It's slick, it's fast, it does its one job very well. I am using a Debian container to run Firefox 'cos I am perverse like that. Firefox is slow to start, issues with maximisation, but works well.
Tonight, because the radio has gone Very Very Solemn And Dull And Worthy, I spent a while faffing with DR-DOS VMs and then I decided on something that might be more educational.
I nuked Kylin and put FreeBSD 13.1 on it.
Now recently I tried GhostBSD on my multiboot testbed. It was a nightmare. Hard, fiddly, falls over in its own install process, and the end result has an ugly theme. Not impressed.
So I went with the vanilla version.
First boot: it finds the wifi card, but can't see any WLANs. That is not much cop.
Tried again. Found a hint online on my phone, switched vconsoles, did `ifconfig wlan0 down` and then `ifconfig wlan0 up`. Went back to the installer, and lo! It sees WLANs! Pick mine, connect, and now I can install stuff.
So, violating the recommended process -- since it's booted off a DVD image via Ventoy, I figure that if I reboot, I won't be able to readily mount and install stuff off that. So let's do it while I'm booted off the install medium. It leaves you in a `chroot` console so it should be installing stuff onto the hard disk.
So, I followed this:
https://unixcop.com/how-to-install-xfce-in-freebsd-13/
Install xorg, then install slim, then install xfce, then manually write some config files because FreeBSD is a bit BDSM like that.
Reboot... no GUI. `startx` fails with an error about not being able to use the framebuffer.
Google. Find some vague hints. This seems to be the BSD way: no straight answers, nothing current, sort it out newbie.
This thread has info. And people arguing, and disagreeing, and telling each other they're wrong.
https://forums.freebsd.org/threads/new-to-freebsd-startx-fails-with-cannot-run-in-framebuffer-mode-help.68882/
But it has some pointers. Install Intel video drivers. Reboot. Nope.
There are vague conflicting things about DRM-mod, whatever that is. Most of the packages don't exist, but `drm-kmod` does. It says it's something to do with Linux, but what the hell, it's a sacrificial system. Install it.
It pulls in dozens and dozens of other things... AMD drives, nVidia drivers, Intel drivers, hypothetical deities know what. Anyway. Let it finish, reboot.
And lo! A desktop!
Obviously my ordinary user can't log in, because I only hand-wrote an `.xinitrc` for root. Use that. It works. Switch consoles and handwrite one for `lproven` too, in Vi, because fsck you, newbie.
Luckily for me, I am not a newbie. I am a grumpy old git but I do have some skills and I did do this in a VM just a couple of months ago.
And stone me, but it works. I can log in.
No volume control. No sound. No network controls. No browser. It's all a bit minimal but it's there, and it works.
So I have just spent an hour or so installing Firefox, Chromium, LibreOffice, a PDF viewer -- watch out, the default install of `atril` tries to pull in all of MATE! Feck! Ctrl-C Ctrl-C! OK, now I know why `atril-lite` is there.
I have a decent shell. With manual installing of Xfce packages, and a graphical package manager, which in turn needed manual installation and configuration of `sudo` -- but ahaha, I added a `wheel` group during installation because this is not my first rodeo -- I have a perfectly nice desktop.
I had to manually install a fake network-manager, whose webpage implies it's an external thing but it isn't, it's in the repos, and it works. And Chromium pulled in Pulseaudio and now sound works. LibreOffice pulled in a JVM.
It only took a few hours' work, some jiggery-pokery to get it connected, but it works. And on a Core i5 with 6GB of RAM, running off an old and possibly knackered 128GB SSD, it's fast.
Grudgingly, I am impressed. It is much much too much hard work. There really ought to be an Ubuntu-like distro of this that doesn't fsck around with it and leaves everything on defaults -- which disqualifies GhostBSD and MidnightBSD, and FuryBSD is dead.
There's a ports system still although interestingly now it's an optional install. Everything so far has been in the repos, and it remember my wifi credentials from installation and it still autoconnects. Updating is painless.
FreeBSD has come quite a long way. This is a usable desktop OS. It most certainly wasn't last time I tried, on version 9 or 10. I failed to get 12 to install completely, although getting a networked text-only server was fairly easy.
Small stuff that pleases me: my brightness controls work, Lenovo's volume controls work, etc. The mouse works on the console.
And it doesn't take much RAM, and in 6GB of RAM, it feels very smooth and not at all like it's trying hard. I don't think I've heard the laptop's fans come on yet.
I haven't seen much noise out of the Hello System for a while now, which looked like the last best hope for an easy, clean, desktop FreeBSD. I know he is not a fan of GNUstep but I like it -- I reckon ProbonoPD should have adopted NeXTspace.
https://github.com/trunkmaster/nextspace
I have yet to try suspend and resume. I should. Power management seems to be on, though; the machine runs nice and cool.
A lot of people are getting very irked with Linux these days. GNOME is a mess and getting worse, Snap and Flatpak are grossly inefficient, systemd has lots of enemies, Btrfs isn't that trustworthy -- it ate my OS multiple times at SUSE -- Bcachefs and Stratis aren't ready and ZFS is only in Ubuntu and is controversial.
All of that goes away with FreeBSD.
But currently, it is much much too hard to install, even if it's better than it was, and it is going to scare Linux people off unless they are seriously hardcore.
I've been running TrueNAS Core on my home NAS for a while now and I like it. So far it's been bulletproof.
There is potential in this OS, but it needs to work a bit harder on its outreach. Pick a nice simple default desktop, something that isn't mainstream in the Linux world for differentiation -- Xfce works great -- and a simple clean default set of apps. Something akin to an Ubuntu Minimal Install: desktop, file manager, maybe some viewers, text editor, and a good browser.
no subject
Date: 2022-09-09 12:49 am (UTC)P.S. ChromeOS still works. This entry was composed in Chromium on FreeBSD, and this reply in Chrome on ChromeOS. :-)
no subject
Date: 2022-09-09 02:26 am (UTC)This sounds like FreeBSD has finally reached user-level parity with Linux circa 1996! WICKTORY IS IN SIGHT! The year of the FreeBSD beckons!
no subject
Date: 2022-09-09 10:32 am (UTC)Yes, that is a fair summary.
The fact that this is dual-booting (on a different drive) with ChromeOS is unintentionally richly ironic. They are basically polar opposites of the end-user-xNix-desktop scale, on the x86 PC.
One has no options, is dead easy, and just works. It only does one thing, but it's the most important thing, and it does it perfectly.
The other has way too many options, is extremely hard work, but it can do anything you want. If you work out how.
Yup, Linux ~25Y ago. Only without all the cruft that Linux has accumulated since then.
no subject
Date: 2022-09-09 08:54 am (UTC)no subject
Date: 2022-09-09 10:36 am (UTC)Yeah, little bit, yep.
You would have to be extremely strongly motivated to use this as your primary desktop OS, and frankly, it's too much trouble as a secondary one.
But without really knowing what I was doing, in an artificially-simple scenario (whole drive installation, no dedicated GPU, etc.), after a trial run long enough ago that I've forgotten the precise details, it worked. No network cable, no handbook or manual open (or immediately apparent to me), and it took 3 goes, but it did work and I didn't have to compile anything.
As Charlie says: it's a good 20+ years behind Linux, still.
no subject
Date: 2022-09-10 01:55 pm (UTC)Hey
Date: 2022-09-16 01:39 am (UTC)Thanks for that, it's now linked from the FreeBSD home page. (Context: https://github.com/freebsd/freebsd-doc/commit/babeded3e4de20cccf051b433af7c01274fa7ea8.)
This September follow-up is entertaining :-)
What's the Wi-Fi card?
Cheers
Graham, FreeBSD committer (doc)
Re: Hey
Date: 2022-09-16 08:48 am (UTC)Oh, splendid! Thank you!
The wifi card is whatever the standard one in a Thinkpad T420 is.
https://www.thinkwiki.org/wiki/Category:T420
I will boot it up and see if I can work it out.
ThinkPad T420 in the BSD Hardware Database
Date: 2022-09-16 03:46 pm (UTC)https://bsd-hardware.info/?view=computers&vendor=Lenovo&model=ThinkPad+T420+(All)&d=FreeBSD
Intel Centrino Advanced-N 6205 [Taylor Peak] in at least one of them:
https://bsd-hardware.info/?probe=dc29d714d9#pci:8086-0085-8086-1311&d=FreeBSD
I have the same card in an HP EliteBook 8570p with FreeBSD 14.0-CURRENT (and for a long time, I used it with 13.0-CURRENT).
(Networking is occasionally quirky for me, but not only with Wi-Fi; sometimes also with a wired connection. Quirky, but maybe a peculiarity of my chosen configuration. I might post something more to https://lists.freebsd.org/archives/freebsd-wireless/2022-September/ in due course (ignore the thread that I began on 11th September.)
Gut feeling, after years of using this hardware: the initial non-find of a network, at installation time, in your case, might have been a one-off. If, however, you find it reproducible: I'll be interested to see (or help you make) a bug report in Bugzilla.
Re: ThinkPad T420 in the BSD Hardware Database
Date: 2022-09-16 04:44 pm (UTC)It was definitely reproducible. First time that I got to that point, I rebooted. Second time, same thing, but by now I was Googling for answers on my phone and found the hint I liked to about doing
ifconfig down
andifconfig up
in another vconsole, and that worked.Since then, and since I connected, it has not recurred, but I have only rebooted the machine into FreeBSD a few times since then.
More info, in case it helps...
Date: 2022-09-17 07:00 pm (UTC)Copyright (c) 1992-2021 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 13.1-RELEASE-p2 GENERIC amd64 FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303) VT(efifb): resolution 640x480 CPU: Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz (2292.66-MHz K8-class CPU) Origin="GenuineIntel" Id=0x206a7 Family=0x6 Model=0x2a Stepping=7 Features=0xbfebfbff