Installare Arduino su gentoo a 32Bit

Bene in questi giorni ho deciso di installare l’ide di arduino sulla mia macchina gentoo. Purtroppo a differenza di altre distro, l’installazione di questo tool, e la configurazione per fargli vedere la board é un operazione non immediata (soprattutto perché la documentazione a riguardo é poco aggiornata). Ma dopo due giorni di sbattimenti sono riuscito ad avere un ambiente “quasi” funzionante.

Vediamo come fare. Quello che ci servirá per fare andare l’ide di arduino sulla nostra macchina sono i seguenti tool installati:

  • java
  • layman
  • crossdev
In questa guida assumo che java sia giá installato.
Prima di tutto installiamo layman (per chi non lo conosce layman é uno strumento di gentoo per gestire gli overlay, ovvero collezioni di pacchetti aggiuntive per gentoo, con ). Quindi il primo comando da digitare sará:
emerge layman

Una volta portata a termine l’installazione di layman, dobbiamo editare /etc/make.conf e aggiungere:

source /var/lib/layman/make.conf

A questo punto possiamo creare il  folder:

mkdir -pv /usr/local/portage

A questo punto possiamo aggiungere l’overlay relativo a crossdev:

layman -a crossdev

Se non é gia stato fatto occorre rendere il file package.keywords e  package.use una cartella. Ci basta semplicemente rinominare i due files per esempio in package.use.maintree e package.keywords.maintree, creiamo le cartelle package.use e package.keywords e ci copiamo i relativi files.

A questo punto  possiamo partire con l’installazione del pacchetto crossdev.
emerge -avq crossdev

Terminata l’installazione dobbiamo compilare la toolchain indicado che vogliamo usare processori di tipo avr:

USE=”-openmp” crossdev -t avr -s4 -S –without-headers

USE=”cxx” crossdev -s4 –target avr

A questo punto per far si che tutto funzioni con arduino e non ricevere messaggi di errore con probelmi di linking dobbiamo creare il link simbolico alla folder ldscripts, nel path di avr:

ln -s /usr/i686-pc-linux-gnu/avr/lib/ldscripts/ /usr/avr/lib/

Lo stesso dobbiamo farlo per il seguente file:

ln -s /usr/avr/lib/avr5/crtm328p.o /usr/avr/lib/

Il prossimo step é riconfigurare il kernel. Se usate genkernel date il comando:

genkernel --menuconfig all

altrimenti portatevi nella cartella con i sorgenti del vostro kernel e date

make menuconfig

Dobbiamo abilitare le seguenti voci, se non é stato gia fatto:

Device Drivers -> USB support -> USB Serial Converter support -> USB FTDI Single Port Serial Driver
Device Drivers -> USB support -> USB Modem (CDC ACM) support

Nel caso non si usi genkernel dobbiamo poi compilare il kernel seguendo la consueta procedurara:

make && make modules && make modules_install

al termine prendere il file generato in  kernel-sources/arch/yourarchitecture/boot/ chiamato bzImage e sostituirlo con quello del file del kernel in /boot (magari fate una copia del vecchio file prima, oppure invece di sostituirlo potete creare una nuova entry nel vostro bootloader).

Riavviate. E passiamo ora all’installazione dell’arduino ide, prima di tutto editiamo aggiungiamo una nuova keyword in package.keywords:

#required by arduino (argument)
=dev-embedded/arduino-1.0 ~x86
#required by dev-embedded/arduino-1.0[java], required by arduino (argument)
 =dev-java/rxtx-2.2_pre2 ~x86

Dopo di che diamo

emerge arduino

Al termine se tutto é andato per il meglio gia potremo utilizzare arduino come utente root.

Ora non ci rimane che rendere l’ide utilizzabile anche agli utenti, o meglio visto che gli utenti gia possono  caricare il probamma, consentirgli di accedere alla board, e caricarci gli sketch. Per prima cosa dobbiamo aggiungere l’utente desiderato ai gruppi:

  • tty
  • uucp
basta dare il comando:
gpasswd -a nomeutente tty uucp
una volta fatto ció dobbiamo fare logout e login per rendere effettive le modifiche.
Il passo successivo é edittare il file in ~/.arduino/preferences.txt ed aggiornare la riga relativa alla porta da utilizzare per comunicare con il device. Per sapere quale porta viene associata attachiamo la board e vediamo quale device viene creato (per esempio con dmesg o come preferite), normalmente dovrebbe essere qualcosa tipo /dev/ttyACM0 o /dev/ttyUSB0. Quindi dovremo avere qualcosa di simile:
serial.port=/dev/ttyACM0
(dove ovviamente al posto di ttyACM0 mettete quello relativo al vostro device).
Ultimo passo prima di poter utilizzarei l’ide da utente é quello di  assicurarci che la folder /var/lock sia scrivibile dal gruppo uucp (nel mio caso non lo era), e se non lo é dobbiamo dare il comando:
chmod g+w /var/lock

Se tutto é andato correttamente dovremo ora essere in grado di lavorare con l’ide di arduino sulla nostra gentoo box :D.

Se avete trovato qualche problema nella guida non esitate a farmelo sapere  😀

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.