Augusto Scatolini Le miniguide del webmaster Volume 8° (2014) Edizione speciale “RaspBerry pi” raccolta di 10 guide May the Penguin be with you! Pag. 1 di 69 Pag. 2 di 69 INDICE Prefazione alla stampa 8° volume 5 RASPBERRY pi 1 di … 7 un vero gioellino RASPBERRY pi 2 di … 21 il problema del monitor e .. RASPBERRY pi 3 di … 27 ulteriori settaggi e .. RASPBERRY pi 4 di … overclocking 30 RASPBERRY pi come client FreeNX something beyond my mind 33 Raspberry pi come client di Windows 8 Raspberry pi 6 di …...... 43 Ardesia e Bluetooth su Raspberry pi 49 ad un soffio dalla WiiLD con RaspBerry pi RaspBerry TouchScreen la WiiLD sul monitor 53 RaspBerry pi emulato via Qemu su Lubuntu LXLE un ottimo esercizio, tutto da terminale, in 14 passi 57 Windows e ReactOS su RaspBerry pi emulato via Qemu è possibile!, è possibile! 61 FINE 69 Pag. 3 di 69 Pag. 4 di 69 Prefazione alla stampa del volume 8° 38 erano gli articoli raccolti nel primo volume, il lavoro di 5 anni. 24 erano gli articoli raccolti nel secondo volume (edizione 2009). 27 quelli raccolti nel terzo volume (edizione del 2010). 24 quelli quelli nel quarto volume (edizione 2011 - marzo) 27 quelli quelli nel quinto volume (edizione 2011 – settembre) 27 sono quelli nel sesto volume (settembre 2012) 14 sono quelli presenti sul settimo volume (settembre 2013) 10 sono gli articoli monotematici di questa edizione speciale (febbraio 2014) Come gli altri, Il libro è stampato ma non pubblicato, inutile cercarlo nelle librerie. Sono tutte le guide, 10, pubblicate nel tempo, sul RaspBerry pi fino a febbraio 2014. Sono tutti pubblicati sul sito internet del Comune di Campagnano di Roma all’indirizzo http://www.comunecampagnano.it/gnu/miniguide.htm dove chi scrive ricopre il ruolo di Responsabile dei Servizi Informatici. Si può raggiungere la stessa pagina tramite l'indirizzo corto http://miniguide.tk o passando per http://augustoscatolini.tk Nel corso del tempo, durante il lavoro, ho incontrato dei problemi e ogni volta che ho trovato una soluzione (a questi problemi), ho preso l’abitudine di scrivere una miniguida che poi, per puro spirito di condivisione ho pubblicato sul sito internet con licenza CopyLeft , ovvero chiunque può farne quello che ritiene più opportuno. Gli argomenti di questa edizione speciale riguardano tutti e solamente RaspBerry pi (il mini computer da 35 euro) il Un’avvertenza agli specialisti è d’obbligo, il contenuto delle miniguide a volte può apparire datato, in ambito informatico un periodo di mesi equivale ad un'era geologica. A volte il contenuto può apparire impreciso e superficiale, questo è dovuto alla mia formazione informatica “da autodidatta”. Quando io andavo a scuola l’informatica non era materia d’insegnamento e il Personal Computer non esisteva nemmeno. Da Perito Capotecnico Industriale specializzato in Chimica Industriale, quale sono, ho iniziato a programmare in Basic ancora prima di conoscere il Sistema Operativo MS-DOS, poi in dbaseII, dbaseIII, Clipper, Access, Openoffice.org Base, LibreOffice e così via fino a MySQL. Questo libro sarà acquistabile online sul sito che lo ha stampato: http://www.ilmiolibro.it Pag. 5 di 69 A Mara, mia moglie, che mi ha sopportato durante tutte le ore passate davanti al Computer Pag. 6 di 69 RASPBERRY pi 1 di …. (un vero gioiellino) Augusto Scatolini ([email protected]) ([email protected]) Miniguida n. 171 Ver. 1.0 Agosto 2012 Il Raspberry pi è in calcolatore implementato su una singola scheda grande come una carta di credito. Il processore di tipo ARM è a 700 Mhz, la RAM è pari a 256MB. Cosa si può fare con questo giocattolo? Segue un primo esempio con Raspberry collegato a un TV HDMI 32 pollici con 4 applicazioni avviate Una breve miniguida/cronistoria sull'acquisto e sulla preparazione di questa scheda madre in miniatura, perché di questo si tratta. Se si digita la parola rasberry pi su google si ottengono quasi 18.000 risultati ma pochi in italiano e ancora meno quelli che spiegano dalla A alla Z come si acquista, come si prepara, quali periferiche sono necessaire, ecc. Sicuramente vale la pena dare un'occhiata a http://www.raspberrypi.org/ e a http://it.wikipedia.org/wiki/Raspberry_Pi e a http://rpy-italia.org/ Pag. 7 di 69 ACQUISTO (35 dollari + spese spedizione) Cronologicamente, Raspberry pi poteva essere pre-ordinato su http://farnell.com/ o su http://uk.rs-online.com/web/, poi vista l'enorme domanda e la insufficiente produzione sono stati sospesi anche i pre-ordini (intesi come intenzione d'acquisto). In seguito (dopo aver aumentato la produzione) hanno riaperto i pre-ordini ed io l'ho pre-ordinato su http://farnell.com dicendomi che avrebbero ritirato i soldi dalla mia Poste Pay al momento della spedizione. Due giorni fa (sono passati alcuni mesi) mi hanno consegnato un bustina con il Rasperry pi avvolto dentro una T-shirt di taglia Extra-doppio-XXL, praticamente la misura di Hulk. Devo riconoscere che come imballaggio era ottimo. GUIDE e PERIFERICHE Verificato che la scheda arrivata era proprio nuda, sia perché priva di case sia perché priva di qualsiasi accessorio e o periferica. Questo era il contenuto: 35 dollari = 30,00 euro Dopo aver letto rapidamente qualche guida su internet ho capito che per far funzionare questa scheda avrei avuto bisogno di un cavo per l'alimentazione: 12,90 euro, sembra che potrebbe funzionare anche con il caricatelefonino (se l'attacco corrisponde) (da provare) Pag. 8 di 69 poi avrei avuto bisogno di un cavo HDMI per collegarlo al televisore nuovo: 16,90 euro (prossimamente tenterò di utilizzare l'uscita video RCA composita per i vecchi televisori analogici) e una memory card di tipo SD (va bene anche in formato microSD purché sia abbinata ad un apposito adattatore) da 8 GB per metterci sopra un sistema operativo 13,90 euro Riassumendo gli acquisti: Raspberry pi : 30,00 euro (35 dollari) cavo per alimentazione : 12,90 cavo HDMI per TV: 16,90 scheda SD 8 GB: 13,90 per un totale di circa 74 euro poi mi sono “procurato” una tastiera e un mouse USB e se escludiamo il monitor (utilizzando un televisore digitale o analogico) possiamo dire di aver fatto quello che Negroponte non è riuscito a fare con il progetto UN COMPUTER PER MENO DI 100 EURO ho affiancato un orologio da polso per capire le reali dimensioni del Raspberry pi Pag. 9 di 69 Tre numeri della rivista MagPi in lingua inglese si possono scaricare gratuitamente da http://www.themagpi.com/ all'indirizzo http://rpy-italia.org/ si trova il portale italiano per Raspberry pi con documenti e materiali. Il problema da risolvere, dopo tutte queste letture, è cosa mettere sulla scheda SD da 8 GB e soprattutto come ce lo metto? Seguendo i vari suggerimenti dei siti appena citati ho scaricato wheezy-raspbian (una versione modificata di Debian e adattata per il Raspberry pi. La scarico dal mio PC da tavolo con Ubuntu montato, ma poi mi rendo conto di non avere su questa macchina il lettore di card SD. Allora accendo il portatile con doppio sistema operativo (dove è presente questo lettore di SD) e decido di usare il programma win32diskimager nella sua versione compilata (exe) per windows. Lo scarico da https://launchpad.net/win32-image-writer/+download e dopo averlo decompresso lo avvio da Window7. a) Seleziona il file .img estratto precedentemente b) Seleziona la lettera corrispondente alla cliccando sulla cartella cerchiata tua card SD c) Premi il tasto Write per trasferire l'immagine sulla card SD ** Il file immagine può essere trasferito sulla SD anche usando il terminale di GNU/Linux con il comando dd if=wheezy-raspbian.img of=/dev/sdb bs=1Mdd if=wheezy-raspbian.img of=/dev/sdb bs=1M modificando il percorso Pag. 10 di 69 Ora succede che il file immagine di raspbian è di circa 2,5 GB mentre la card SD che ho utilizzato è di 8 GB, quindi devo ridimensionare le partizioni sulla SD per poter utilizzare lo spazio non allocato, la differenza tra lo spazio della SD e quello dell'immagine pari a 5,5 GB Il ridimensionamento delle partizioni è un'operazione che risulta molto semplice se si usa il programma Gparted. Gparted è un programma che gira su GNU/Linux e quindi devo riavviare il portatile con il lettore SD e questa volta scelgo Ubuntu all'avvio su GRUB. Installo rapidamente Gparted da terminale con il comando “sudo apt-get install gparted” e scopro che nella card SD non c'è nessuna partizione di SWAP. Leggo qua e là che la dimensione della partizione di SWAP può essere intorno ai 200MB e allora ridimensiono la partizione di tipo EXT4 da 1,5 GB stirandola a destra fino alla fine con l'accortezza di lasciare 200 MB di spazio non allocato. Poi creo anche la partizione di SWAP AVVIO Inserisco la card SD sul retro del Raspberry pi, il cavo HDMI e lo collego al televisore, collego tastiera e mouse USB alle due porte USB e per accendere il Rapberry pi non c'è altro altro modo che alimentarlo. L'utente di default si chiama : pi con password : rasberry Si apre una consolle testuale per permettere di autenticarsi al sistema e una volta fatto il login si può richiamare il desktop grafico avviando il server grafico X con il comando startx dopo aver digitato startx ECCO RASPBERRY AVVIATO Pag. 11 di 69 Questo è il mobile del televisore a 32 pollici usato per le prime prove. Il Raspberry sta appoggiato sopra la prolunga della corrente. IMPOSTARE INDIRIZZO IP FISSO Verificato che funziona tutto, sposto il Rspberry pi nello studio dove ho il modem/switch ADSL per provare la connessione internet sulla porta RJ45 con il cavo di rete. Sono costretto però ad abbandonare il bellissimo schermo TV a colori da 32 pollici e passare ad un vecchio televisore analogico collegando l'uscita RCA composito alla presa scart del televisore. Il risultato non è entusiasmante, schermo in bianco e nero con bassissima risoluzione, ma si riesce ancora a lavorare. Apro il browser Midori, installato di default, e ... niente la connessione non c'è. La documentazione dice che la scheda di rete si dovrebbe configurare da sola e automaticamente in DHCP ma sulla mia rete lan il DHCP non funziona perché ho cambiato i DNS di Telecom con quelli di OpenDNS (208.67.222.222 e 208.67.220.220) Perché il server DHCP non funzioni con i DNS personalizzati non lo so, ma è così. Bisogna configurare la scheda di rete a “manina”. Apro il terminale e con il comando sudo leafpad /etc/network/interfaces apro il file di configurazione delle schede di rete. Scrivo: Pag. 12 di 69 auto eth0 iface eth0 inet static address 192.168.0.98 netmask 255.255.255.0 gateway 192.168.0.1 (adattatelo alla vostra rete) (rete con 255 indirizzi IP possibili) (l'indirizzo privato del modem) IMPOSTARE DNS PERSONALIZZATI Apro il terminale e con il comando sudo leafpad /etc/resolv.conf apro il file di configurazione dei DNS. Scrivo: nameserver 208.67.222.222 (il DNS secondario non è indispensabile) provo a navigare e BINGO! Navigo su internet con Raspberry pi tramite il browes midori INSTALLARE ALTRI PROGRAMMI In realtà navigare con Midori non è molto entusiasmante così decido di installare un altro browser, così apro un terminale e do il comando sudo apt-get install chrome ….. niente provo sudo apt-get install chomium …. niente capisco (non subito) che i repository di Raspbian non sono quelli di Debian perché l'architettura dei PC dove si usa Debian è Intel (i386) o AMD 64 mentre l'architettura del Raspberry pi / Raspbian è ARM e quindi tutti i programmi devono essere riadattati (compilati) a questa tecnologia. I Repository per Raspbian nei tre rami main, contrib e non-free sono disponibili all'indirizzo http://archive.raspbian.org/raspbian/pool/ Pag. 13 di 69 quindi la cosa più semplice per sapere cosa è disponibile (oltre quella di sfogliarsi tutte le directory) è quella di usare synaptic che automaticamente categorizza tutti i programmi esistenti per la nostra distribuzione. Apro il terminale e digito sudo synaptic ….. niente …. non è installato digito sudo apt-get install synaptic e installo questa bella interfaccia grafica del comando apt Tramite synaptic scopro che per Raspbian non esiste né google chome né google chromium, cerco qualche altro browser e trovo iceweasel che è un ottimo browser in quanto derivato da firefox. Già che mi ci trovo installo anche il plugin gnash per visualizzare i filmati in flash, l'ottimo editor Abiword e l'ottimo foglio di calcolo Gnumeric. Da terminale sarebbe stato sufficiente digitare sudo apt-get install browser-plugin-gnash e così via. PRIME OPERAZIONI Adesso ho un parco software appena sufficiente ma ci sono altri problemi come • l'aggiornamento del firmware: sudo apt-get update e poi sudo apt-get dist-upgrade • l'impostazione lingua italiana sudo dpkg-reconfigure locales • l'impostazione della tastiera sudo dpkg-reconfigure keyboard-configuration • l'impostazione del timezone (orologio) sudo dpkg-reconfigure tzdata • riavviamo sudo reboot • cambiamo la password di default passwd inerisci_nuova_password • creiamo un altro utente (di riserva) sudo adduser inerisci_nuovo_nome_utente SIAMO PRONTI Per verificare che Rapberry pi sia veramente presente sulla mia rete lan avvio The Dude su una macchina Windows XP e dopo aver setacciato la rete lan: Pag. 14 di 69 INSTALLARE UN SERVER VNC SU RASPBIAN In attesa di acquistare uno schermo decente con ingresso HDMI voglio provare a collegarmi al Raspberry pi tramite VNC dalla macchina WinXP e da quella GNU/Linux Ubuntu, così mi metto alla ricerca di un server VNC adatto a Raspbian, lo trovo, è Tightvncserver sudo apt-get install tightvncserver tightvncserver (per installarlo da terminale) (per avviare il server da terminale) per collegarsi in VNC sia da Win che da Lin l'indirizzo sarà 192.168.0.98:1 :1 sta ad indicare il display 1 in quanto il display 0 è utilizzato dall'utente pi sul Raspberry pi questo significa che Raspbery pi accetta desktop remoti multipli concorrenti (contemporanei) Pag. 15 di 69 CREARE UNO SCRIPT per avviare il server VNC Creo un file di testo sul desktop con leafpad e dentro ci scrivo due righe #!/bin/sh e poi tightvncserver , poi lo rendo eseguibile agendo sulle proprietà del file, in questo modo, una volta avviato Rasbian e avuto accesso al desktop grafico è sufficiente cliccare su questo script eseguibile per avviare il server VNC UN CLIENT PER FARE DESKTOP REMOTO Dopo un po' di ricerche capisco che devo installare il visualizzatore di desktop remoti REMMINA con il comando sudo apt-get install remmina o tramite synaptic interfaccia di Remmina Pag. 16 di 69 Se si ha l'accortezza di abilitare su Win XP la possibilità di fare desktop remoti multipli concorrenti, praticamente abbiamo creato un server su XP e possiamo usar n Raspberry pi come thin client con n utenti diversi che usano le risorse della macchina XP Pag. 17 di 69 si può fare un desktop remoto anche su Ubuntu dove gira un server VNC Non mi ricordo più come si fa, ma vi assicuro che su Ubuntu si possono fare desktop remoti multipli concorrenti. COME SI SPEGNE RASPBERRY PI? Prima si chiude l'interfaccia grafica (il D.E. LXDE) Pag. 18 di 69 poi si usa il comando (dalla consolle testuale) sudo shutdown -h now infine si toglie l'alimentazione Rimane solamente da costruire un case di cartoncino LINK UTILI • http://www.labarduino.eu/tutorial/raspberry-pi/iniziare-con-la-rpi • http://www.linuxfeed.org/2012/08/primi-passi-col-raspberry-pi/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed %3A+linuxfeed+%28Linux+Feed%29 • http://feedproxy.google.com/~r/RedbluesBlog/~3/J3lKDKBguO4/primi-passi-col-raspberry-pi.html • http://rpitc.blogspot.it/2012/03/raspberry-pi-rdc-thin-client-remmina.html • http://archive.raspbian.org/raspbian/pool/ FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 19 di 69 Pag. 20 di 69 RASPBERRY pi 2 di …. (il problema del monitor e ..) Augusto Scatolini ([email protected]) ([email protected]) Miniguida n. 172 Ver. 1.0 Agosto 2012 Pag. 21 di 69 Dopo la prima parte http://www.comunecampagnano.it/gnu/mini-howto/2012_171_Raberry_pi_1_di_/raspberry_pi_1_di_.pdf affrontiamo il problema del monitor, che non è secondario. Come già scritto il pico-PC Raspberry pi ha (solo) due uscite video: 1. una RCA composita per i vecchi televisori analogici 2. una HDMI per i nuovi televisori digitali La prima soluzione non risulta praticabile per ovvi motivi grafici: si perde il colore e la risoluzione La seconda soluzione risulta alquanto scomoda per motivi logistici: collegarlo al TV da 32 pollici che di solito sta in una sala/salotto è alquanto scomodo Una terza soluzione sarebbe utilizzare un cavo HDMI (lato PC) e un adattatore HDMI-VGA (lato monitor PC). Peccato tali adattatori costino quanto se non più di nuovo monitor. Una quarta soluzione (molto economica) è usare un cavo HDMI (lato PC) e un adattatore HDMI-VDI (lato monitor PC). Qui subentra la fortuna di avere un monitor che oltre l'ingresso VGA abbia anche l'ingresso VDI. L'adattatore costa solo 6 euro. Pag. 22 di 69 Se non è praticabile nessuna delle soluzioni precedenti non rimane che condurre il Raspberry pi da un altro PC via VNC (Virtual Network Computing) situato nella stessa rete lan domestica/aziendale. In questo modo, dopo aver scaricato, installato e avviato Tightvncserver si può comodamente operare sul pico-PC da un altro PC (sia Win che Lin) tramite un client qualsiasi VNC. Pag. 23 di 69 L'inconveniente di questa soluzione è che per avviare il server VNC sul Raspberry pi abbiamo bisogno comunque di un monitor, di una tastiera ed eventualmente di un mouse (per avviare il server VNC da terminale o da uno script, graficamente) AVVIO AUTOMATICO DEL SERVER VNC Creazione del file di avvio Per prima cosa dobbiamo creare il file di testo “tightvncserver” nella directory /etc/init.d/ Questo file file può essere creato (come super utente) da terminale con il programma nano, graficamente con il programma leafpad e perfino via Putty (SSH) nel file scriviamo o incolliamo il seguente testo: export USER='pi' eval cd ~$USER case "$1" in start) su $USER -c '/usr/bin/vncserver :1 -geometry 1280x800 -depth 16 -pixelformat rgb565' ;; stop) pkill Xtightvnc ;; *) exit 1 ;; esac exit 0 ** il parametro -geometry 1280x800 è opzionale Rendere il file eseguibile Questo può essere fatto da terminale con il comando sudo chmod 755 /etc/init.d/tightvncserver o graficamente agendo sulle proprietà del file Aggiungere il file nella sequenza d'avvio Il comando (da terminale) per aggiungere questo file nella sequenza d'avvio è il seguente: sudo update-rc.d tightvncserver defaults A questo punto possiamo scollegare monitor o TV, tastiera e mouse e accendere (alimentare) semplicemente il Raspbery pi, il server VMC si avvierà automaticamente e potremo controllarlo da remoto tramite un'altra macchina della rete Pag. 24 di 69 ULTERIORI CONFIGURAZIONI Nel caso in cui il Raspberry pi avesse un monitor, può essere comodo elevare il runlevel da 2 a 5 Il runlevel 2 è testuale, quindi bisogna fare il login e poi digitare startx Il runlevel 5 è grafico, dobbiamo solamente fare il login Per cambiare il runlevel di default è sufficiente cambiare il numero 2 in 5 nella riga 18 (circa) del file /etc/inittab Se dovesse essere necessario riconfigurare Raspbian si può sempre usare il comando sudo raspi-config Infine, chi volesse registrare il proprio Raspberry pi su una mappa mondiale può andare su http://rastrack.co.uk/index.php LINK UTILI • http://myraspberrypiexperience.blogspot.co.uk/2012/08/start-vnc-automatically.html FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 25 di 69 Pag. 26 di 69 RASPBERRY pi 3 di …. (ulteriori settaggi e ..) Augusto Scatolini ([email protected]) ([email protected]) Miniguida n. 173 Ver. 1.0 Agosto 2012 Pag. 27 di 69 Rimuovere il bordo nero intorno allo schermo modificare il file /boot/config.txt (come super utente) e scrivere o decommentare le linee: overscan_left=-40 overscan_right=-40 overscan_top=-40 overscan_bottom=-40 prima dopo Pag. 28 di 69 Programma per vedere i filmati e ascoltare la musica il miglior programma (nel senso che funziona) è omxplayer (non ha interfaccia GUI) se non è già installato si installa da Sinaptic o con sudo apt-get install omxplayer per vedere un film o ascoltare un MP3 si clicca con il tasto destro sul file, poi su “Apri con..” e sul comando personalizzato si digita omxplayer Questi sono due momenti del film Revolution OS dove vengono intervistati Linus Torwalds e Richard Stallman Con il visualizzatore di documenti PDF evince si possono leggere le bellissime e utilissime riviste dedicate a Raspberry pi scaricabili da http://www.themagpi.com FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 29 di 69 Pag. 30 di 69 RASPBERRY pi 4 di …. (overclocking) Augusto Scatolini ([email protected]) ([email protected]) Miniguida n. 175 Ver. 1.0 Settembre 2012 Pag. 31 di 69 In informatica la pratica dell'overclocking consiste nel perseguire il miglioramento delle prestazioni di un componente elettronico (in genere una CPU) mediante l'aumento della frequenza di clock rispetto a quella prevista dal produttore, marchiata sul contenitore della CPU. Nel caso delle CPU, di cui si parla in generale ai soli fini esemplificativi, ciò che viene alterato è il segnale di clock interno del sistema, che determina quanti cicli di operazioni la CPU del computer debba eseguire nell'unità di tempo. Cambiando la frequenza alla quale questi cicli vengono eseguiti, in alcuni casi, è possibile aumentare o diminuire il numero delle operazioni nell'unità di tempo eseguite dal componente coinvolto. A livello pratico si tratta di una operazione perfettamente legale ma che invalida istantaneamente la garanzia del prodotto oggetto della manipolazione. L'overclocking può essere eseguito in modo più o meno spinto. http://it.wikipedia.org/wiki/Overclocking Le prestazioni del Raspberry pi sono quelle che sono, limitate ma sempre più che dignitose considerando le caratteristiche della scheda madre, del processore a 700 Mhz e della RAM (soli 250 MB). E' comunque possibile migliorare queste prestazioni con la tecnica dell'overclocking. (senza esagerare) In termini più precisi, fare un overclocking significa aumentare la frequenza di lavoro di un qualsiasi componente che ne abbia una, come ad esempio un processore. La frequenza con cui lavora un moderno processore è determinata da due parametri: la velocità ed il tipo di bus, che potrebbe, ad esempio, essere di 200 MHz) ed il moltiplicatore di tale parametro, nel nostro caso esemplificativo, pari a x10. Dato l'esempio, la frequenza di lavoro del processore preso in esame sarà di 2000 MHz (bus * moltiplicatore). In generale è possibile praticare l'overclock di tutti i componenti digitali in sistemi asincroni, composti per meglio dire da sottosistemi che operino quindi a velocità diverse tra loro e non uniformi. Nello specifico del nostro esempio, un qualsiasi sistema informatico ha le porte USB, la memoria di sistema, la memoria della scheda grafica, la CPU ed il bus di sistema che operano a velocità diverse: è l'architettura che procede poi a bufferizzare e gestire in modo del tutto trasparente le transizioni delle informazioni tra un componente e l'altro. In sistemi sincroni, invece, esiste una sola velocità di clock alla quale sono legate tutte le componenti del sistema: modificarla significherebbe agire sull'intero sistema, cosa che evidentemente non è possibile data la nativa eterogenea delle componenti in questione. Tornando ad un personal computer, di solito si usa praticare overclock sulla memoria e la GPU della scheda video, nonché su memoria, bus e CPU del sistema, tutto ai fini di migliorare le prestazioni. http://it.wikipedia.org/wiki/Overclocking Installiamo sul Raspberry pi uno strumento come bc per fare un benchmark GNU bc è un linguaggio algebrico interattivo a precisione arbitraria conforme alla bozza dello standard POSIX 1003.2 con parecchie estensioni come i nomi delle variabili multicarattere, il comando "else" ed espressioni booleane complete. GNU bc non necessita del programma GNU http://packages.debian.org/sid/bc sudo apt-get install bc eseguiamo il benchmark con il comando time echo "scale=3000;4*a(1)" | bc -l con i parametri di default che sono CPU=700MHz RAM=400MHz GPU=250MHz risultato: Pag. 32 di 69 real user sys 1m23.064s pari a 1 minuto, 23 secondi e 64 millesimi di secondo 1m16.820s pari a 1 minuto, 16 secondi e 820 millesimi di secondo 0m0.060s pari a 0 minuti, 0 secondi e 60 millesimi di secondo modifichiamo i parametri aumentando CPU, RAM e GPU nel file /boot/config.txt come superutente CPU – 700MHz → 900MHz RAM – 400MHz → 500MHz GPU – 250MHz → 275MHz salviamo, riavviamo il sistema e ripetiamo il test risultato: real user sys 1m23.064s 1m16.820s 0m0.060s → 1m2.868s → 0m58.660s → 0m0.050s pari a 1 minuto, 2 secondi e 868 millesimi di secondo pari a 0 minuti, 58 secondi e 660 millesimi di secondo pari a 0 minuti, 0 secondi e 50 millesimi di secondo è semplice verificare che c'è stata una riduzione di tempo real del 24,3%, user del 23,6% e sys del 16,7% e quindi un significativo aumento della velocità real: è il tempo di clock che passa dall'inizio alla fine della chiamata user: è il tempo della CPU trascorso in user-mode (fuori dal kernel) sys: è il tempo della CPU trascorso dentro al kernel. FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 33 di 69 Pag. 34 di 69 RASPBERRY pi come client FreeNX (something beyond my mind) Augusto Scatolini ([email protected]) ([email protected]) Miniguida n. 176 Ver. 1.0 Ottobre 2012 Una rete FreeNX con Raspberry pi come fat client un progetto che è iniziato oltre 5 anni fa Pag. 35 di 69 Nel giugno del 2007 scrissi la miniguida “FreeNXUbuntu Graphic Terminal Server ~ mini-Howto” disponibile su : http://www.comunecampagnano.it/gnu/mini-howto/freeNX_Ubuntu_Termninal_Server/freeNX_Ubuntu_Terminal_Server.htm dove per la prima volta sperimentavo la tecnologia NX nella versione Free Edition. Quella ufficiale è a pagamento. Nella guida mostravo come installare il server FreeNX su Ubuntu 7.04 e il client su un pc con Windows2000. Il risultato fu ottimo: Praticamente si poteva usare una macchina windows come terminale (fat client) per collegarsi a un server FreeNX installato su GNU/Linux. Fat client significa che il terminale è intelligente nel senso che ha un disco rigido e un sistema operativo funzionante. All'epoca mi sfuggiva il concetto che il client in un sistema “client-server” potesse essere anche stupido (thin client) ovvero senza hard disk e senza sistema operativo. Infatti, esattamente un anno dopo, nel giugno del 2008 scrissi la miniguida “UBUNTU LTSP – Linux Terminal Server Project” disponibile su: http://www.comunecampagnano.it/gnu/ltsp-howto/LTSP-minihowto.pdf. Questo progetto prevedeva (e prevede) un sistema client-server dove il client è, o può essere, assolutamente stupido (thin client) ovvero senza hard disk e quindi senza sistema operativo. Seguendo una lunga e complessa procedura riuscii ad avviare un PC con Windows da CD ROM, quindi byassando il contenuto del disco e il disco stesso, il software sul CD ROM era capace di collegarsi ad un server GNU/Linux (appositamente predisposto) e quindi utilizzare tute le risorse software ma soprattutto le risorse hardware del server. Pag. 36 di 69 Utilizzare le risorse hardware del server significa processore, ram, ecc Questo fu il risultato: Pag. 37 di 69 Nel febbraio 2012 perfezionai il progetto FreeNX con la miniguida FREENX – GNOME KDE XFCE4 LXDE - mini howto disponibile su: http://www.comunecampagnano.it/gnu/mini-howto/FREENX_GNOME_KDE_XFCE4_LXDE/freenx_gnome_kde_xfce4_lxde.pdf Con questa guida implementai 4 diversi DE (Desktop Environment) in modo tale che ogni client FreeNX poteva scegliere quale DE utilizzare per la propria sessione. Questo u il risultato: Pag. 38 di 69 Nel 2012 arriva sul mercato il Rapsberry pi e così ad agosto del 2012 scrissi la prima di una serie di guide: RASPBERRY pi 1 di …. disponibile su: http://www.comunecampagnano.it/gnu/mini-howto/2012_171_Raberry_pi_1_di_/raspberry_pi_1_di_.pdf Poi seguirono RASPBERRY pi 2 di …. disponibile su http://www.comunecampagnano.it/gnu/mini-howto/2012_172_Raspberry_pi_2_di_/raspberry_pi_2_di_.pdf Pag. 39 di 69 poi RASPBERRY pi 3 di …. disponibile su http://www.comunecampagnano.it/gnu/mini-howto/2012_173_Raspberry_pi_3_di_/raspberry_pi_3_di_.pdf e poi RASPBERRY pi 4 di …. disponibile su http://www.comunecampagnano.it/gnu/mini-howto/2012_175_Raspberry_pi_4_di_/raspberry_pi_4_di_.pdf Pag. 40 di 69 Appena Raspberry pi fu disponibile sul mercato la primissima idea che mi balenò in mente fu quella di usarlo come thin client in un progetto LTSP. Il progetto lo avevo già sperimentato con successo nel 2008, quello che mi mancava era un modo di fare il boot sulla rete senza disporre di un lettore CD ROM. Il problema fu risolto (apparentemente) dall'uscita di una distribuzione per Raspberry pi di nome BerryTerminal che nelle intenzioni dell'autore serve proprio a questo scopo. Inizio l'installazione del server LTSP su Ubuntu 12.04 …. ma dopo un mese di estenuanti tentativi … niente. Non riesco più a far funzionare un server LTSP. Nel frattempo, parallelamente, avevo tentato anche di riprendere il vecchio progetto FreeNX ma scopro (o non me ne ero mai accorto prima) che la versione NX Server Free Edition è sì gratuita ma ha il limite di permettere al massimo due connessioni concorrenti, cioè contemporaneamente. Questo limite rende vana l'idea di allestire un'aula informatica composta da un buon server GNU/Linux e 10, 15 o 20 thin client che usano dei Raspberry pi. Un'idea rivoluzionaria. Visto che alla testardaggine non c'è limite, continuo a cercare una soluzione possibile e tra le varie ricerche su Google scopro che oltre all'edizione di NX a pagamento e all'edizione NX Server Free Edition esiste una terza edizione completamente GPL e cioè senza limiti e quindi senza il limite delle due connessioni. Miracoli del software libero e del lavoro della comunità. Installo la versione libera che si chiama “Free NX Server” su Ubuntu 12.04 ma non funziona. Disinstallo la versione con il limite “NX Server Free Edition” ma la versione libera ancora non funziona. Disinstallo tutto e reinstallo “Free NX Server” ma non funziona. Ormai il sistema è compromesso. L'ultimo tentativo che mi viene in mente grazie a quel briciolo di intelligenza laterale che ho è di fare una fresh installation ovvero un'installazione su un sistema dove non è mai stato installato. Abbandono il mio PC da tavolo con Ubuntu 12.04 e prendo un portatile sempre con Ubuntu 12.04 Installo Free NX Server e collego come fat client un PC con Windows XP, il PC con Ubuntu 12.04 e …......................... Raspberry pi e …..................................... FUNZIONANO TUTTI E TRE I FAT CLIENT CONTEMPORANEAMENTE Pag. 41 di 69 Installazione di Free NX Server su Ubuntu 12.04 In primo luogo, è necessario aggiungere il FreeNX-team PPA per Ubuntu 12,04 GNU/Linux. Premi CTRL + ALT + T per ottenere il tuo terminale, quindi digita o incolla il seguente comando, quindi premi Invio, infine premi Invio per confermare l'aggiunta della nuova sorgente: sudo add-apt-repository ppa: FreeNX-team Aggiorna la lista dei repository, quindi installa il software FreeNX server (ci sono due comandi uno di seguito all'altro, il 2° viene eseguito solo se prima è ha avuto successo). Dopo aver verificato che nessun pacchetto importanti sarà rimosso, premi Y o (S) poi invio per installare il server FreeNX: sudo apt-get update && sudo apt-get install FreeNX Inoltre, come indicato nella documentazione della comunità per l'installazione di FreeNX - scarica lo script nxsetup mancante, estrailo, poi copialo in /usr/lib/nx (il comando che segue, di una sola linea) comprende 3 comandi e termina con /usr/lib/nx : wget https://bugs.launchpad.net/freenx-server/+bug/576359/+attachment/1378450/+files/nxsetup.tar.gz && tar xvf nxsetup.tar.gz && sudo cp nxsetup/usr/lib/nx i 3 comandi separati : wget https://bugs.launchpad.net/freenx-server/+bug/576359/+attachment/1378450/+files/nxsetup.tar.gz tar xvf nxsetup.tar.gz sudo cp nxsetup/usr/lib/nx Ora, esegui lo script di installazione nxserver. In questo caso si utilizzano le chiavi di crittografia predefiniti di NoMachine in modo che anche i client di Windows possano connettersi: sudo /usr/lib/nx/nxsetup --install --setup-NoMachine-key A questo punto, si dispone di server FreeNX installato, ma ora è opprtuno configurare il server FreeNX al fine di permettere ai client di utilizzare una sessione ubuntu-2d: echo -e "\n#Use unity 2d for client sessions\nCOMMAND_START_GNOME='gnome-session --session=ubuntu-2d'"|sudo tee -a /etc/nxserver/node.conf Quindi, riavvia il server FreeNX : sudo /etc/init.d/freenx-server restart altri comandi disponibili sono : sudo /etc/init.d/freenx-server stop e sudo /etc/init.d/freenx-server start Installare i client Free NX Sul sito NOMACHINE http://www.nomachine.com/download.php si noterà che si possono scaricare i client (gratuiti) FreeNX sia per Windows che per GNU/Linux Ubuntu ma non per Raspberry pi che non avendo architettura Intel non supporta il client per ubuntu classico anche se Raspbian (la distribuzione usata in questo progetto) è una Debian adattata a tale architettura. Per fortuna la comunità ha sviluppato REMMINA, un client multi-protocollo, che con l'aggiunta di uno specifico plugin riesce a connettersi ad un server Free NX. Pag. 42 di 69 Quindi sul Raspbery pi, dove “gira” Raspbian, è sufficiente installare Remmina con il comando sudo apt-get install remmina e poi il necessario plugin nx con il comando sudo apt-get install remmina-plugin-nx <<======== Raspberry pi enjoy FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 43 di 69 Pag. 44 di 69 Raspberry pi come client di Windows 8 (Raspberry pi 6 di …......) Augusto Scatolini ([email protected]) ([email protected]) ([email protected]) Miniguida n. 195 Ver. 1.0 Novembre 2013 Continua la serie di guide su Raspberry pi, dopo le prime 5 guide 1) http://www.comunecampagnano.it/gnu/minihowto/2012_171_Raberry_pi_1_di_/raspberry_pi_1_di_.pdf 2) http://www.comunecampagnano.it/gnu/minihowto/2012_172_Raspberry_pi_2_di_/raspberry_pi_2_di_.pdf 3) http://www.comunecampagnano.it/gnu/minihowto/2012_173_Raspberry_pi_3_di_/raspberry_pi_3_di_.pdf 4) http://www.comunecampagnano.it/gnu/minihowto/2012_175_Raspberry_pi_4_di_/raspberry_pi_4_di_.pdf 5) http://www.comunecampagnano.it/gnu/minihowto/2012_176_raspberry_pi_FreeNX_client/raspberry_pi_FreeNX_client_.pdf arriva la sesta dove vedremo come usare una serie di Raspberry pi come terminali di Windows 8 patchato, ovvero dopo aver trasformato Windows 8 in un Terminal Server Pag. 45 di 69 Abbiamo visto nell'ultima guida come utilizzare una serie di Raspberry pi (ricordo il costo di 35 dollari cadauno) come fat client di una rete Free NX. Una rete Free NX è composta da un unico server GNU/Linux (adeguatamente potente) capace, grazie al servizio Free NX, di rilasciare un desktop completo a n client, in questo caso, Raspberry pi. Si può immaginare immediatamente il risparmio per l'acquisto dell'hardware (un solo PC performante e una serie di Raspberry pi) e per la manutenzione/gestione del software che deve essere fatta su una sola macchina. La domanda che sorge spontanea è: Non si può usare la stesa tecnica per realizzare una rete composta da un solo PC con Windows 8 e una serie di Raspberry pi come client? La risposta è ovviamente positiva. Se installiamo sui Raspberry pi la distribuzione Raspbian (che è una derivata di Debian) possiamo anche installare il programma Remmina. Remmina è capace di fare un desktop remoto su sistemi Windows. Quindi Raspberry pi tramite Remmina è capace di fare un Desktop remoto (con il protocollo RDP) su Windows 8. Pag. 46 di 69 Ma per Windows 8 (come per WinXP e Win7) è possibile accettare una sola sessione di desktop remoto. Allora dobbiamo trasformare Win 8 in Win 8 server. Ci viene in aiuto (come per WinXP e Win7) la patch della libreria termsvr.dll scaricabile da www.stoned-vienna.com/downloads/Windows 8 Patcher.zip Ovviamente si deve abilitare il desktop remoto su Win8, si devono creare n utenti locali standard (o administrator) su Win8 e si devono autorizzare al Desktop remoto. Dopo di che tutti i Raspberry pi (ma anche tutti i client winXP ma anche tutti i client Ubuntu) possono fare un desktop remoto su Win8 contemporaneamente. Pag. 47 di 69 Pag. 48 di 69 FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 49 di 69 Pag. 50 di 69 Ardesia e Bluetooth su Raspberry pi (ad un soffio dalla WiiLD con RaspBerry pi) Augusto Scatolini ([email protected]) ([email protected]) ([email protected]) Miniguida n. 199 Ver. 1.0 Gennaio 2014 Dopo aver “smanettato” a dovere con il primo RaspBerry pi mod B da 256 MB di RAM e dopo aver allestito e testato la WiiLD sia su GNU/Linux con la distribuzione WiiLDOS sia su Windows 7, l'evoluzione naturale è stata: ma si potrà fare una WiiLD con un RaspBwerry pi? ** per coerenza, sto scrivendo questa guida direttamente sul RaspBerry via LibreOffice Pag. 51 di 69 Prerequisiti: Per prima cosa ho acquistato un nuovo RB mod. B da 512 MB RAM, non badando a spese ho preso anche una bellissima custodia in plastica blue poi ho acquistato un dongle USB BlueTooth, poi ho acquistato un cavo adattore HDMI – VGA per collegare il RB al Videoproiettore. poi ho scaricato e installto la nuova distribuzione dedicata Raspbian (Debian 7) Installazione del driver per il bluetooth apro il terminale e digito: sudo apt-get install bluetooth bluez-utils blueman spengo il RB, inserisco il dongle e riavvio. con il comando lsusb posso verificare se il sistema ha riconosciuto il dispositivo o meno con il comando /etc/init.d/bluetooth status posso verificarne lo stato con il comando /etc/init.d/bluetooth start posso avviarlo con il comando /etc/init.d/bluetooth stop posso fermarlo con il comando /etc/init.d/bluetooth restart posso riavviarlo con il comando /etc/init.d/bluetooth force-reload posso forzarne il ri-caricamento Installazione di Ardesia (inchiostro digitale) installo Synaptic con il comando sudo apt-get install synaptic poi posso installare ardesia via synaptic avvio ardesia e ricevo il fatidico messaggio d'errore “non c'è alcun composite manager attivo” scarico e installo Compiz ma, scopro che è una versione molto ridotta rispetto alla standard e non c'è la possibilità di attivare il composite manager installo, via synaptic, xcommgr che è un composite manager alternativo andrebbe posizionato nei programmi che “partono”, come demoni all'avvio ma, vado di fretta e lo lancio via terminale riprovo ad avviare ardesia e FUNZIONA! Pag. 52 di 69 A questo punto rimane solo da provare a collegare il RaspBerry pi ad un videoproiettore tramite il cavo adattore HDMI-VGA. Lo vedremo alla prossima guida. Nel fratttempo posso provare se funziona il programma python-whiteboard, che ho già scaricato e installato tramite synaptic. Funziona perfettamente, è pronto a collegarsi con il WiiMote della Nintendo. Posso anche provare il programma xournal Pag. 53 di 69 FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 54 di 69 RaspBerry TouchScreen (la WiiLD sul monitor) Augusto Scatolini ([email protected]) ([email protected]) ([email protected]) Miniguida n. 200 Ver. 1.0 Febbraio 2014 L'idea era quella di realizzare un lavagna Digitale Wii WiiLD utilizzando un RaspBerry pi mod. B equipaggiato con 512 MB di RAM. Al momento, per mancanza di un cavo capace di connettere il RB al videoproiettore, non è stato possibile testare l'esperimento. Ho acquistato su Amazon un convertitore VGA-HDMI per una ventina di euro ma il videoproiettore non ha nessuna intenzione di fare il suo lavoro, cioè di proiettare. Veramente, se collego il RB ad un monitor VGA utilizzando questo convertitore, il segnale video non arriva neanche al monitor. Non so cosa pensare, convertitore fallato? Pag. 55 di 69 Andiamo per ordine, queste sono le 7 guide che ho scritto finora sul RaspBerry pi: http://www.comunecampagnano.it/gnu/mini-howto/2012_171_Raberry_pi_1_di_/raspberry_pi_1_di_.pdf http://www.comunecampagnano.it/gnu/mini-howto/2012_172_Raspberry_pi_2_di_/raspberry_pi_2_di_.pdf http://www.comunecampagnano.it/gnu/mini-howto/2012_173_Raspberry_pi_3_di_/raspberry_pi_3_di_.pdf http://www.comunecampagnano.it/gnu/mini-howto/2012_175_Raspberry_pi_4_di_/raspberry_pi_4_di_.pdf http://www.comunecampagnano.it/gnu/mini-howto/2012_176_raspberry_pi_FreeNX_client/raspberry_pi_FreeNX_client_.pdf http://www.comunecampagnano.it/gnu/mini-howto/2013_195_Raspbery_pi_windows8_terminal/raspberry_pi_Windows8_client_.pdf http://www.comunecampagnano.it/gnu/mini-howto/2014_199_ardesia_e_bluetooth_su_raspberry/ardesia_e_bluetooth_su_raspberry.pdf Quelle sulla Lavagna Digitale WiiLD: http://www.comunecampagnano.it/gnu/mini-howto/2013_189_wiild/wiild_la%20Guida_completa.pdf http://www.comunecampagnano.it/gnu/mini-howto/2013_194_WiiLD_in_tutte_le_salse/wiild_in_tutte_le_salse.pdf Basandomi sul principio che per realizzare una WiiLD è sufficiente un videoproiettore, un controller WiiMote, un computer munito di BlueTooth e una qualsiasi Distribuzione GNU/Linux dove sia possibile installare il programma Python-WhiteBoard e Ardesia con annesso Composite Manager ho iniziato a collezionare tutto il materiale necessario: 1. Videoproiettore, fatto 2. Convertitore VGA-HDMI, fatto 3. Controller WiiMote, fatto 4. RaspBerry pi con 512 MB di RAM, fatto 5. Dongle USB BlueTooth, fatto 6. Driver per installare Bluetooth, fatto 7. Distribuzione GNU/Linux Raspbian, fatto 8. Programma Python-WhiteBoard, fatto 9. Composite Manager, fatto 10. Ardesia (Inchiostro Digitale), fatto Monto il tutto e, come detto, sul muro non appare niente. Allora scollego il videoproiettore e collego al RaspBerry pi un monitor con ingresso HDMI; risultato: ho un classico RaspBerry pi collegato ad un monitor la differenza, questa volta è che ho 512 MB di RAM e tutto il software per la WiiLD installato quindi giro il WiiMote (che era puntato sul muro) e lo punto verso il monitor avvio l'applicazione python-whiteboard e premo i tasti 1-2 del wiimote appare sullo schermo l'applicazione per eseguire la taratura abilito il composite manager e ardesia risultato Pag. 56 di 69 OTTENGO UNO SCHERMO TOUCHSCREEN C'è da chiarire che le prestazioni (tempi di riposta) non sono tali da rendere il progetto operativo e pronto per la produzione ma, vi assicuro, è stato veramente emozionante. FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 57 di 69 Pag. 58 di 69 RaspBerry pi emulato via Qemu su Lubuntu LXLE (emulato su Ubuntu) (un ottimo esercizio, tutto da terminale, in 14 passi) Augusto Scatolini ([email protected]) ([email protected]) ([email protected]) Miniguida n. 203 Ver. Febbraio-2014 L'esercizio consiste nel virtualizzare un RaspBerry pi tramite Qemu su una macchina equipaggiata con Lubuntu LXLE a sua volta virtualizzata tramite VirtuaBox su una macchina fisica con Ubuntu. La distribuzione utilizzata per il RaspBerry pi è raspberrypi-fedora-remix-14-r1.img, un po' datata ma l'unica che sono riuscito a far funzionare. Se ne può scaricare una copia compressa da http://194.182.130.7/images/fedora/14/r1-06-03-2012/raspberrypi-fedora-remix-14-r1.img.gz E' un puro esercizio, molto interessante, in quanto il RaspBerry pi virtuale ottenuto come risultato, a me, risulta inutilizzabile per mancato riconoscimento del mouse. Potrebbe dipendere dalla doppia virtualizzazione, un loop. Sarebbe opportuno ripetere l'esercizio su una macchina fisica. Pag. 59 di 69 Cosa ci serve? 1) Una cartella di nome Raspberrypi sul Desktop (Scrivania) da creare via terminale cd Scrivania mkdir Raspberrypi cd Raspberrypi 2) L'immagine (file .img) di una distribuzione capace di girare su RaspBerry pi (RB) Come è noto, il RB ha il processore con architettura ARM mentre le distribuzioni normali sono state compilate per processori con architettura Intel. Scarichiamo l'immagine con il comando firefox http://194.182.130.7/images/fedora/14/r1-06-03-2012/raspberrypi-fedora-remix-14-r1.img.gz e decomprimiamola dentro la cartella RaspBerrypi con il comando unzip raspberrypi-fedora-remix-14-r1.img.gz 3) L'immagine zimage del Kernel per Qemu, scaricabile con il comando wget http://dl.dropbox.com/u/45842273/zImage spostiamo anche questa dentro la cartella RaspBerrypi 4) il codice sorgente di Qemu che deve essere appositamente compilato per poter gestire un RaspBerry pi virtuale. Lo scarichiamo da con il comando/protocollo git digitando sul terminale git clone git://git.linaro.org/qemu/qemu-linaro.git ** se git non è presente sul sistema installarlo con il comando sudo apt-get install git 5) creare una partizione rootfs3G.ext3 di crca 3 GB per il file system di root con il comando dd if=/dev/zero of=rootfs3G.ext3 count=6M 6) Formattare la partizione appena creata con il file system ext3 con il comando /sbin/mkfs.ext3 rootfs3G.ext3 7) individuare il settore di avvio (srtartsector) dell'immagine raspberrypi-fedora-remix-14-r1.img tramite il comando file raspberrypi-fedora-remix-14-r1.img otterremo qualcosa di simile a questo: raspberrypi-fedora-remix-14-r1.img: x86 boot sector; partition 1: ID=0xb, active, starthead 0, startsector 2048, 204800 sectors; partition 2: ID=0x83, starthead 0, startsector 206848, 3246080 sectors, code offset 0xb8 appuntiamoci il valore 206848 perché ci servirà in seguto 8) Creare le cartelle mnt e mnt2 con i comandi mkdir mnt mkdir mnt2 9) montare l'immagine di fedora sulla cartella mnt con il comando sudo mount -o loop,offset=$[206848*512] raspberrypi-fedora-remix-14-r1.img mnt ** il numero evidenziato è quello annotato in precedenza 10) montare la partizione di root sulla crtella mnt2 con il comando sudo mount -o loop rootfs3G.ext3 mnt2 Pag. 60 di 69 11) copiare il contenuto della cartella mnt dentro la cartella mnt2 con il comando sudo cp mnt/* mnt2 -a 12) Smontare le due cartelle con i comandi sudo umount mnt2 sudo umount mnt 13) compilare e rendere eseguibile il sorgente Qemu con i soliti tre comandi ./configure - -target-list=arm-softmmu make -j 8 sudo make install ** se non è presente il compilatore gcc o altri componenti necessari come zlib libs e headers o altri ancora installarli con i comandi: sudo apt-get --no-install-recommends -y build-dep qemu sudo apt-get install zlib1g-dev sudo apt-get install libglib2.0 git submodule update --init pixman git submodule update --init dtc sudo apt-get install dh-autoreconf 14) avviare il virtualizzatore Qemu con il comando qemu-system-arm -M versatilepb -cpu arm1176 -m 192 -hda rootfs3G.ext3 -kernel zImage -append "root=/dev/sda" -serial stdio -redir tcp:2222::22 Il RaspBerry pi verrà avviato (emulato tramite Qemu) Pag. 61 di 69 Al primo avvio dell'immagine non c'è password, quindi si deve settare una password per root, creare un utente e settarne la password, selezionare la timezone e specificare se si desidera fare il boot in modalità grafica o testuale. La prima volta che si esegue il boot il RB si presenterà ancora in modalità testuale, anche se si è scelta la modalità grafica. Dopo aver fatto il login come root è necessario cambiare i permessi di lettura e scrittura della cartella /tmp con il comando chmod 777/tmp Ora si può eseguire un reboot o digitare init 5 per ottenere l'interfaccia grafica FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 62 di 69 Windows e ReactOS su RaspBerry pi emulato via Qemu (è possibile!, è possibile!) Augusto Scatolini ([email protected]) ([email protected]) ([email protected]) Miniguida n. 204 Ver. Febbraio-2014 In questa miniguida installeremo l'emulatore di macchine virtuali Qemu, previa compilazione, sul RaspBerry pi dove è installata la distribuzione GNU/Linux Raspbian. Poi avvieremo delle macchine virtuali preconfigurate per Vmware con estensione VMDK. Nello specifico avvieremo una macchina Windows XP e il suo clone libero e Open Source ReactOS Pag. 63 di 69 Preparazione aggiorniamo Raspbian con i soliti due comandi, da terminale sudo apt-get update sudo apt-get upgrade installiamo GIT Git è un sistema software di controllo di versione distribuito, creato da Linus Torvalds nel 2005. La progettazione di Git è stata ispirata da BitKeeper e da Monotone. Git era stato pensato inizialmente solamente come motore a basso livello che altri potevano usare per scrivere un front-end. Tuttavia, il progetto Git è in seguito diventato un sistema completo di controllo versione, direttamente utilizzabile da riga di comando. Vari importanti progetti software adesso usano Git per il loro controllo versione, e principalmente il kernel Linux. Fonte wikipedia sudo apt-get install git installiamo alcune librerie che ci serviranno in seguito sudo apt-get install zlib1g-dev sudo apt-get install libsdl1.2-dev creiamo una cartella di nome raspidev dentro la home di pi mkdir raspidev entriamo nella cartella appena creata cd raspidev scarichiamo dentro questa cartella il codice sorgente di Qemu compresso con il comando midori http://thoronir.net/raspi-dev/qemu-git.tar.bz2 decomprimiamo il file con il comando sudo tar -xvf qemu-git.tar.bz2 entriamo nella cartella qemu (risultant dalla decompressione) cd qemu iniziamo la compilazione con il comando ./configure --target-list=”i386-softmmu” --enable-sdl --prefix=/usr continuiamo con il comando sudo make questo processo ci mostrerà due errori relativi al file tcg-target.c dobbiamo apportare delle modifiche manualmente al codice sorgente di questo file che si trova in due diverse posizioni: /home/pi/raspidev/qemu/tcg/arm/tcg-target.c Pag. 64 di 69 e /home/pi/raspidev/qemu/tcg/arm/tcg-target.c usando il comando sudo leafpad /home/pi/raspidev/qemu/tcg/arm/tcg-target.c o sudo nano /home/pi/raspidev/qemu/tcg/arm/tcg-target.c e sudo leafpad /home/pi/raspdev/qemu/tcg/i386/tcg-target.c o sudo nano /home/pi/raspdev/qemu/tcg/i386/tcg-target.c si devono cercare tutte le occorrenze della ricerca della stringa “static void tcg” e aggiungere la parola inline tra static e void = static inline void tante volte quanto necessario ripetiamo ora il comando sudo make e infine il terzo e ultimo comando della compilazione sudo make install a questo punto abbiamo Qemu perfettamente funzionante su RaspBerry pi ci procuriamo l'immagine di Windows XP in formato .vmdk, la posizioniamo dentro la cartella Qemu e lanciamo il comando qemu xp.vmdk -m 64 il risultato sulla prossima pagina Pag. 65 di 69 visto che la qualità della macchina xp.vmdk che mi sono procurato non era proprio ottima, ho scaricato dal sito https://www.reactos.org/download una macchina virtuale già pronta per l'uso e l'ho posizionata dentro la cartella Qemu poi l'ho avviata con il comando qemu ReactOS.vmdk -m 64 Pag. 66 di 69 Pag. 67 di 69 Pag. 68 di 69 FINE Questo documento è rilasciato con licenza Copyleft (tutti i rovesci sono riservati) altre miniguide su http://www.comunecampagnano.it/gnu/miniguide.htm oppure direttamente su http://miniguide.tk sito consigliato: http://www.linux4campagnano.net blog consigliato: http://campagnano-rap.blogspot.com Pag. 69 di 69