Create a Mini PC or Server with Olimex's Olinuxino A13/A13Micro
Type "w" to write the changes permanently onto the card. Now, create the two filesystem types on the partitions:
# mkfs.vfat /dev/sdb1 # mkfs.ext3 /dev/sdb2
Don't forget to do the sync after every command you type for the MicroSD card. Sync ensures that the changes are flushed and keeps the card in the correct state. Next, mount the partitions. I am assuming the mountpoints are /media/card1 for /dev/sdb1 and /media/card2 for /dev/sdb2. First, populate the root filesystem and copy the kernel modules onto the first partition:
# cd /media/card2 # tar -xzvf /home/user/A13System/my-rootfs.tar.gz # sync ...[THIS WILL TAKE SOME TIME] # cp -a $KERNEL_DIR/out/lib/modules/3.4.43+/ \ ./lib/modules/. # sync
Copy the uImage file from your kernel directory (in arch/arm/boot) to the first partition, along with a file called script.bin. script.bin stores the system configuration settings necessary for Allwinner chips. If you want to edit these settings, convert this .bin file into a .fex file using a tool called bin2fex. You can edit the resulting file with any text editor.
For the last step, you need to write U-Boot onto the card itself. Pay extra attention to what you type here, as you are not going to write to /dev/sdb1 or /dev/sdb2 but to /dev/sdb:
# cd /home/user/A13System/u-boot # dd if=spl/sunxi-spl.bin of=/dev/sdb bs=1024 \ seek=8 # dd if=u-boot.bin of=/dev/sdb bs=1024 seek=32 # sync
Now your MicroSD card is ready to use.
Plug in the card in the slot on the board. Also plug in the Wi-Fi USB Stick, a keyboard and the VGA monitor (use a USB hub if you have to). Plug in the power cord and wait for the login prompt.
Log in with the root account. You shouldn't need a password for the first run. After you get in, set a secure password for your root account and create another account for your daily use. Put this new user into the sudoers file. Check whether you have network connectivity. Test the board remotely by connecting to it via SSH. If you can do all that successfully, congratulations! You have a great minimalist PC/server at your disposal.
If you are interested in using this board with a graphical user interface, you need to use a lightweight GUI environment, because the board does not have much RAM to spare. There are several options from which to choose, such as LXDE and XFCE4; however, I use a different package here called Fluxbox. You also need to install a light graphical login manager. Using the package manager, install lightdm and fluxbox. Yes, it is really that easy. These commands will install the desktop environment, graphical login manager and their required servers and libraries:
root@a13board:/# apt-get install lightdm fluxbox
Figure 8. A13Micro Running Fluxbox
Restart the board. When the board restarts, you will be greeted with your new login manager. Make sure you select Fluxbox from the session menu on Lightdm screen when you are logging in. Enjoy your new mini-personal computer/server!
Debian Repositories List: http://www.debian.org/mirror/list
A13Micro's Kernel Configuration File: http://goo.gl/YnZ1s
Script.bin for A13 and A13Micro Boards: http://goo.gl/7QZuoU
Ubuntu 12.04 Core Root Filesystem: http://goo.gl/eoALA
Ubuntu 12.10 Core Root Filesystem: http://goo.gl/iLcV8
Ubuntu 13.04 Core Root Filesystem: http://goo.gl/cytEY
Qemu Source Code Download: https://launchpad.net/qemu-linaro/+download
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.