You should have seen my eyes bug out when I saw the launch announcement for Manjaro-ARM. This is just too good to be true! I owe many thanks to the reader who saw the note on DistroWatch even before I did, and mentioned it in a comment to my previous PiCore post, thus putting me on the trail. I really do enjoy and appreciate all of the readers and comments. Well, almost all of them...
Let's start with a very clear warning: this is an alpha test release. It has only been in development for a month or so. That means don't whine about this, that or the other thing that doesn't work, or is missing, or whatever. Celebrate what does work, and appreciate the dedication and talent of the Manjaro community members who are working on this!
To that end, I will start the celebration here with: Hooray! It works! Here is the proof, a screen shot taken on my Raspberry Pi 2 yesterday evening:
Not only does it work, but for anyone with at least a bit of Linux experience, it is ridiculously easy to install. I had planned to use the evening yesterday to get it installed and running, and I took the screen shot above literally 30 minutes after I sat down.
So, let's go back and start at the beginning, then walk through the installation.
There is now a relatively simple Manjaro-ARM Home Page (they are looking for volunteers to help with that) which gives a good overview of what the project is and where they want to go with it. Their target is not limited to the Raspberry Pi 2, it encompasses all sorts of embedded systems, of which the Raspberry Pi 2 is an obvious and very common example. Note that other members of the Raspberry Pi family (original and zero) are not supported by this distribution, because they use an older/limited ARM processor.
They plan to have a number of different versions:
Minimal Edition: bare-bones, CLI only, particularly good for DIY-types who want to start with almost nothing and build exactly what they want
Base Edition: GUI using the Xfce desktop, and "several useful applications". I love that phrase - I read it as "the stuff we needed ourselves and have gotten working so far". Keep in mind that this is an Alpha release, so the applications and utilities which are included are likely to be one of the most dynamic areas of development
Server Edition: Includes SSH, FTP and LAMP servers, and again is likely to change and expand significantly as development continues
Media Edition: Includes Kodi, similar to Openelec and OSMC.
That is an impressive list, but it isn't just a pipe dream. Alpha releases of the Minimal, Base, and Server editions are already available, so they are obviously making good progress. The latest announcement of the Server and Base Edition Alphas (from yesterday, how's that for hot off the press?) makes it clear that they are really producing some good results.
All right, let's get down to the details of what I have done so far, and how I did it. In a nutshell:
Download the distribution image
Prepare the miscroSD card (partition and format)
Extract the distribution image to the microSD card
Insert the microSD card in the Raspberry Pi 2 and boot
In many ways one of the biggest hurdles that I had to get over was finding the download images. I kept following links between the release announcements and their Wiki, but never finding the actual downloads. Then I finally woke up, went back to their home page and looked for Downloads - right at the top of the page. Duh. Sometimes I'm not the sharpest knife in the drawer.
From there you can choose the Alpha1 versions of the Minimal, Base or Server versions; I wanted the Xfce desktop for this first attempt, so I downloaded the Base version. That comes down as a 725MB compressed tar file. Note to regular readers: given my recent infatuation with the i3 window manager, you won't be surprised to hear that I will most likely go back and get the Minimal version and then build my own i3 version on top of that. Yeah!
Then I went to the Full New Users Installation Guide, to figure out exactly what to do next. As with most Raspberry Pi installations, it turns out to be pretty easy. The installation guide says that you need at least a 4GB microSD card, and the Base version (Xfce) that I installed last night is using about 2.5GB, so that seems realistic at least for a first test.
This is not a "hybrid ISO" image as we are used to with many other Linux distributions, you have to prepare the target disk yourself and then extract the contents of the "tarball" archive to that disk. The installation guide details how to partition and format the microSD card using fdisk and mkfs but honestly, you don't want to do it that way if you don't have to. If you have any other running Linux system (what are the chances that someone installing this would not?), just put the microSD card in that, and prepare it with gparted or whatever your favorite graphical partition manager happens to be.
All you need to do is create the first partition as a small FAT32 filesystem - the Guide says 100MB, I made mine 256MB for no particular reason, and then I found that the installation actually uses less than 20MB. The next time I will reduce that partition to 64MB. Then allocate the rest of the space to a partition containing an ext4 filesystem. These two will be the / (root) and /boot of the installed system; feel free to get more fancy with disk partitioning beyond this, especially if you are using a larger microSD card.
Next you have to mount the filesystems you just created, so that you can extract the tarball to them. The Guide says mount them as root and boot, and then tells you to move the boot files after extracting everything. If you know how to mount them in the proper hierarchy (root/boot) you can save yourself a step.
Extracting the files is a simple tar command, they are written to the archive with a relative path so you want to cd root before extracting. Move the extracted files from /boot to the FAT32 partition (if necessary). One very small caution here, make sure that you properly unmount the microSD card, so that everything gets written and flushed to it before you remove it.
Finally, insert the microSD card in a Raspberry Pi 2 and boot. That's all there is! It will come up to the Xfce desktop shown above, ready to rock and roll! My first impression of using it is very positive, it boots faster than almost anything else I have tried in the Pi2 - way faster than Ubuntu Mint, and pretty much on a par with PiCore. The few things that I have tried so far all worked perfectly. I was running on a wired network connection, but I did at least check that the wireless adapter was recognized and it listed the available networks.
It doesn't have a startup/configure script (yet, at least), so you will have to configure the keyboard, timezone and such as necessary.
What's next? Well, I will be poking around with this installation for a while, to see what is there, how it works, find whatever rough edges there might still be around and such. I mean, this is an Alpha distribution, it has to have some rough edges, right? I will also look into the possibility of either adding the i3 window manager packages to this system, or perhaps going back and installing the Minimal system and then adding i3 to that. Or maybe both.