SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
OpenWrt from scratch
                                      Installare OpenWrt
                                    Espandere OpenWrt
                            Ricompilare OpenWrt da zero
                               Applicazioni con OpenWrt




Autore: Claudio Mignanti c.mignanti<at>gmail.com
Perche OpenWrt

● Sistema integrato di sviluppo
● Distribuzione pensata per dispositivi

embedded (nasce per i router)
● Boot in meno di 10 secondi

● Utilizzo ottimizzato elle risorse

● uClibc/glibc/eglibc
Partizionare la SDCard
           ●
               Aprire Gparted;    Sistema →
               Amministrazione → Gparted
           ●   Selezionare la periferica;
           ●   Aggiungere le due
               partizioni. La prima FAT32
               (anche con pochi MB) la
               seconda EXT2




                                              3
Copiare il filesystem
Attualmente:
wget http://downloads.openwrt.org/snapshots/trunk/at91/openwrt-at91-uImage
wget http://downloads.openwrt.org/snapshots/trunk/at91/openwrt-at91-rootfs.tar.gz
mv openwrt-at91-uImage /media/<fat32>/
sudo tar xvzf openwrt-at91-rootfs.tar.gz -C /media/<ext2>
umount /media/<fat32>
umount /media/<ext2>

In futuro probabilmente:
wget http://downloads.openwrt.org/snapshots/trunk/at91/openwrt-at91-rootfs.tar.gz
sudo tar xvzf openwrt-at91-rootfs.tar.gz -C /media/<ext2>
umount /media/<ext2>




                                                                                4
Incontro ravvicinato
$ sudo ifconfig eth0 192.168.1.2 && telnet 192.168.1.1

BusyBox v1.16.2 (2010­07­15 14:32:26 CEST) built­in shell (ash)
Enter 'help' for a list of built­in commands.

  _______                     ________        __
 |       |.­­­­­.­­­­­.­­­­­.|  |  |  |.­­­­.|  |_
 |   ­   ||  _  |  ­__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 KAMIKAZE (bleeding edge, r22176) ­­­­­­­­­­­­­­­­­­
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
 ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
root@OpenWrt:~# 


                                                                          5
  Il numero di revisione (r22176 nell'esempio) è molto utile per debug!
Opkg

opkg update – aggiorna i pacchetti dai repository definiti in
                                            /etc/opkg.conf
opkg list – visualizza la lista dei pacchetti installabili
opkg install <nome|link|file>
   opkg install pyserial ← Installa dal feed
   opkg install ftp://myurl.it/pkg/python-mini_2.6.4-3_at91.ipk.
   opkg install /tmp/zlib_1.2.3-5_at91.ipk ← installa file locale
opkg flag hold <nome> - blocca la versione corrente del
                                            pacchetto <nome>
opkg upgrade – usate a vostro rischio !!!

                                                                6
root@OpenWrt:~# opkg update                                            Opkg
Downloading http://downloads.openwrt.org/snapshots/trunk/at91/packages/Packages.gz.
Inflating http://downloads.openwrt.org/snapshots/trunk/at91/packages/Packages.gz.
Updated list of available packages in /var/opkg­lists/snapshots.
root@OpenWrt:~# opkg install python 
Installing python (2.6.4­3) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/at91/packages/python_2.6.4­
3_at91.ipk.
Installing libpthread (0.9.30.1­50) to root...
Downloading 
http://downloads.openwrt.org/snapshots/trunk/at91/packages/libpthread_0.9.30.1­
50_at91.ipk.
Installing librt (0.9.30.1­50) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/at91/packages/librt_0.9.30.1­
50_at91.ipk.
Installing zlib (1.2.3­5) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/at91/packages/zlib_1.2.3­
5_at91.ipk.
Installing libffi (3.0.9­1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/at91/packages/libffi_3.0.9­
1_at91.ipk.
Installing python­mini (2.6.4­3) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/at91/packages/python­mini_2.6.4­
3_at91.ipk.
Configuring librt.
Configuring libpthread.
Configuring zlib.
Configuring libffi.
Configuring python­mini.
                                                                                    7
Configuring python.
root@OpenWrt:~# 
Ricominciamo da zero...
Sviluppare con OpenWrt




                          8
Scaricare l'SDK
OpenWrt è una distribuzione linux unica nel suo genere.
L'SDK è un ambiente di sviluppo nel quale TUTTI i
componenti necessari confluiscono per creare
l'ambiente finale.

● Host tools
● toolchain

● kernel linux

● rootfs




                                                          9
SDK Intro
svn co svn://svn.openwrt.org/openwrt/trunk openwrt
     scarica l'sdk
make menuconfig
      configura l'sdk
make kernel_menuconfig
     configura il kernel per l'architettura selezionata
svn up
----------------------------------------------------------------------------------- Espandere l'SDK
Aggiungi/modifica feed in feeds.conf
./scripts/feeds install -a
./scripts/feeds update -a


                                                                                                10
Compilare

make
 compila l'intero firmware
make clean
 ripulisci l'sdk (host tools, toolchain, e configurazioni escluse)
make target/linux/{compile|clean}
 compila/ripulisci il kernel
make <path>/<nome_pkg>/{compile|clean}
 compila/ripulisci il pacchetto <nome_pkg>



                                                                     11
Compilare 2
Il processo di compilazione dentro openwrt passa per i
seguenti stadi:

Prepare (del codice sorgente)
1. Download del sorgente dal web (http, ftp, svn, git, hg)
2. Si copia il contenuto della directory files all'interno della
        directory di compilazione (solo per il kernel)
Patch
    Si applicano le patch al sorgente
Compile (no comment)
Install (del pacchetto)
    Si realizza il pacchetto ipkg
                                                                   12
Compilare 3

Esempi:
https://dev.openwrt.org/browser/packages/admin/sudo
    Download sorgenti dal web, configurazione, install
https://dev.openwrt.org/browser/trunk/package/opkg/Makefile
    Download sorgenti dal web, configurazione, install e installdev
http://sourceforge.net/apps/trac/acme-dev/browser/packages/zz-acmeconf
    Meta-pacchetto, notare le dipendenze
http://sourceforge.net/apps/trac/acme-dev/browser/packages/at91-adc/Makefile
    Kernel module




                                                                               13
Kernel


Il punto forte di OpenWrt è senza dubbio la
             gestione del kernel.

   https://dev.openwrt.org/browser/trunk/target/linux




                                                        14
Modificare il kernel

make target/linux/clean
modificare target/linux/generic/{patches|files}
o target/linux/at91/{patches|files}
make target/linux/install

Esempio: https://dev.openwrt.org/changeset/21800



                                                   15
GPIO usando SYSFS
echo 82 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio82/direction

echo 1 > /sys/class/gpio/gpio82/value
sleep 1
echo 0 > /sys/class/gpio/gpio82/value




                                              16
GPIO usando il C
  #include <stdio.h>
  #include <gpio_dev.h>

  int main (void) {
      fd = open (“/dev/gpio”);
      ioctl (fd, GPIO_REQUEST, 82);
      ioctl (fd, GPIO_DIR_OUT);
      ioctl (fd, GPIO_SET, 1);
      sleep(1);
      ioctl (fd, GPIO_SET, 0);
  }

                                                           17
trunk/target/linux/generic/files/include/linux/gpi_dev.h
GPIO e stepper motor
          PYTHON CLASS                                   USER SPACE
             STEPPER                                      PROGRAM


              /DEV/GPIO SYSFS /DEV/MOTORn
                                  STEPPER DRIVER
               GPIO API

                                      PWM


                                 CPU



                                                                                         18
http://sourceforge.net/apps/trac/acme-dev/browser/kernel-stuff/stepper-driver/stepper-drv.c
Seguite lo sviluppo su



http://sourceforge.net/apps/trac/acme-dev/timelin

  https://dev.openwrt.org/search?q=claudio



                                             19
EOF




                        ?
                      Claudio Mignanti c.mignanti<at>gmail.com
                              - OpenWrt Developer - Hardware designer -
                                                                 20
pub 1024D/0DFD7CBB C94D 759A 2EF0 172F 9673 65E4 C4C1 8627 0DFD 7CBB

Weitere ähnliche Inhalte

Was ist angesagt?

Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19cCome installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19cAntonio Musarra
 
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Matteo Baccan
 
Basta problemi-con-tensorflow-usando-docker-nvidia-docker
Basta problemi-con-tensorflow-usando-docker-nvidia-dockerBasta problemi-con-tensorflow-usando-docker-nvidia-docker
Basta problemi-con-tensorflow-usando-docker-nvidia-dockerNicola Landro
 
LinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesLinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesMaurizio Antonelli
 
CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Introduzione a GIT - Laboratorio di Web Design 2014/15
Introduzione a GIT - Laboratorio di Web Design 2014/15Introduzione a GIT - Laboratorio di Web Design 2014/15
Introduzione a GIT - Laboratorio di Web Design 2014/15Giovanni Buffa
 
Primi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackPrimi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackOpen Makers Italy
 
Buffer Overflow - Shellcode - Shatter Attack
Buffer Overflow - Shellcode - Shatter AttackBuffer Overflow - Shellcode - Shatter Attack
Buffer Overflow - Shellcode - Shatter Attackluigi capuzzello
 
Intro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'AmbrosioIntro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'Ambrosiofirenze-gtug
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Pacchi e pacchetti
Pacchi e pacchettiPacchi e pacchetti
Pacchi e pacchettigiallu
 
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle DatabaseCome installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle DatabaseAntonio Musarra
 
Liferay Portal CE 7.4: Come configurare Oracle Database 19c
Liferay Portal CE 7.4: Come configurare Oracle Database 19cLiferay Portal CE 7.4: Come configurare Oracle Database 19c
Liferay Portal CE 7.4: Come configurare Oracle Database 19cAntonio Musarra
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Giuseppe Agrillo
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Introduzione a Docker (parte 2 - Pratica)
Introduzione a Docker (parte 2 - Pratica)Introduzione a Docker (parte 2 - Pratica)
Introduzione a Docker (parte 2 - Pratica)Cristian Consonni
 

Was ist angesagt? (20)

Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19cCome installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
 
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
 
Basta problemi-con-tensorflow-usando-docker-nvidia-docker
Basta problemi-con-tensorflow-usando-docker-nvidia-dockerBasta problemi-con-tensorflow-usando-docker-nvidia-docker
Basta problemi-con-tensorflow-usando-docker-nvidia-docker
 
LinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesLinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slides
 
CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
 
Introduzione a GIT - Laboratorio di Web Design 2014/15
Introduzione a GIT - Laboratorio di Web Design 2014/15Introduzione a GIT - Laboratorio di Web Design 2014/15
Introduzione a GIT - Laboratorio di Web Design 2014/15
 
Primi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackPrimi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone Black
 
Buffer Overflow - Shellcode - Shatter Attack
Buffer Overflow - Shellcode - Shatter AttackBuffer Overflow - Shellcode - Shatter Attack
Buffer Overflow - Shellcode - Shatter Attack
 
Intro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'AmbrosioIntro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'Ambrosio
 
Introduzione a Git
Introduzione a GitIntroduzione a Git
Introduzione a Git
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
 
LUG - Ricompilazione kernel
LUG - Ricompilazione kernelLUG - Ricompilazione kernel
LUG - Ricompilazione kernel
 
Pacchi e pacchetti
Pacchi e pacchettiPacchi e pacchetti
Pacchi e pacchetti
 
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle DatabaseCome installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
 
Linux Day 2009 LAMP HowTo
Linux Day 2009 LAMP HowToLinux Day 2009 LAMP HowTo
Linux Day 2009 LAMP HowTo
 
Liferay Portal CE 7.4: Come configurare Oracle Database 19c
Liferay Portal CE 7.4: Come configurare Oracle Database 19cLiferay Portal CE 7.4: Come configurare Oracle Database 19c
Liferay Portal CE 7.4: Come configurare Oracle Database 19c
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
 
Introduzione a Docker (parte 2 - Pratica)
Introduzione a Docker (parte 2 - Pratica)Introduzione a Docker (parte 2 - Pratica)
Introduzione a Docker (parte 2 - Pratica)
 
Git best practices
Git best practicesGit best practices
Git best practices
 

Andere mochten auch

Presentazione Ninux al LinuxDay Roma 2012
Presentazione Ninux al LinuxDay Roma 2012Presentazione Ninux al LinuxDay Roma 2012
Presentazione Ninux al LinuxDay Roma 2012Claudio Mignanti
 
Jacques louis david2003
Jacques louis david2003Jacques louis david2003
Jacques louis david2003Antje Huang
 
Bella Vista Affordable House and lot
Bella Vista Affordable House and lotBella Vista Affordable House and lot
Bella Vista Affordable House and lotipropertyphilippines
 
(1) siyasal tarih 1923-50
(1) siyasal tarih 1923-50(1) siyasal tarih 1923-50
(1) siyasal tarih 1923-50turan1009
 
Help and hoarding
Help and hoardingHelp and hoarding
Help and hoardingscott4hlp
 
Mr Holdings car
Mr Holdings carMr Holdings car
Mr Holdings carhuzguc7k
 
The wright brothers started with a glider before going to powered flight.
The wright brothers started with a glider before going to powered flight.The wright brothers started with a glider before going to powered flight.
The wright brothers started with a glider before going to powered flight.InsuranceNebraska
 
El perfume
El perfumeEl perfume
El perfumeKlad314
 
Happy Birthday MORGAN!!!
Happy Birthday MORGAN!!!Happy Birthday MORGAN!!!
Happy Birthday MORGAN!!!lbly
 
Your face _farsi_
Your face _farsi_Your face _farsi_
Your face _farsi_Fibamicro1
 
Session plan retail management
Session plan retail managementSession plan retail management
Session plan retail managementrk2its
 
Mr holdings car
Mr holdings carMr holdings car
Mr holdings carhuzguc7k
 

Andere mochten auch (20)

Presentazione Ninux al LinuxDay Roma 2012
Presentazione Ninux al LinuxDay Roma 2012Presentazione Ninux al LinuxDay Roma 2012
Presentazione Ninux al LinuxDay Roma 2012
 
Computers
ComputersComputers
Computers
 
Jacques louis david2003
Jacques louis david2003Jacques louis david2003
Jacques louis david2003
 
Bella Vista Affordable House and lot
Bella Vista Affordable House and lotBella Vista Affordable House and lot
Bella Vista Affordable House and lot
 
Crackedpot
CrackedpotCrackedpot
Crackedpot
 
(1) siyasal tarih 1923-50
(1) siyasal tarih 1923-50(1) siyasal tarih 1923-50
(1) siyasal tarih 1923-50
 
Presentazione tirocinio
Presentazione tirocinio Presentazione tirocinio
Presentazione tirocinio
 
Help and hoarding
Help and hoardingHelp and hoarding
Help and hoarding
 
Slideshare
SlideshareSlideshare
Slideshare
 
Mr Holdings car
Mr Holdings carMr Holdings car
Mr Holdings car
 
311
311311
311
 
The wright brothers started with a glider before going to powered flight.
The wright brothers started with a glider before going to powered flight.The wright brothers started with a glider before going to powered flight.
The wright brothers started with a glider before going to powered flight.
 
El perfume
El perfumeEl perfume
El perfume
 
Libro1nnn (1)
Libro1nnn (1)Libro1nnn (1)
Libro1nnn (1)
 
Grunt.js introduction
Grunt.js introductionGrunt.js introduction
Grunt.js introduction
 
мой город
мой городмой город
мой город
 
Happy Birthday MORGAN!!!
Happy Birthday MORGAN!!!Happy Birthday MORGAN!!!
Happy Birthday MORGAN!!!
 
Your face _farsi_
Your face _farsi_Your face _farsi_
Your face _farsi_
 
Session plan retail management
Session plan retail managementSession plan retail management
Session plan retail management
 
Mr holdings car
Mr holdings carMr holdings car
Mr holdings car
 

Ähnlich wie TuxIsAlive

Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Marcello Missiroli
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target AndroidPaolo Sereno
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumateMarco Buttolo
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
 
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"Camelug Fava
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaAlessandro Selli
 
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Codemotion
 
Con Aruba, a lezione di Cloud #lezione 30 - parte 2: 'GitLab e Cloud Server ...
Con Aruba, a lezione di Cloud  #lezione 30 - parte 2: 'GitLab e Cloud Server ...Con Aruba, a lezione di Cloud  #lezione 30 - parte 2: 'GitLab e Cloud Server ...
Con Aruba, a lezione di Cloud #lezione 30 - parte 2: 'GitLab e Cloud Server ...Aruba S.p.A.
 
Gestione delle dipendenze con Composer
Gestione delle dipendenze con ComposerGestione delle dipendenze con Composer
Gestione delle dipendenze con ComposerMassimiliano Arione
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
 
High Performance Web Apps con PHP e Symfony 2
High Performance Web Apps con PHP  e Symfony 2High Performance Web Apps con PHP  e Symfony 2
High Performance Web Apps con PHP e Symfony 2Giorgio Cefaro
 
Linux Day Torino 2015 applicazioni per iniziare
Linux Day Torino 2015   applicazioni per iniziareLinux Day Torino 2015   applicazioni per iniziare
Linux Day Torino 2015 applicazioni per iniziareFrancesco Tucci
 
KDE Plasma widgets
KDE Plasma widgetsKDE Plasma widgets
KDE Plasma widgetsPietro Lerro
 
Dominare il codice legacy
Dominare il codice legacyDominare il codice legacy
Dominare il codice legacyTommaso Torti
 

Ähnlich wie TuxIsAlive (20)

Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)Il dual boot scolastico perfetto (2012)
Il dual boot scolastico perfetto (2012)
 
Installazione Qt/Qt Quick per target Android
Installazione Qt/Qt Quick  per target AndroidInstallazione Qt/Qt Quick  per target Android
Installazione Qt/Qt Quick per target Android
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumate
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
 
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compatta
 
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
 
Con Aruba, a lezione di Cloud #lezione 30 - parte 2: 'GitLab e Cloud Server ...
Con Aruba, a lezione di Cloud  #lezione 30 - parte 2: 'GitLab e Cloud Server ...Con Aruba, a lezione di Cloud  #lezione 30 - parte 2: 'GitLab e Cloud Server ...
Con Aruba, a lezione di Cloud #lezione 30 - parte 2: 'GitLab e Cloud Server ...
 
Standard Dev Workflow
Standard Dev WorkflowStandard Dev Workflow
Standard Dev Workflow
 
Gestione delle dipendenze con Composer
Gestione delle dipendenze con ComposerGestione delle dipendenze con Composer
Gestione delle dipendenze con Composer
 
GNU Linux Programming introduction
GNU Linux Programming introductionGNU Linux Programming introduction
GNU Linux Programming introduction
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziare
 
Tiscali bootcamp
Tiscali bootcampTiscali bootcamp
Tiscali bootcamp
 
Unattended
UnattendedUnattended
Unattended
 
High Performance Web Apps con PHP e Symfony 2
High Performance Web Apps con PHP  e Symfony 2High Performance Web Apps con PHP  e Symfony 2
High Performance Web Apps con PHP e Symfony 2
 
Linux Day Torino 2015 applicazioni per iniziare
Linux Day Torino 2015   applicazioni per iniziareLinux Day Torino 2015   applicazioni per iniziare
Linux Day Torino 2015 applicazioni per iniziare
 
APT per RPM
APT per RPMAPT per RPM
APT per RPM
 
KDE Plasma widgets
KDE Plasma widgetsKDE Plasma widgets
KDE Plasma widgets
 
Dominare il codice legacy
Dominare il codice legacyDominare il codice legacy
Dominare il codice legacy
 
Introduzione ros
Introduzione rosIntroduzione ros
Introduzione ros
 

TuxIsAlive