Archlinux on the EfikaMX Smarttop

How to install ArchlinuxARM on the EfikaMX Smarttop

As the EfikaMX is currently not officially supported, I created this tutorial to describe the install process on an sd-card. This setup contains the 2.6.31.14.21-efikamx kernel, which is taken from the preinstalled ubuntu. I took the omap rootfs from archlinuxarm.org and copied the kernel source into the filesystem. The boot-partition is nearly equal to the one of the maverickheadless installer, but with some changes on the cmdline.

Partitioning

Create two partitions on your sd-card:
- ~100MB
- the rest (except you plan to create a separate swap partition)

Formating

Format the first partition with ext2 and the second one with ext4.

mkfs.ext2 -L boot /dev/sdb1
mkfs.ext4 -L root /dev/sdb2

Installing

Extract the bootloader archive to the first partition...

mount /dev/sdb1 /mnt/
tar xzvf EfikaMX-bootloader.tar.gz -C /mnt/
sync
umount /mnt/

...and the root filesystem to the second partition.

mount /dev/sdb2 /mnt/
tar xzvf ArchLinuxARM-imx5-latest.tar.gz -C /mnt/
sync
umount /mnt/

Booting

Insert your sd-card and boot up. Now you can login locally or using ssh.
User/Pass: root

Audio

To get audio working, put this into your /etc/rc.local:

machine=$(grep "^Hardware" /proc/cpuinfo | sed 's/Hardware\s*:\s*//')
case "$machine" in
        "Genesi Efika MX (Smartbook)")
                board=efikasb
        ;;
        "Genesi Efika MX (Smarttop)")
                board=efikamx
        ;;
esac
 
if [ "${board}" = "efikamx" ]; then
        if [ -f /sys/class/graphics/fb0/audio ]; then
                modprobe snd-spdif
                modprobe snd-soc-imx-3stack-sgtl5000
        else
                modprobe snd-soc-imx-3stack-sgtl5000
                modprobe snd-spdif
        fi
else
        modprobe snd-soc-imx-3stack-sgtl5000
fi

Update

The audio-stuff is now included in the rootfs image. Additionally I modified the boot.scr. The default kernel loglevel is now 5 and the serial debug console is working and I changed the serial console config in the /etc/inittab to the efika devicename. Last but not least I added a killall plymouthd to /etc/rc.local to get rid of this relict of the ubuntu initrd.

Ethernet

Cable network should work out of the box, but sometimes the interface is not set up correctly. The results is that the interface is going up and down all the time. You can get it working like that:

rmmod asix
modprobe asix

4 Comments


asdil12
Posts: 2
Comment
RE: Still no X
Reply #4 on : Mon January 30, 2012, 09:59:11
After you did the "modprobe gpu", please verify, that the gpu dev-device was created.
# ls -l /dev/gsl_kmod

The device is chmod 700 by default, so you will only be able to start the xserver as root.

If xf86-video-imx is the only driver installed, you should not need any configs in /etc/X11/xorg.conf.d/
Akai Coit
Posts: 2
Comment
Still no X
Reply #3 on : Mon January 30, 2012, 02:58:51
Fatal server error:
No screens found
asdil12
Posts: 2
Comment
RE: GPU drivers
Reply #2 on : Sun January 29, 2012, 12:10:42
To get the GPU working on this setup:

The kernel-driver is already there (came with the ubuntu-kernel), but not loaded
# modprobe gpu

Install the video-driver and the needed lib
# pacman -S xf86-video-imx libz160

# ldd /usr/lib/libz160.so
The libz160 is linked against the proprietary libkgsl-imx

There is no pkg in the arch repo for that, but you can get it from the ubuntu package:
# wget http://packages.efikamx.info/pool/main/i/imx-graphics/libkgsl-imx_1.0.3-20110310_armel.deb
# ar x libkgsl-imx_1.0.3-20110310_armel.deb
# tar xzvf data.tar.gz
# cp ./usr/lib/libkgsl.so.1.0 /usr/lib/libkgsl.so.1.0
# cd /usr/lib
# ln -s libkgsl.so.1.0 libkgsl.so.1
# ln -s libkgsl.so.1.0 libkgsl.so
# ldconfig
Last Edit: January 29, 2012, 12:15:33 by asdil12  
Akai Coit
Posts: 2
Comment
GPU drivers
Reply #1 on : Sat January 28, 2012, 07:28:42
Unable to find the packages or the GPU to function... waiting on anyone who can provide the info so that an AUR package can be made or an official package can be talked about...

Write a comment


If you have trouble reading the code, click on the code itself to generate a new random code.
Security Code:
 

Tags: