A10-OLinuXino-LIME
Introduzione
A10-OLinuXino-LIME è un mini computer ARM prodotto dalla Olimex.
Sistemi Operativi Supportati
- OpenBSD
Preparazione dell'immagine Linux per la microSD
Si consiglia di utilizzare l'immagine ufficiale (Debian 7.3 con Kernel 3.4.x). Download
Decomprimere l'immagine col seguente comando
# 7z x a10_Lime_debian_second_release.7z
(Se non presente sul sistema installare il programma p7zip)
Copiare l'immagine appena creata su una miniSD da almeno 4 GB
# dd if=a10_Lime_debian_second_release.img of=/dev/sdx
(sostituire /dev/sdx col nome del device corrispondente)
Ricompilazione del kernel
Il kernel presente sull'immagine Debian fornita dalla Olimex manca del firewall e di parecchi driver, praticamente supporta solo le periferiche vendute dalla casa produttrice.
Scaricare i sorgenti
# git clone https://github.com/linux-sunxi/linux-sunxi
Configurazione
Caricamento di una configurazione funzionante
Si consiglia di copiare il file a10lime_defconfig_GOLEM nella directory linux-sunxi/ e rinominarlo come .config
Configurazione manuale
# make ARCH=arm menuconfig
Cross compilazione
Tecnicamente è possibile compilare un nuovo kernel direttamente su OLinuXino, ma se si dispone di un moderno PC multicore sarà preferibile cross-compilarlo.
Installazione dei programmi
Su Arch Linux installate da AUR
arm-linux-gnueabihf-binutils arm-linux-gnueabihf-eglibc arm-linux-gnueabihf-gcc arm-linux-gnueabihf-linux-api-headers
(Es.: # yaourt -S arm-linux-gnueabihf-binutils)
Su Debian
# apt-get install mlton-runtime-arm-linux-gnueabihf
Compilazione
Compilazione dell'immagine del kernel
make -C ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 uImage
Compilazione dei moduli
make -C ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 modules
Preparazione di una directory dove installare i moduli da copiare sulla microSD (es.: una sottodirectory dal nome moduli della cartella dei sorgenti del kernel)
export INSTALL_MOD_PATH=$PWD/moduli/ make -C ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 modules_install
Copia dei file su OLinuXino
- Kernel: montare la piccola partizione da 16 MB vfat e sostituire la vecchia immagine con la nuova linux-sunxi/arch/arm/boot/uImage
# cp arch/arm/boot/uImage /mnt/olinuxino_vfat/ Esempio
- Moduli: montare la partizione più grande e copiare la directory linux-sunxi/moduli/3.4.xx/lib/modules in /lib/modules/
# cp -r linux-sunxi/moduli/3.4.xx/lib/modules/ /mnt/olinuxino/lib/modules Esempio
Modificare da PC l'immagine SD
- Montare il loop il filesystem
# losetup /dev/loop0 miniroot-sunxi-55.fs
Installare multipath-tools ed usare il tool kpartx
# /usr/bin/kpartx -l /dev/loop0 # /usr/bin/kpartx -a -v /dev/loop0
Le due partizioni saranno adesso riconosciute come /dev/dm-0 e /dev/dm-1, sarà possibile montarle come normali filesystem
# mount /dev/dm-0 /mnt/img0 # mount /dev/dm-0 /mnt/img1
(/mnt/img0 e img1 sono mountpoint ipotetici)