OlinuXino A10s Linux

Base image

Write base image to sdcard

TDB

First connexion

there is no network configuration by default , so use the serial line (UART0) or usb keyboard, mouse and hdmi screen

Network configuration (localhost, Wifi…)

the localhost interface is not activated by default so you can’t use ssh and the wifi is not configured so let’s modify the /etc/network/interfaces as below


# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

# verify the interface number
auto wlan3
iface eth0 inet dhcp
iface wlan3 inet dhcp
wpa-ssid "mySSID"
# WPA2 security
wpa-psk "myhardtofindpassword"

Install package needed for compilation

modify the /etc/apt/sources.list  as follow

deb http://ftp.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.debian.org/debian/ stable main contrib non-free

deb http://ftp.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.debian.org/debian/ testing main contrib non-free

deb http://ftp.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.debian.org/debian/ unstable main contrib non-free

deb ftp://ftp.deb-multimedia.org stable main non-free
deb ftp://ftp.deb-multimedia.org testing main non-free
deb ftp://ftp.deb-multimedia.org unstable main non-free

then create a  /etc/apt/preferences files to define priority between package (avoid upgrades)


Package: *
Pin: release a=testing
Pin-Priority: 900

Package: *
Pin: release a=unstable
Pin-Priority: 800


Package: *
Pin: release a=stable
Pin-Priority: 700

 

New Kernel

Informations sources

LFS for A10S : http://olimex.wordpress.com/2013/10/28/building-debian-sd-card-for-linux-with-kernel-3-4-from-scratch-for-a10s-olinuxino-micro/

Install package needed for compilation

install the folowing package , requested for kernel configuration

apt-get install ncurses-dev uboot-mkimage build-essential git

then download the cross compiler (4.7.3 works very well) and uncompress it

 

wget https://launchpad.net/linaro-toolchain-binaries/trunk/2013.01/+download/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.tar.bz2</pre>
tar jxfv gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.tar.bz2

the cross compiler shall be added in PATH variable, see next step

Kernel configuration

here are the command to compile the olinuxino Kernel downloaded from sunxi repo

export PATH=your_path/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/bin:$PATH
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 uImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 INSTALL_MOD_PATH=out modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 INSTALL_MOD_PATH=out modules_install

 

em28xx v4l2 drivers problem

when i plugged my USB pinnacle video acquisition module for the first time on the A10S, my first test failed , the kernel is not configure for this module
then i build a custom kernel (3.4.67+) using this tutorial, activate the em28xx module and test
–>> green screen, no video from the module!
i activate the debug fonctionnality of the em28xx module (see this page) and it seems that height of field is detected equal to 0!
after lots of of research on olinuxino and arm forum i’ve found this bug workaround on
linux/drivers/media/video/em28xx/em28xx-core.c file
this is linked to this lines

if (!dev->progressive)
   height >>= norm_maxh(dev);

the result of the right shift is 0 on arm architecture
shall be replaced by

if (!dev->progressive)
   height = norm_maxh(dev) >> 1;

these lines where removed with the new kernel version so no more problems

 

… to be continued

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s