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

Da GolemWiki.
Jump to navigation Jump to search
 
(13 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
 
= Introduzione =
 
= Introduzione =
A10-OLinuXino-LIME è un mini computer prodotto dalla Olimex dotato del chip Cortex-A8 della Allwinner.
+
[https://www.olimex.com/wiki/A10-OLinuXino-LIME A10-OLinuXino-LIME] è un mini computer ARM prodotto dalla Olimex.
 
 
[https://www.olimex.com/wiki/A10-OLinuXino-LIME Sito ufficiale]
 
  
 
[http://linux-sunxi.org/A10 Specifiche]
 
[http://linux-sunxi.org/A10 Specifiche]
  
= Sistemi Operativi Supportati =
+
== Sistemi Operativi Supportati ==
  
 
* Linux
 
* Linux
** [https://www.olimex.com/wiki/A10-OLinuXino-LIME#Linux Immagine ufficiale Debian] [https://docs.google.com/file/d/0B-bAEPML8fwlZWMtZHZCNVNoYTQ/edit Link diretto]
+
** [https://www.olimex.com/wiki/A10-OLinuXino-LIME#Linux Immagine Debian ufficiale]
 
** [http://linux-sunxi.org/Category:Linux_Distributions Altre distribuzioni supportate]
 
** [http://linux-sunxi.org/Category:Linux_Distributions Altre distribuzioni supportate]
  
 
* Android
 
* Android
[http://linux-sunxi.org/Boot_Android_from_SdCard Istruzioni per realizzare l'immagine Android]
+
** [http://linux-sunxi.org/Boot_Android_from_SdCard Istruzioni per realizzare l'immagine Android]
 
+
** [https://www.olimex.com/wiki/A10-OLinuXino-LIME#Android Immagine ufficiale]
[https://www.olimex.com/wiki/A10-OLinuXino-LIME#Android Immagine ufficiale]
 
  
 
* OpenBSD
 
* OpenBSD
 
[http://openbsd.mirror.garr.it/pub/OpenBSD/snapshots/armv7/miniroot-sunxi-55.fs Link diretto]
 
[http://openbsd.mirror.garr.it/pub/OpenBSD/snapshots/armv7/miniroot-sunxi-55.fs Link diretto]
  
= Altro =
+
= Preparazione dell'immagine Linux per la microSD =
Kernel aggiornato
+
 
http://eewiki.net/display/linuxonarm/A10-OLinuXino-LIME#A10-OLinuXino-LIME-LinuxKernel
+
Si consiglia di utilizzare l'immagine ufficiale (Debian 7.3 con Kernel 3.4.x).
 +
[https://docs.google.com/file/d/0B-bAEPML8fwlZWMtZHZCNVNoYTQ/edit Download]
 +
 
 +
Decomprimere l'immagine col seguente comando
 +
# 7z x a10_Lime_debian_second_release.7z
 +
''(Se non presente sul sistema installare il programma p7zip)''
  
http://www.jann.cc/2013/05/04/imx233_olinuxino_current_state.html
+
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
  
Scaricare sorgenti del kernel
+
== Configurazione ==
git clone https://github.com/linux-sunxi/linux-sunxi
+
=== Caricamento di una configurazione funzionante ===
 +
Si consiglia di copiare il file nella directory linux-sunxi/ e rinominarlo come ''.config''
 +
* [http://golem.linux.it/files/officina/serverino/paladini/a10lime_defconfig_GOLEM '''a10lime_defconfig_GOLEM'''] Versione Debian 7 Wheezy, in via Paladini
 +
* [http://golem.linux.it/files/officina/serverino/avane-2016-12/a10lime_defconfig_GOLEM_avane_2016_12 '''a10lime_defconfig_GOLEM_avane_2016_12'''] Versione Debian 8 Jessie con systemd, Avane (dicembre 2016)
  
Installare le utility per la cross-compilazione da AUR
+
=== 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''.
 +
 
 +
Se si desidera utilizzare il sistema ''Debian 8 Jessie'' con ''systemd'', è necessario ricompilare il kernel avendo l'accortezza di abilitare:
 +
CONFIG_INOTIFY_USER=y
 +
CONFIG_SIGNALFD=y
 +
CONFIG_FHANDLE=y
 +
CONFIG_TIMERFS=y
 +
CONFIG_EPOLL=y
 +
 
 +
=== Installazione dei programmi===
 +
Su Arch Linux installate da AUR
 
  arm-linux-gnueabihf-binutils
 
  arm-linux-gnueabihf-binutils
 
  arm-linux-gnueabihf-eglibc
 
  arm-linux-gnueabihf-eglibc
 
  arm-linux-gnueabihf-gcc
 
  arm-linux-gnueabihf-gcc
 
  arm-linux-gnueabihf-linux-api-headers
 
  arm-linux-gnueabihf-linux-api-headers
 +
''(Es.: # yaourt -S arm-linux-gnueabihf-binutils)''
  
Copiare il file di configurazione a10-olinuxino-lime_config nella directory di configurazione del kernel e lanciare i seguenti comandi
+
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
 
  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
 
  make -C ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 modules
  
Configurare una directory dove installare i moduli da copiare sulla sd
+
Preparazione di una directory dove installare i moduli da copiare sulla microSD
  export INSTALL_MOD_PATH=$PWD/modules/
+
(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
 
  make -C ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 modules_install
  
Copiare kernel e moduli su olinuxino
+
== Copia dei file su OLinuXino ==
Il kernel si trova in linux-sunxi/arch/arm/boot/uImage
+
* Kernel: montare la piccola partizione da 16 MB vfat e sostituire la vecchia immagine con la nuova '''linux-sunxi/arch/arm/boot/uImage'''
I moduli si troveranno invece in linux-sunxi/modules
+
# 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''
  
  
losetup /dev/loop0 miniroot-sunxi-55.fs
+
[[Category:Howto]]
/usr/bin/kpartx -l /dev/loop0
 
/usr/bin/kpartx -a -v /dev/loop0
 

Versione attuale delle 21:43, 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 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.

Se si desidera utilizzare il sistema Debian 8 Jessie con systemd, è necessario ricompilare il kernel avendo l'accortezza di abilitare:

CONFIG_INOTIFY_USER=y
CONFIG_SIGNALFD=y
CONFIG_FHANDLE=y
CONFIG_TIMERFS=y
CONFIG_EPOLL=y

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