Author Topic: [TOOL] Crea la tua distro per il Raspberry Pi  (Read 2802 times)

Offline davenull

  • Administrator
  • Sr. Member
  • *****
  • Posts: 321
  • Thanked: 13 times
  • Gender: Male
  • JonixLug Co-Founder & Administrator
    • View Profile
    • davenull's blog
[TOOL] Crea la tua distro per il Raspberry Pi
« on: January 07, 2017, 04:58:19 AM »
Sicuramente vi siete chiesti "Ma se io ho creato una distro per il Raspberry Pi su una microSD da 16GB e voglio condividerla, come posso ridurre i GB della distro stessa???"
Tre anni fa mi sono posto la stessa domanda, anche perchè bisognerebbe fare il dd dell'intera microSD e non basta ridurre la partizione di root (quella con il sistema operativo, quindi la seconda) per fare questo, perchè il dd dell'intero device vi copierà anche lo spazio non partizionato.
Cercando in rete trovai una soluzione formidabile.
Prima di tutto createvi la vostra distro, customizzatela quanto volete ed alla fine spegnete il vostro raspi con un bel poweroff da terminale.
Un consiglio, prima di spegnere il raspi cancellate il file "/etc/udev/rules.d/70-persistent-net.rules".
Quel file mappa le unità di rete (eth0, wlan0, ecc...) e se non lo eliminate il vostro amico non potrà navigare su internet a meno che non si cancella da solo a mano quel file e riavvia il sistema oppure abilita la seconda unità di rete con il comando:
Code: You are not allowed to view links. Register or Login
# ifconfig eth1 upperchè appunto eth0 è la vostra scheda di rete.

Ritorniamo a noi. Mettiamo il caso che il sistema è OK ed avete spento il Raspberry Pi. Estraete la microSD, mettetela nel PC ed in via precauzionale fate il "dd" dell'intera microSD. Ricordatevi di smontare le partizioni, il dd si fa sempre a partizioni smontate, e smontatele dalla riga di comando con il comando "umount", perchè spesso quando smontate una partizione da un ambiente desktop ve la disalimenterà, e quindi non sarete più in grado di vederla. Mettiamo il caso che la microSD è "/dev/sdb" , diamo il comando:
Code: You are not allowed to view links. Register or Login
# umount /dev/sdb1 && umount /dev/sdb2
Ora che abbiamo smontato le unità facciamo il "dd" dell'intera partizione con il comando:
Code: You are not allowed to view links. Register or Login
# dd if=/dev/sdb of=backup.img && sync
backup.img è il nome del file che genererà. Dategli il nome che volete, ed abbiate pazienza, ci metterà parecchio tempo.
Vi sconsiglio di farlo con un card reader USB, ci metterete molto più tempo, meglio su un pc portatile recente con lettore SD integrato, va molto più veloce.

Quando ha finito aprite Gparted e riducete lo spazio della partizione di sistema (la seconda, quella con il file system ext4 per intenderci). Gparted vi colorerà di giallo la parte dove ci sono i dati e di bianco quella dove non c'è nulla. Lasciate almeno 200-300mb in più rispetto ai dati, poi il vostro amico si farà l'expand della partizione con il raspi-config o con Gparted.

Adesso scarichiamo questo programma chiamato raspi-builder: You are not allowed to view links. Register or Login

Dopo averlo scaricato, estraetelo col comando:
Code: You are not allowed to view links. Register or Login
$ tar -xvzf raspi-builder.tar.gz
Vi ritroverete davanti una cartella chiamata raspi-builder ed al suo interno tre file: genimage.sh, ptgen.c ed il README che tra l'altro è abbastanza chiaro.

Entrate nella cartella raspi-builder e sempre con la microSD smontata salvate la prima partizione chiamandola "boot.img" e la seconda (quella di sistema) "root.img" sempre con il "dd", digitando quindi:
Code: You are not allowed to view links. Register or Login
# dd if=/dev/sdb1 of=boot.img && dd if=/dev/sdb2 of=root.img && sync
Ora che abbiamo creato questi due file ci basta soltanto lanciare lo script "genimage.sh" senza alcun parametro. Si occuperà lui di compilare il sorgente in C "ptgen.c" e di unire le due partizioni formando finalmente il nostro file immagine, e lo chiamerà "image.bin". Quindi lanciamo lo script digitando:
Code: You are not allowed to view links. Register or Login
# ./genimage.sh
Quando lo script avrà finito come vi dicevo prima genererà il file "image.bin", ma con i permessi di root, quindi digitiamo:
Code: You are not allowed to view links. Register or Login
# chmod 777 image.bin
Adesso potete dargli il nome che volete, magari comprimetelo (io uso sempre il formato 7z) e passatelo a chi volete.

Spero abbiate gradito l'articolo, se ci sono incomprensioni ditemelo così chiarisco il tutto. Buona fortuna!!! :)
« Last Edit: January 15, 2017, 05:30:49 AM by davenull »
E-Mail: [email protected]
Website: You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login
 

Offline devilicecream

Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #1 on: January 07, 2017, 04:51:57 PM »
Molto utile! Ricordo di aver riscontrato anch'io il problema della /etc/udev/rules.d/... quando sperimentavo le prime volte con la creazione di immagini per il raspi.
Poi scrissi un piccolo bash script che faceva la cancellazione e un paio di altre ottimizzazioni pre-dd in automagico (non so che fine abbia fatto  ::) ).
Ho visto che hai incluso un tuo tool nella distro UrbanLabs. È open source? Dove lo trovo?
 

Offline davenull

  • Administrator
  • Sr. Member
  • *****
  • Posts: 321
  • Thanked: 13 times
  • Gender: Male
  • JonixLug Co-Founder & Administrator
    • View Profile
    • davenull's blog
Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #2 on: January 07, 2017, 05:44:27 PM »
You are not allowed to view links. Register or Login
Molto utile! Ricordo di aver riscontrato anch'io il problema della /etc/udev/rules.d/... quando sperimentavo le prime volte con la creazione di immagini per il raspi.
Poi scrissi un piccolo bash script che faceva la cancellazione e un paio di altre ottimizzazioni pre-dd in automagico (non so che fine abbia fatto  ::) ).
Ho visto che hai incluso un tuo tool nella distro UrbanLabs. È open source? Dove lo trovo?

ovviamente è open, se ti scarichi la distro vedi il sorgente in /usr/bin/p2d-rpi
l'ho scritto la notte stessa prima di uppare la distro, devo fare una versione 0.2b che ottimizza ancora di più la distro prima di passarla sotto ai ferri col raspi-builder!!! ahahahahahah
E-Mail: [email protected]
Website: You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login
 

Offline devilicecream

Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #3 on: January 15, 2017, 02:49:49 AM »
Pubblicalo anche su github!
 

Offline davenull

  • Administrator
  • Sr. Member
  • *****
  • Posts: 321
  • Thanked: 13 times
  • Gender: Male
  • JonixLug Co-Founder & Administrator
    • View Profile
    • davenull's blog
Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #4 on: January 15, 2017, 05:33:32 AM »
You are not allowed to view links. Register or Login
Pubblicalo anche su github!

il punto è che quel programma non l'ho fatto io, voglio crearne uno simile che non fa proprio uso del C. Volendo si può fare tutto con "dd" lavorando sul calcolo dei settori. hai letto cosa fa in realtà ptgen.c???
E-Mail: [email protected]
Website: You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login
 

Offline lynx

Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #5 on: January 15, 2017, 02:31:51 PM »
You are not allowed to view links. Register or Login
Pubblicalo anche su github!
Davenull:Forse si riferisce a /usr/bin/p2d-rpi e non al raspi-builder.
Ne ho fatto uno anch'io per il raspi e da quello ne ho ricavato anche una versione per le distro "desktop" che non è molto diversa.
Mai pubblicati perché in continua evoluzione, ho cominciato con sysVinit e poi è uscito systemd.. ma poi uso lo sempre lo stesso e faccio a mano il resto :/
C'è un metodo più efficace per cancellare la history.
Potresti eliminare anche /var/log/*.gz e /var/log/X.0.log.* e svuotare /var/tmp e /tmp
Poi ci sarebbero la cronologia del browser e quella del gestore files.
 

Offline davenull

  • Administrator
  • Sr. Member
  • *****
  • Posts: 321
  • Thanked: 13 times
  • Gender: Male
  • JonixLug Co-Founder & Administrator
    • View Profile
    • davenull's blog
Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #6 on: January 15, 2017, 05:21:54 PM »
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
Pubblicalo anche su github!
Davenull:Forse si riferisce a /usr/bin/p2d-rpi e non al raspi-builder.
Ne ho fatto uno anch'io per il raspi e da quello ne ho ricavato anche una versione per le distro "desktop" che non è molto diversa.
Mai pubblicati perché in continua evoluzione, ho cominciato con sysVinit e poi è uscito systemd.. ma poi uso lo sempre lo stesso e faccio a mano il resto :/
C'è un metodo più efficace per cancellare la history.
Potresti eliminare anche /var/log/*.gz e /var/log/X.0.log.* e svuotare /var/tmp e /tmp
Poi ci sarebbero la cronologia del browser e quella del gestore files.

esatto, non l'ho pubblicato per lo stesso motivo, è in versione alpha e voglio dividerlo in due file, uno per l'user-space e l'altro per il kernel-space. e poi devo mettere la licenza gplv3.
mi devo abituare a mettere la licenza gplv3 in tutti i programmi che scrivo!!!
E-Mail: [email protected]
Website: You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login
 

Offline devilicecream

Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #7 on: January 16, 2017, 11:18:29 AM »
La forza di github (o bitbucket o qualunque soluzione simile) è proprio questa! Anche se gli script non sono completi e funzionanti nel 100% dei casi, pubblicandoli aprite anche ad eventuali contributi da parte degli altri, ed evitate di fare il lavoro due volte!
Immaginate se dario avesse pubblicato il suo script, invece che scriverne uno suo da capo, davenull avrebbe potuto forkare quello di dario e farci le modifiche che gli sembravano necessarie, e magari poi mandare una pull request a dario perchè mergiasse le sue modifiche nel repo principale.
Invece di scrivere il mio, io avrei potuto prendere il risultato del vostro lavoro, aggiungerci delle mie modifiche e contribuire anch'io!
Vi suggerisco di pubblicare tutto quello che fate su github, anche se potenzialmente incompleto.
Per quanto riguarda le licenze, al momento della creazione di un nuovo repo pubblico github vi da la possibilità di scegliere la licenza che preferite, senza che dobbiate nemmeno andare a cercarvi il testo ed aggiungerlo al repo lo aggiunge lui in automagico!
 
The following users thanked this post: davenull, lynx

Offline davenull

  • Administrator
  • Sr. Member
  • *****
  • Posts: 321
  • Thanked: 13 times
  • Gender: Male
  • JonixLug Co-Founder & Administrator
    • View Profile
    • davenull's blog
Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #8 on: January 17, 2017, 05:35:02 AM »
You are not allowed to view links. Register or Login
La forza di github (o bitbucket o qualunque soluzione simile) è proprio questa! Anche se gli script non sono completi e funzionanti nel 100% dei casi, pubblicandoli aprite anche ad eventuali contributi da parte degli altri, ed evitate di fare il lavoro due volte!
Immaginate se dario avesse pubblicato il suo script, invece che scriverne uno suo da capo, davenull avrebbe potuto forkare quello di dario e farci le modifiche che gli sembravano necessarie, e magari poi mandare una pull request a dario perchè mergiasse le sue modifiche nel repo principale.
Invece di scrivere il mio, io avrei potuto prendere il risultato del vostro lavoro, aggiungerci delle mie modifiche e contribuire anch'io!
Vi suggerisco di pubblicare tutto quello che fate su github, anche se potenzialmente incompleto.
Per quanto riguarda le licenze, al momento della creazione di un nuovo repo pubblico github vi da la possibilità di scegliere la licenza che preferite, senza che dobbiate nemmeno andare a cercarvi il testo ed aggiungerlo al repo lo aggiunge lui in automagico!

infatti quello che sto facendo è proprio quello di aggiungere la licenza per intero in ogni tool, creare un install script, ed aggiungere il sunto della licenza stessa all'interno di ogni file. mi sembra che si fa così, giusto???
E-Mail: [email protected]
Website: You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login
 

Offline devilicecream

Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #9 on: January 18, 2017, 02:44:10 AM »
Dove nel repository (o nella cartella principale dell'archivio) c'è il file completo della licenza, il sunto all'inizio di ogni file è un plus in generale, non strettamente necessario che io sappia.
Come ti scrivevo, se usi github il passaggio di inserire il file di licenza completo non è necessario che lo faccia tu, ma lo fa github in automatico alla creazione di un nuovo repo, in base alla scelta della licenza che fai al momento della creazione.
 

Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #10 on: January 27, 2017, 11:57:59 AM »
Prenoto questo articolo per il primo numero di HAX nuova serie :)
ehehe
Grande Dave!
 
The following users thanked this post: davenull

Offline davenull

  • Administrator
  • Sr. Member
  • *****
  • Posts: 321
  • Thanked: 13 times
  • Gender: Male
  • JonixLug Co-Founder & Administrator
    • View Profile
    • davenull's blog
Re:[TOOL] Crea la tua distro per il Raspberry Pi
« Reply #11 on: January 27, 2017, 12:38:33 PM »
You are not allowed to view links. Register or Login
Prenoto questo articolo per il primo numero di HAX nuova serie :)
ehehe
Grande Dave!

ne sto scrivendo tanti altri e di migliori. puntate al contenuto di hax, fregatevene della grafica (cosa che avete curato eccessivamente nell'ultimo numero), sono risorse sprecate!!!
E-Mail: [email protected]
Website: You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login
 

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40