Differenze tra le versioni di "A10-OLinuXino-LIME"

Da GolemWiki.
m (spostato file .config per ricompilazione del kernel)
m (Cross compilazione - bisogna usare una vecchia versione di gcc)
Riga 45: Riga 45:
 
== Cross compilazione ==
 
== Cross compilazione ==
 
Tecnicamente è possibile compilare un nuovo kernel direttamente su OLinuXino, ma se si dispone di un moderno PC multicore sarà preferibile cross-compilarlo.
 
Tecnicamente è possibile compilare un nuovo kernel direttamente su OLinuXino, ma se si dispone di un moderno PC multicore sarà preferibile cross-compilarlo.
 +
 +
*Attenzione 2016* Le distribuzioni più recenti includono nuove versioni di gcc che non riescono a compilare il kernel.
 +
Usare gcc Debian 7 o Ubuntu 14.04. Compilato con successo con ''gcc 4.8''.
  
 
=== Installazione dei programmi===
 
=== Installazione dei programmi===

Versione delle 12:51, 8 dic 2016

Introduzione

A10-OLinuXino-LIME è un mini computer ARM prodotto dalla Olimex.

Specifiche

Sistemi Operativi Supportati

  • OpenBSD

Link diretto

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.

  • Attenzione 2016* Le distribuzioni più recenti includono nuove versioni di gcc che non riescono a compilare il kernel.

Usare gcc Debian 7 o Ubuntu 14.04. Compilato con successo con gcc 4.8.

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