Create a Mini PC or Server with Olimex's Olinuxino A13/A13Micro

Preparing the Filesystem: Ubuntu

If you are feeling adventurous, you always can try to debootstrap your Ubuntu root filesystem, just like I described in the previous section. (You also can find instructions on the Internet for that.) Here, let's opt for an easier way and just download a ready-made minimal root filesystem provided by Ubuntu. Several packages are available, including Ubuntu 12.04, 12.10 and 13.04. Make sure that you are downloading the armhf version of the root filesystem package.

Create a directory for your Ubuntu root filesystem and extract the contents of the file you just downloaded into it. Your next move should be to edit /etc/resolv.conf and add your nameserver in there. Also, take a look at your sources.list file in /etc/apt/. You might want to add universe and multiverse at the end of each deb and deb-src line.

You should check the version number of your qemu-arm-static. Version 1.0.50 that comes with standard install of Ubuntu 12.04 generates errors when running the following steps on my build system for the Ubuntu root filesystem. To solve the problem, I had to compile my own qemu-arm-static. I used version 1.0.91 (see Resources for the download URL of the source package). Do the following steps to configure and compile the binary, and copy the resulting qemu-arm to qemu-arm-static inside your Ubuntu root filesystem's /usr/bin directory:

$ ./configure \
 --prefix=/home/user/A13System/qemu-arm-static \
 --static --disable-kvm \

$ make
$ make install

Finishing Touches for the Root Filesystem

What you have so far is just a very basic filesystem. Now let's improve it so that you have the tools required for a comfortable basic computing environment. Change the locales generated according to your own locale. All the processes described next are done inside the chroot system:

root@host:/# apt-get update
root@host:/# apt-get install apt-utils ncurses-dev
root@host:/# apt-get install dialog locales tzdata
root@host:/# locale-gen en_AU en_AU.UTF-8
root@host:/# dpkg-reconfigure locales
root@host:/# dpkg-reconfigure tzdata
root@host:/# apt-get install iputils-ping \
 wpasupplicant dhcpcd5 sudo openssh-server ntp \
root@host:/# apt-get install nano vim gettext \
 bison automake autoconf
root@host:/# apt-get install python rsyslog \
 network-manager alsa-utils

Now let's configure Wi-Fi connectivity. I'm assuming that you're using a Wi-Fi USB adapter for your connectivity and that your wireless network connection configuration is using WPA for security. Change the steps accordingly for your configuration. Edit your /etc/network/interfaces and add the following lines, changing the values as needed:

auto wlan0
iface wlan0 inet dhcp
wpa-ssid YOUR_ESSID

Next, if you want your bash shell to have autocompletion, edit /etc/bash.bashrc and uncomment some of the lines to be something like the following:

# Commented out, don't overwrite xterm -T
# "title" -n "icontitle" by default.
# If this is an xterm set the title to
# user@host:dir
case "$TERM" in
 PROMPT_COMMAND='echo -ne \
 "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq \
posix; then
    . /etc/bash_completion

Check /etc/shadow for the following:


If you see an asterisk (*) after the first colon on the line for root, you should remove it. This will allow you to set the root password yourself on the first run.

You have completed the process of building the root filesystem for your board. Next, let's compress the entire root filesystem so you can deploy it easily to your MicroSD card later. Exit the chroot environment and do the following inside your root filesystem directory:

# umount proc
# rm ./usr/bin/qemu-arm-static
# tar -zcvf /home/user/my-rootfs.tar.gz *

Preparing the MicroSD Card

I am using a 4GB MicroSD card for my board. I am sure that a 2GB MicroSD card would be sufficient to contain all your files, but it is nice to have some room for additional applications. You need to create two partitions on your empty MicroSD card. The first one is a VFAT partition of around 17MB for U-Boot and the kernel image. The rest will be used to store your root filesystem.

Mount the MicroSD card. Take note of the device name your computer gives the MicroSD card. Some computers recognize the card as /dev/sdX, while others call it /dev/mmcblkX (for this example, I assuming that your card is recognized as /dev/sdb):

# fdisk -u=sectors /dev/sdb

Type "p" to list the partitions inside the card. If you have any partitions at all listed, delete them by pressing "d". Once the card is empty, create a new partition by pressing "n". Make this the first primary partition. fdisk is going to ask you for starting and ending sector numbers. Type "2048" and "34815", respectively. Repeat the process for the second partition. This time, just press Enter when asked for starting and ending sector numbers; fdisk will use the default values, which will fill the remainder of the card.

Type "p" again to list the partitions. You should see something like what is shown in Figure 7.

Figure 7. List of Partitions on a 4GB MicroSD Card


Ronald Kurniawan is a software developer living in Brisbane, Australia. Ronald is interested in embedded systems, Linux, Java development and trying to come up with interesting and wacky ways to combine them.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

python world from tips,tricks,jobs info,opensource,linux

neo12's picture

good post,we can also find more in

تلغرام للاندرويد

برنامج تلغرام للاندرويد 's picture

The second biggest increase. nice thanks

The second biggest increase:

sollen's picture

The second biggest increase: Insurance costs, which rose 2.76%, or $28, to an annual 18W 12V Work lamps For Motorcycles average of $1,029. AAA’s insurance cost estimates are based on a low-risk driver with a clean driving record.

The second biggest increase:

sollen's picture

The second biggest increase: Insurance costs, which rose 2.76%, or $28, to an annual average of $1,029. AAA’s insurance cost 18W 12V Work lamps For Motorcycles estimates are based on a low-risk driver with a clean driving record.

Reply to comment | Linux Journal

Knights and Dragons hack herunterladen's picture

Hacks Iphone Ipad Jeux Triche Astuces sans jailbreak.Android Hacks Apk Triche sans root illimité Gemmes Pièces OR
Argent Gratuit Telecharger.

Reply to comment | Linux Journal

herrenschmuck wiederverkäufer's picture

I like the valuable info you supply on your articles. I'll bookmark your blog and take a look at again right here regularly.
I'm quite sure I will learn many new stuff proper right here!
Best of luck for the next!

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState