Taking a look at ArchBSD

[UPDATE 06/2016: The project has changed its name and is now known as PacBSD. I’ll leave the rest of the post as-is.]

Today’s post will deal with ArchBSD, a rather young project which brings the familiar Arch way to the FreeBSD world.

Edit: Sorry for the delay in making this post public. Just like with the previous post I was having problems with the images. Also had to replace some of them.

Prerequisites and Installation

First go here and download the iso. This post was done with the new iso released in the beginning of this month.

If you’re going to try out ArchBSD in VirtualBox you better enable the IO APIC function first. Otherwise the FreeBSD kernel won’t boot and it’s not even going to give you any error message.

Enableing IO APIC in VirtualBox.

Let’s boot the iso! The new boot loader (GRUB 2) is looking nice. The previous iso still came with another boot loader.

ArchBSD’s boot loader on the live iso: GRUB 2.

It’s a good idea to follow the official install guide. I only have two things to add:

  1. Be sure to replace daX with adaX when referring to the hard disks.

  2. If you’re as lazy as me and use auto-completion even for /mnt, be sure to remove the tailing slash since the command ‘pacstrap /mnt/ base‘ won’t work.

Mind that and you should be ok. I won’t cover more of the installation here; except for those two things the guide is fine and the installation procedure is typical nowadays Arch-style.

Pacstrapin’ the “base” group.

The installation is a bit faster than that of ArchLinux since the base system is (currently) a little smaller. As you can tell from the packages and their download sizes, ArchBSD could more or less be called “FreeBSD with pacman“.

ArchBSD!

After setting it all up and rebooting we’re greeted by the ArchBSD boot screen. It features some very nice ASCII art and has a clean look. This is how things should be. Great work if you ask me!

The ArchBSD boot screen.

The FreeBSD kernel boots a little slower than we’re used to with the Linux-based system. But when the system is up we find a familiar Arch environment where little shows that this is not Linux.

ArchBSD has started.

Working with a distribution following a rolling release model our system is already up to date after installation and doesn’t have to be updated. So what to do next? Let’s see if ArchBSD provides Xorg! Does it? Of course it does. However it does not currently have twm available so we can’t simply get the traditional X11 – but who seriously uses that today?

So far nobody has packaged GNOME or KDE but since this is a nice slim system it’s not like I’d miss them here. Currently I have the choice between Xfce or LXDE if I want a full DE. LXDE is fine for me.

Installing the “lxde” group.

Just having LXDE installed, we really have a fairly light graphical system: Just look at the menu! There’s almost nothing there (which is good since that means we can install whatever we want).

LXDE running on ArchBSD.

Alright. Next we have to populate that bare system a bit, right? One of the most important things today surely is a web browser. ArchBSD currently offers Chromium and Links. Both are nice browsers in their own regard, the first one probably a bit too heavy, the later a bit too minimalistic. I’d like something in between – and that probably makes for a good next step! Let’s install the development group and links so I can get some PKGBUILDs from the ArchLinux site.

Installing “build-devel” and downloading PKGBUILDs.

Now things are getting a little more interesting. Just building the FLTK packages on ArchBSD using the ArchLinux PKGBUILD doesn’t work. The sed utility from the BSD world works differently and packagers for ArchBSD are to translate the lines calling sed. Since I have no experience with BSD sed, I’d have to read how to do it. Fortunately ArchBSD comes with gsed, too, the familiar GNU sed utility. It’s deprecated to use that but since I’m not an official packager and just want to get FLTK running, I guess it will be ok to just use that. After calling gsed and commenting out the lines installing the LICENSE files as a quick and dirty “fix”, FLTK compiles nicely and the packages are built.

Let’s install FLTK and try to build Dillo, a very light-weight FLTK based browser. The default ArchLinux configuration wants OpenSSL which is not (currently) available on ArchBSD. So for this quick look at the system it will suffice to just build Dillo without SSL support. It works perfectly and after the package is built, I can run the application:

Running the freshly built Dillo.

Well, obviously building packages on ArchBSD works well. You can easily run into problems (like with the OpenSSL package), though since the BSD world is quite a bit different from Linux under the hood. In cases like that a bit of deeper knowledge is required.

You have some time on your hands? You like what you’ve just seen? And think you’re cool enough to be part of BSD? Why not give ArchBSD a try then? Head over to their forums sign up there and lend them a hand! They will surely appreciate it.

What’s next?

The next post will be something special. I won’t spoil it here – but it has something to do with my favorite light-weight DE. Guess which one that is!

Taking a look at ArchHurd

Just as promised, this post will deal with ArchHurd a project aiming to bring what makes ArchLinux great to another kernel: GNUMach/GNUHurd.

edit: Sorry for making this long finished article public so late (same for the next one)… WordPress was giving me a hard time with my screenshots for some reason. But now I got things fixed.

Booting the live CD

So… Let’s take a look at the ArchHurd, shall we? However… Things are a bit.. messy right now. Let me make that absolutely clear before you might decide to give it a try, too. Don’t expect everything simply work like a charm. It won’t.

First it’s necessary to get the iso from the project’s download page. Don’t try to open the Installation Guide which the page links to. It points to the old wiki – which is gone. There are plans to re-add the old pages in the new wiki but this has not happened, yet. Fortunately there’s the Internet Archive which has archived the old wiki so that we can still access it here.

The bootloader: It has written “experimental” all over it.

The iso boots in a new VM set up for it. Despite the “hit ‘e’ and edit hd2 …” stuff things work if you have a standard VB configuration – and you wouldn’t be trying out ArchHurd on real hardware, would you?!

Booting the GNUMach micro-kernel.

Just be patient while the kernel probes the hardware – the rather old version which is used in ArchHurd contains a few glitches which make it take a long time to complete when used with Virtual Box.

Login – it’s not done automatically, yet.

Installing

Alright! ArchHurd has started up and we can move on to installing it. Just one more warning: There’s some kind of error in the kernel which makes the system freeze if doing nothing for a while. So keep it busy or pause your VM if you don’t want to reboot often!

Package selection in the installer.

I won’t cover the installation here – just follow the Installation Guide. The installation program is quite self-explanatory and the guide covers the rest you might need to know.

System configuration in the installer.

If you’re a long-time Archer, you’ll remember the “Arch Installation Framework”. If not, you’ll find out ArchHurd is also an OS without systemd and you have to take a look at rc.conf, the central configuration file which Arch Linux was famous for in the past.

ArchHurd!

After installing the bootloader according to the guide, we’re left with a working system. And after setting up network, it’s even actually usable. 😉 However the first time trying to update the repos, pacman crashed for me, so I had to remove the lock and try again. But from that moment on, network works fine. If you’re having trouble, selecting an older network card to emulate in VirtualBox (like PCnet-FAST III) might help with the Hurd.

Now let’s see how many new packages have been uploaded to the repos since the creation of the (now rather old live cd)!

Update the system?

Right, 31 packages is not really much… Especially if you’re used to ArchLinux’s rate of updating! So it might be a good idea to edit /etc/pacman.conf and uncomment the “testing” repo.

Updating with “testing” repo enabled

That’s not really up to date either, but at least a little more up to date. Ok, all nice and well… It’s a funny system – a little slow perhaps, rather old and pretty unstable. But what now? That just can’t be all.

Xorg running on ArchHurd

Of course not. X11 anyone? Yes, it does actually work. However I failed to get mouse support working in VirtualBox. If the xf86 driver for it is installed, Xorg won’t start anymore. Since I’m not an X guru, this is where I stopped and that’s also why I skipped showing you that ArchHurd is capable of running Openbox, too (which does in fact work – but is quite useless without a mouse…).

Anything else? Yes, a lot. The Arch Build System is working which means that you could build your own packages if you’re missing anything (which is rather likely ;)). That is: If you are lucky and the package will just work on Hurd – and if not you need some deeper knowledge about porting things over.

Building a package on ArchHurd

As an example I tried to build FLTK – and that proved to be one of the packages that simply worked. However I had trouble building with an ordinary user. The problem is known among ArchHurd developers and it’s not happening if you’re building as root (appending –asroot so that makepkg accepts this). I know that this is usually considered bad practice and should never be used on a productive system. But we’re playing around with the Hurd here, aren’t we?

Alright. This concludes our little examination of ArchHurd. If you liked what you just saw and are feeling brave enough – why not help the project a little? While it’s officially being worked on, it would certainly be nice if some visible progress was to be achived.

What’s next?

Next I intend to take a look at ArchBSD. Edit: You can count on it. I’ll do a little revision of the article and then set it to “public” in a few days.

BSD, HURD and Arch?

Today we’ll deal with Arch Linux’s principles transferred to other operating systems.

The Arch Way

Arch Linux’s slogan is: A simple, lightweight distribution. There are many people who want an operating system which truly fits their needs – and nothing else. Arch is usually a good choice for them due to its light-weight core system which can easily be expanded in any direction needed.


The Arch Linux logo

Sure, there are quite some other distribution worth considering. Gentoo, of course, which allows for even deeper customization thanks to its mighty USE-flag and portage system! But many people prefer to go without the hassle of compiling everything. This is often when Arch Linux comes in as it provides binary packages. If it has to be even more lightweight, there are a few distributions which are really fairly minimal. Alpine Linux is very interesting in this regard and some others like Damn Small Linux and Puppy come to mind.

In most cases though, Arch Linux is a very good choice. And that shows: This distribution has attracted many users over the years and is in the top 10 of the distrowatch rating. Why that? Probably because people like The Arch Way of putting together a distro.

Other Distros

Apart from classic Arch Linux there are some other Arch-based distribution. For example there’s ArchBang which combines Arch Linux with the OpenBox WM to provide a light-weight desktop upon installation.


The ArchBang logo

Then there’s Manjaro Linux, an Arch-based distribution which provides graphical tools for everything and aims to be beginner-friendly.


The Parabola logo

Others are Parabola, a distro using the fully free Linux-libre kernel, Arch Linux for ARM and ConnochaetOS, a fully free system that supports the i586 architecture.

If you’re interested in more of them, here‘s a list on the Arch Linux wiki.

Other kernels

Actually people seem to like The Arch Way so much that they miss it even when working with a system which is not Linux-based. For that reason some projects have arisen which kind of copy the Arch principles over to other systems!

There are for example ArchHurd and ArchBSD.

ArchHurd

The former is not exactly a new project – it was founded in early 2010. It made a lot of progress in a short time but seemed to have stalled by the end of 2011. There’s no news item on the project site after August of that year and while still new packages were created that also came to a halt about one year later. In the meantime even the wiki had disappeared.


The ArchHurd logo

Fortunately the project isn’t dead and after a while during which it only lived on in mailing list posts, at least the wiki is back again (which actually was the cause that made me write the previous and this post after I discovered it). Currently progress is still very slow which is due to problems with updating glibc. After the new toolchain is built the whole core repository needs to be rebuilt. So there’s enough work to be done there.

The new wiki has a severe spam problem right now. But I’m sure that can be taken care of sooner or later. And the most important thing is surely that the project is still alive!

ArchBSD

The other project is still very new. While the idea exited for a while, the site for it was put up in January 2013. ArchBSD is progressing nicely and considering the short time it exists, it already got pretty far in bringing the familiar Arch feeling to an OS using the FreeBSD kernel!


The Arch BSD logo

Right now it’s far to early to say whether this blend is to survive on the long run or not. Currently it looks good with quite some development taking place. And compared to ArchHurd it also has much newer packages in general (which however is no wonder since it started with later ones).

What’s next?

In the next post I’ll take a brief look at ArchHurd and ArchBSD.