A few thoughts on adding a hard-drive to the Pioneer FreedomBox …
Background
A couple of weeks ago my Pioneer FreedomBox ceased working, and rebooting didn’t fix the problem. It seems that something went wrong with a system update, as reported in the Update — when to panic? post by various users who experienced similar problems.
So, having to face a fresh system installation, I wanted to look into adding a hard-drive to my Pioneer. This is something that has been on my mind since I purchased the Pioneer, because I was already aware of the durability problems with SD Cards, which have a limited number of writes and then become corrupted.
Since the Pioneer FreedomBox has been my first self-hosted server, I considered it a first experiment, in order to evaluate if running a server would prove beneficial and practical (in terms of management). Now that I had a chance to appreciate hosting a FreedomBox, I’m ready to move on and upgrade the server with a proper hard-drive, except that the task at hand seems harder to crack than I expected — and I’d like to share my thoughts and findings on this, since I believe that many (if not most) Pioneer owners will also like to eventually add an hard disk to their Pioneer FreedomBox, and currently there doesn’t seem to be a dedicated tutorial or page on the topic.
Ultimately, in this post I’ll explain why I deemed adding a hard-drive to my Pioneer unfeasible (for both economic and technical reasons) and instead opted to move-on to a new hardware to host my FreedomBox.
Mounting the Disk Bay
As it turns out, physically mounting an hard disk drive to the Pioneer FreedomBox is rather straight forward, thanks to the hard-drive bay kit by Olimex:
The kit comes in various options — with or without hard-drive, with a 2.5-inch hard disk drive (HDD) or a solid-state drive (SDD) — and includes the SATA connection board.
The disk bay is an ad hoc disk enclosure which gets attached under the Pioneer case, fixed in place by screws. Since the Pioneer case and the disk-bay were designed for each other, their fitting is seamless.
According to the official LIME2 documentation, adding a hard-drive will increase power consumption and will require a 2A power supply adapter. Since my FreedomBox came with a 1A power adapter, chances are that you’ll also need to purchase the 2A adapter after mounting the hard-disk:
- Olimex » SY1005E — 2A power supply adapter (EU)
(honestly, this kind of sucks, since both adapters come at the same price I’m left wondering why they didn’t ship the Pioneer with the 2A adapter straight away)
To resume, adding a 512GB SSD to my Pioneer would cost me (at the current price rate) around €69 + €7 for the power supply + shipping & VAT — probably around €100. Although this is a reasonable fee for what I’d be getting, it was ultimately a determining factor in my choice to buy a new computer instead, as I’ll explain further down.
Booting from the SSD
Acquiring the hard-drive and its bay, and mounting them to the Pioneer is a straight forward operation that requires no technical skills. I also believe that having FreedomBox recognize and set up the new drive is a trivial operation which can be handled via the Plinth panel.
The real problem is being able to install the FreedomBox OS on the SSD, and stop using the SD Card altogether.
In GitLab Issue #2192, Benedek Nagy mentions Sunil Mohan Adapa’s reply to his inquiry about booting directly from the SSD (bold added):
The A20 processor in the Pioneer edition does not have the ability to boot from an SSD directly. It needs a tiny boot loader (first 4MiB of the image file) to be present in an SD card that is inserted into the SD card slot.
Sunil then goes on explaining how to create the tiny boot loader, which is the main topic of that Issue (#2192).
As the discussion at the above mentioned Issue points out, this tiny boot loader solution is rather hackish, and too technical for the non-geeky end users. Furthermore, this limitation only affects the base model of the A20-OLinuXino-LIME2 — i.e. the one used in the Pioneer FreedomBox kit — but other models allow to circumvent booting from the SD Card, as we shall in the next section.
LIME2 with eMMC/NAND
The Pioneer FreedomBox kit includes the base model of LIME2. If we look at the LIME2 product page we can see that there are variants of the base model which include an extra embedded Flash memory storage which can be used to install the OS, or for the tiny boot loader solution mentioned earlier:
The flash memory variants come with either an eMMC or NAND storage, suffixed with -e
and -n
in the product name, respectively; their retail cost difference is around €10 compared to the base model.
Both the eMMC (16GB) and NAND (8GB) memory can be used for booting, disposing of the need of the SD Card altogether:
It seems that the eMMC solution is recommended over NAND, but both involve technical intervention. Furthermore, it seems that currently only the Debian Jessie release is supported for eMMC installation (probably you can simply update the OS after installation, I’m not sure).
I think it would be reasonable to imagine that the FreedomBox project could come up with a dedicated solution for helping owners of a LIME2 with eMMC or NAND to install FreedomBox on the SSD/HDD drive and upload a tiny boot loader in the eMMC/NAND to handle booting the OS from the SSD/HDD drive, instead of the SD Card.
The NAND storage is only 8GB, so it’s unlikely to be suitable to host the FreedomBox OS (it’s also slower than the SD Card), but the eMMC storage is 16GB, which is still less than the SD Card, but more reasonable.
The best usage scenario here seems to be using eMMC/NAND as boot loaders for the OS installed on the SSD/HHD.
A Pioneer Kit with HDD?
It’s reasonable to expect that many Pioneer FreedomBox will eventually (or from the onset) wish to add the hard-drive bay, not only to have a bigger storage capacity, but also because a SSD would be much faster than the SD Card when the system exceeds the RAM limit and starts swapping to disk — this, and the fact that SD Cards corrupt over time, are the main reasons why most users would like to install the OS directly on the SSD, bypassing the SD Card altogether.
I was wondering whether the FreedomBox project and Olimex might consider creating a dedicated Pioneer FreedomBox kit that ships already with a mounted drive bay, using a LIME2 model that comes with eMMC — with either FreedomBox installed on the eMMC, or configured to use the eMMC just as a tiny boot to load the OS from the SSD drive.
Obviously, I can’t say how many people would prefer the kit with the SSD over the base kit (only a users poll could provide insight into this), but if I had that option at the time, I would have most likely purchased the version with the disk bay straight away.
In hindsight, if I had the current knowledge when I purchased my Pioneer FreedomBox kit, I would have instead chosen to buy an A20-OLinuXino-LIME2 board with eMMC (e.g. the A20-OLinuXino-LIME2-e16Gs16M
), along with the encasing, the disk bay + SSD kit, and the power-adapter. Probably buying these single items separately would have costed me slightly more compared to the Pioneer kit, but I would have still chosen this solution over the Pioneer kit.
Personally, I think that the Pioneer kit should also offer the option to purchase the alternative LIME2 models with eMMC/NAND, and not be limited to the base edition of the LIME2.
Why I Moved-on from Pioneer
Now that my Pioneer crashed and needed reinstalling from scratch, I realized that I wanted more from my FreedomBox, especially in terms of disk storage, but I also wanted to free myself from the “curse of the SD Card corruption” — it’s never a matter of “if” it happens, but rather of “when,” and having seen first hand how frequently the system updates, my guess is that it’s rather soon than later.
Adding a 512GB SSD drive to my Pioneer would have costed me around €100. With that in mind, I started looking into so-called Mini-ITX options (small factor PCs), to see whether I could buy a small factor x8086 computer, with more RAM. The 1GB RAM limitation of the Pioneer has always been a concern to me, especially since I was hoping to use i2p or Retroshare in the future (which are known to be memory-hungry).
As it turns out, I was able to buy for €120 a refurbished HP mini-PC, with i5 processor (4 cores), 8GB RAM, and 256GB SSD. That’s only €20 more that it would have costed me to upgrade my Pioneer with an SSD (although a bigger one, double the size).
I know that comparing this mini-PC to the Pioneer is like comparing apples and oranges — and it’s an unfair comparison too, since the latter is fully open hardware and uses only open source software, consumes much less electricity, and has a battery that would keep it running for days (maybe weeks) if the power goes out.
But still … compare them I will.
I’ve been exploring the idea of a home-hosted SBC server for quite a few years, before I finally found the resolve to purchased my Pioneer FreedomBox. I couldn’t avoid noticing that there’s an invisible threshold that separates the world of RISC architecture SBCs from that of CISC small form factor PCs (aka Mini-ITX) when it comes to hardware targeting home-hosted server machines.
The obvious benefits of using ARM processors is that CISC architecture consumes much less power, resulting in SBCs that can be powered via a small power adapter, don’t require cooling fans, and can run 24/7 with a negligible impact on the electricity bill. But, I also notice that these SBCs all rely on SD Cards for memory storage, and rarely ship with a large RAM (although lately we’re seeing 4GB editions too, e.g. with the RasPi 4).
My guess is that there’s a implicit goal to design these products to be extremely cheap (under €70), and that if their price exceeds €150 they end up competing with the low end of small form factor x8086 PCs.
Although the base price for a decent x8086 mini-PC is usually above €200, I’ve noticed that lately older models have dropped significantly in price. I speculate that the hardware requisites of Windows 11 may have led many people to migrate to newer hardware, providing the second-hand market with lots of working machines which are only being sold because they can’t support Win 11. At any rate, it seems that a PC which is not Win 11 compatible is now viewed as “older hardware” even when brand new, which might be why those who have them in store them are eager to sell the quickly at bargain prices.
In my case, I’ve got a good deal: €120 for an i5 (quad core) with 8GB DDR3 RAM and 256GB SSD — not the cutting edge in technology, but definitely decent hardware (refurbished). Other PCs with similar feature (but less known brands) where available for as low as €99, so now there are definitely more options than before for the lower-budget end.
Sure, power consumption is going to more (from what I’ve read, 10A when idle, with peaks of 35A), and I can expect some noise from the fans, when they activate. Also, in term of bulk, it’s the size of a paperback book, weighing 1.7Kg (definitely not as small as a Pioneer).
Since I’ve always mostly on x8086 processors, for me (as a developer) this a friendlier environment to work with — without all the incompatibility issues between ARM processors, which ultimately affect software availability. Besides installing FreedomBox, my new machine supports about any OS (it even ships with a licensed Win 10 Home).
The decision to purchase a new machine, rather than upgrading my Pioneer with the SSD bay, was twofold:
- By spending just €20 more I’d end up with an x8086 quad-core i5 with 8GB RAM.
- The fact that my LIME2 doesn’t have eMMC or NAND means I’m stuck to using a SD Card with the tiny boot loader hack, which adds complexity, especially when the system crashes and has to be reinstalled without loosing the SSD data (all operations which I haven’t done before).
Above all, the 8GB RAM was the main driving factor, since I was hoping to host a Tor node, and in the future experiment with i2p (when is back) and Retroshare (when it will be ready) — all of which require more than 1GB RAM to work efficiently. I wish the Pioneer had at least 2GB RAM, but unfortunately that’s not the case, and the RAM can’t be expanded either (on my new machine, I can expand it up to 16GB).
Conclusions
I bought the Pioneer FreedomBox as my first home-server experiment, and have been very pleased with it. Lately, an update gone wrong rendered the OS unusable, and needed to reinstall from scratch. This was the moment to decide whether to get more from my FreedomBox, and consider upgrading the Pioneer with the SSD bay.
As it turned out, the cost of the upgrade was just €20 less than buying a new (refurbished) i5 (quad core) mini PC with 8GB RAM and 256GB SSD, which ultimately is what I went for.
This wasn’t an easy decision, because I’m switching from a OSHW-Server to proprietary hardware. The philosophy behind the Pioneer FreedomBox, i.e. its behind entirely open-hardware, was a strong motivating factor for me — and, honestly, one that makes any price comparison unfair and unethical, since you can’t compare the efforts of small companies on the same scale of corporate mass-produced hardware. But I saw no other means to overcome the current RAM limitations, and some other technical problems relating to installing the OS on the SSD instead of the SD Card.
In any case, I’ll surely find a use for my old Pioneer — either as an intranet tool, or as a gift for a friend.
I would like to see a Pioneer alternative kit, that ships with an SSD-bay and a LIME2 board with eMMC, already configured to boot the (preinstalled) FreedomBox OS from the SSD, instead of the SD Card (which would no longer be needed). This ready-made solution, although more expensive than the current Pioneer kit, would still be very appealing to those who need lots of disk space (filesharing, etc.) and faster disk I/O access.
Basically, this would be a variant of the current LIME2-SERVER product by Olimex, except that it would ship with the LIME2-e16Gs16M
board, the FreedomBox logo on the case, and the preinstalled FreedomBox OS on the SSD/HHD, and the boot-loader pre-hacked into the eMMC.
By comparing the retail price differences between the Pioneer FreedomBox and LIME2-SERVER kits, it should be reasonable for this alternative kit to cost around €120/€150, depending on the drive type and size — which would be a fair difference compared to €70 for the base Pioneer, especially since it wouldn’t require any hacks or installation on the end user’s side.
I also really hope that the Pioneer FreedomBox base kit will be made available with the eMMC option too, for those who’d like to install the OS there instead of the SD Card, or use it as a boot loader at a later time. I really regret not having the eMMC on my board, and wish I knew about it before the purchase.
Hopefully, this information will prove useful to others in my same situation, or be of guidance to those who haven’t yet decided which hardware to buy.
I’d also like to read more on these topics by users with more experience and technical knowledge than me — I am in no way an expert on any of these topics, especially not on hardware, but also have limited experience with Debian, and much less with FreedomBox.
NOTE — feel free to reuse any parts of this post, in case they might be useful to create a Wiki page or tutorial on the topic. No need to ask me for permission or provide attribution, just copy-&-paste and adapt whatever you need.
Reference Links
After having dug this forum and other sources to find information on how to add an hard disk drive to the Pioneer FreedomBox, the following links seem to be the primary sources of valuable information on this topic (at least, those I could find, and which seem to be frequently mentioned):
- Olymex store:
- A20-OLinuXino-LIME2 — LIME2 models
- Pioneer FreedomBox — LIME2 FreedomBox Kit
- BAY-HDD — LIME2 hard-drive bay kits
- Olimex Wiki:
- FreedomBox repository at GitLab:
- FreedomBox Forums: