Control your data in the cloud with arkOS

Lead Image © realmccoy,

Safe from Prying Eyes

ArkOS lets you put your online existence in the cloud without letting your data fall into the hands of commercial data gatherers. The system is easy to administer, and you can expand it using a handy system of extensions.

Many users want access to their data from anywhere in the world. Cloud services have sprung up in the past few years to address this need for universal access, but placing your data in the cloud means giving up control. Most commercial cloud solutions also mean giving up some privacy, since companies like Google make money by combing through customer data to turn up marketing clues.

The CitizenWeb [1] platform and the arkOS private cloud server project were developed to simplify the task of hosting your online presence, so you can run a private web and mail server on your own hardware instead of moving to the commercial cloud. ArkOS [2] is a minimal and highly mobile platform built on Arch Linux and the ARM platform [3]. The ArkOS project, which is covered by a GPL license [4], is intended to let users offer server-oriented services on their own without a steep learning curve. ArkOS lets you easily configure your Raspberry Pi to host web pages and blogs with WordPress or Jekyll [5] and data storage with ownCloud. The platform also includes a mail server, as well as tools for handling social networking accounts and additional cloud services.

ArkOS developer Jacob Cook built arkOS for server applications using Linux tools with a particularly small footprint, which is particularly important for the resource-challenged Rasp Pi. The native ArkOS repository offers fewer updates than most Arch-based systems to maximize stability and facilitate system administration for developers with little prior knowledge of Linux. Experienced users will still find the complete arsenal of Linux tools and commands.

ArkOS, which is designed as a modular system, consists of the distribution itself together with the web front end Genesis, which is written in Python. Genesis, which works on Arch-based systems and will someday be available for other distros, combines system admin and content management via a nicely arranged web interface. The developer has designated the project status as beta – ready for testing but not yet recommended for production. Over the course of tests conducted for this article, a very responsive developer has already fixed several defects.


You have two ways to get arkOS boot ready on the Rasp Pi. A graphical installer that transfers the program in bootable form to an SD card is currently available only for Linux and Mac OS X. If you want to install arkOS from Windows, you currently need to undertake the installation manually on the basis of an arkOS image. However, an installer for Windows is already in the works.

In the first step of a graphically guided installation, download the installer from the project page [6] to a home computer and install it there. Next, connect an SD card with at least 8GB of storage to the same computer. Now you can start the installer, which is ordinarily found in the application menu of the respective graphical interface. Alternatively, you can use the command ./ to unpack the installer image and start the installation routine from the folder containing the unpacked files.

After launch, the installation software determines which mirror server is geographically the closest and on which device arkOS should be installed. When specifying the target device, you must exercise the greatest caution, because the installer internally uses the tool dd, which will overwrite the specified medium without mercy. With respect to the available choices, the installer offers all of the storage media that are on the computer, including hard drives, USB sticks, and SD cards. You should therefore be able to determine the correct target device, in this case the SD card, by checking the size of the selected device.

After confirming the entries, the installer downloads about 280MB from the project servers and installs arkOS on the designated SD card (see also the "Choosing a Card" box). This step may take from 5 to 15 minutes, depending on the computer and the speed of your network connection. At the end of the process, the tool reports that arkOS is installed and that you can take the card out of the computer and attach it to the Rasp Pi.

Choosing a Card

If you plan to purchase a brand new SD card intended for arkOS or other Pi projects, you should first consult the compatibility list in the Raspberry Center [20]. Many of the fast cards currently available for cameras are not compatible with the Rasp Pi. In my experience, class 4 and class 6 cards cause the fewest number of problems, and they also save you money in comparison to the expensive class 10 cards.

Manual Installation

The process of manual installation (i.e., without the help of the installer), does not take much more effort. To begin, you can directly download the compressed arkOS image [6] and decompress it. Then, put the SD card in the computer that is supposed to accept the image. If the computer is running Linux, determine the device name of your SD card from the output of the fdisk -l command (you need root access rights). Next, write the image manually on the card by invoking the tool dd.

$ dd if=/home/raspi/arkos-2013-07-16.img of=dev/sdc bs=1M

In this example, /dev/sdc is the device name output by the fdisk -l command for the SD card. Remember that dd always writes directly to the device rather than to a numbered partition such as /dev/sdc1. You should adjust the target location of the ISO image (/home/raspi/ in this example) and the image name (arkos-2013-07-16.img) according to the realities of your situation.

A few minutes after you launch this command, a prompt appears, and the image stored on the SD card is ready for booting. Now you can attach the card to the Rasp Pi. As soon as you plug in the power supply, the image will boot up. After about a minute, you can switch over to the arkOS web interface.

If computer with the SD drive is running Mac OS X, find the device name of the SD card by entering the diskutil list command. To eject the card from the system, use diskutil unmountDisk diskX, where you should replace diskX with the actual device designator. As a Unix derivative, Mac OS X knows about the dd tool, which you use the same way you would use it in Linux:

$ dd if=/<path_to_ISO>/arkos-2013-07-16.img of=/dev/diskX bs=1M

Under Windows, instead of using dd, find a program that can handle ISO images, such as the popular Win32 Disk Imager [7]. Then you can select the already decompressed ISO file together with the SD card and write the image to the card. The next steps are not different from what you would do in Linux or Mac OS X. For administration using the console, you use PuTTY [8] instead of ssh under Windows.

Buy this article as PDF

Express-Checkout as PDF

Pages: 6

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Snapshot

    The remarkable Raspberry Pi has spawned a myriad of supporting projects – Android apps, program libraries, specialized Linux distributions, and an assortment of hardware accessories. The rapid changes within these projects is testament to the excitement and enthusiasm that developers around the world have given to the Raspberry Pi.

  • The Pi Wire

    The Pi Wire looks at new products, education, boards, and ways people are putting the Rasp Pi to work.

  • On the DVD

    NOOBS 1.4.1 and COZY

  • Multi-installer NOOBS for the Raspberry Pi

    The NOOBS boot manager helps beginners try out Raspberry Pi operating systems. It also lets advanced users dig into the structure of the systems and adapt them as they like.

  • Installing a customized Raspbian system with Netinstaller

    The standard Raspbian is too bulky for some projects. You can use Netinstaller to set up a pre-defined customized version.