User Tools

Site Tools


educare:chiavetta_magica

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
educare:chiavetta_magica [2020/06/08 22:20] – external edit 127.0.0.1educare:chiavetta_magica [2021/12/28 19:05] (current) profpro
Line 6: Line 6:
  
 ATTENZIONE: seguire le istruzioni coscienti del fatto che potrebbero contenre errori o omissioni. Nel caso in cui trovate un errore siete pregati di segnalarmelo...  ATTENZIONE: seguire le istruzioni coscienti del fatto che potrebbero contenre errori o omissioni. Nel caso in cui trovate un errore siete pregati di segnalarmelo... 
 +
 +===GPT===
 +Prima di iniziare bisogna scoprire se il proprio computer di avvia in modalità UEFI oppure BIOS (Legacy). Nel primo caso, si dovrà usare una tabella delle partizioni GPT, nel secondo caso di tipo MBR (msdos).
  
 ===== Come creare la chiavetta ===== ===== Come creare la chiavetta =====
 +
   - scegliere una distribuzione a proprio piacere (debian, mint, ubuntu,...)   - scegliere una distribuzione a proprio piacere (debian, mint, ubuntu,...)
-  - scaricare il live cd di installazione (possibilmente versione con LXDE) +  - scaricare il live cd di installazione 
-  - usare una chiavetta USB vuota da GB (8GB è l'ideale). NOTA: evitare chiavette [[http://it.wikipedia.org/wiki/U3_%28informatica%29|U3]]! +  - usare una chiavetta USB vuota da almeno 16 GB. NOTA: evitare chiavette [[http://it.wikipedia.org/wiki/U3_%28informatica%29|U3]]! 
-  - inserire la chiavetta e verificare il nome con cui è stata riconosciuta (sdc?) <code>dmesg</code>+  - inserire la chiavetta e verificare il nome con cui è stata riconosciuta dal tuo sistema operativo Linux (sdc?usando il comando <code>dmesg</code>
   - assicurarsi che la chiavetta __non__ sia stata montata automaticamente <code>mount</code>   - assicurarsi che la chiavetta __non__ sia stata montata automaticamente <code>mount</code>
     - in caso contrario va smontata, ma senza espellerla, cioè senza eliminare il file /dev/...     - in caso contrario va smontata, ma senza espellerla, cioè senza eliminare il file /dev/...
-  - eseguire un back up della tabella delle partizioni <code>sfdisk -d /dev/sdc > sfdisk-udb.txt;+  - per poter ripristinare una chiavetta al suo stato originale, si può eseguire un backup della tabella delle partizioni <code>sfdisk -d /dev/sdc > sfdisk-udb.txt;
 fdisk -l /dev/sdc > fdisk-usb.txt</code> fdisk -l /dev/sdc > fdisk-usb.txt</code>
 +  - GPT
 +    - <code>sgdisk -p /dev/sdc > sgdisk-usb.txt</code>
 +  - È inutile __ora__ eseguire un back up dell'identificatore **UUID**. Meglio farlo dopo 
 +l'installazione di Linux, dato che sarebbe modificato durante l'installazione.
 +
 +====Partizioni====
   - le partizioni della chiavetta possono essere create usando //gparted// __oppure__ //parted//   - le partizioni della chiavetta possono essere create usando //gparted// __oppure__ //parted//
-  - **gparted**: creare partizioni delle seguenti dimensioni (o superiori):  + 
-    - EXT2 0.4GB +==BIOS con MBR== 
-    - EXT2 3.4GB +  - **gparted**: creare partizioni delle seguenti dimensioni (o superiori):  
-    - SWAP 0.3MB +    - EXT4 9.24 GB  
-    - e le seguenti etichette: +    - SWAP 1 GB 
-    - sdc1 casausb +  - e le seguenti etichette: 
-    - sdc2 radiceusb +    - sdc1 radiceusb 
-  - **parted**: codice per chiavetta di 4GB  +    - sdc2 swapp 
-    - <code>parted /dev/sdc rm 1;  parted /dev/sdc mkpart primary ext2 2 418 ; parted /dev/sdc mkpart primary ext2 418 3870 parted /dev/sdc mkpart primary linux-swap 3870 3998 ; </code> +  - **parted**: codice per chiavetta di 16GB   
-  - codice per chiavetta di 8GB  che può contenere anche una partizione FAT32 per essere usata ancora come una normale chiavetta (attenzione alla numerazione delle partizioni)  +    - <code>parted /dev/sdc rm 1;  parted /dev/sdc mkpart primary ext4 2048 19374078 ; parted /dev/sdc mkpart primary linux-swap 19374079 21374807 </code> 
-    - <code>parted /dev/sdc rm 1; parted /dev/sdc mkpart primary fat32 2500 ; parted /dev/sdc mkpart primary ext2 2500 3300 ; parted /dev/sdc mkpart primary ext2 3300 7870 ; parted /dev/sdc mkpart primary linux-swap 7870 7990 ; </code>    +  - per mettere le etichette  
-  - togliere e rimettere la chiavetta (ma non farla aprire/montare automaticamente<code>mount</code> +    - <code>e2label /dev/sdc1 radic-usb; </code> 
-  - per mettere le etichette <code>e2label /dev/sdc1 casausb;  e2label /dev/sdc2 radiceusb; </code> +  - per modificare un UUID e per verificare il valore 
-  - chiudere tutte applicazioni che usano la chiavetta ed eseguire: fsck -f /dev/sdcx (sostituire i numeri al posto di 'x'                +    - <code> tune2fs -L etichetta -U c100d5a2-f162-11cf-9ece-0020afc76f16 /dev/sdxx </code> 
-  - (riavviare il pc) installare Live CD sulla chiavetta montando /home sulla partizione sdc2 (mentre / sarà montata su sdc1). Al termine viene installato GRUB. Dovrebbe essere installato sempre sulla chiavetta... +    - <code> mkswap -U d2b005a2-f162-11cf-9ece-0020afc76f96 /dev/sdxx </code> 
-  - (riavviare il pc) provare ad avviare un pc con la chiavetta+    - <code> ls -l /dev/disk/by-uuid </code> 
 +    - <code> in chroot? swapon -U d2b9d5a2-f162-11cf-9ece-0020afc76f96 </code> 
 +  - a volte le chiavette usate per live hanno errori nella signature, come se ci fosse un CD ISO 9660  
 +    - <code>wipefs -n /dev/sdc</code> 
 +    - <code>wipefs -o ........</code> 
 + 
 + 
 +==UEFI con GPT== 
 +Nei nuovi computer si possono installare dei sistemi operativi che si avviano in modo diverso dal passato. Le principali differenze sono visibili entrando nella configurazione segreta della scheda madre, premendo un tasto speciale, non appena si preme "Power" 
 + 
 +Ad esempio: 
 +  - nella configurazione si può trovare scritto  
 +    - "boot UEFI", oppure "boot legacy"  
 +    - "secure boot" (da disattivare, se possibile!) 
 +    - "enable boot from usb" 
 + 
 +UEFI richiede di creare partizioni GPT invece che MBR. 
 +UEFI richiede di creare una partizione di 512 MB (fat32) 
 + 
 +  - quindi se vuoi creare partizioni usando una tabella tipo GPT devi iniziare la procedura con il comando  
 +    - <code>parted /dev/sdc mklabel gpt </code> 
 +  - poi devi creare tre partizioni: una partizione FAT32 per contenere il firmware EFI, una EXT4 e una swap 
 +  - **parted**: codice per chiavetta di 16GB   
 +    - <code>parted /dev/sdc rm 1;  parted /dev/sdc mkpart primary fat32 2048 1050623 ; parted /dev/sdc mkpart primary ext4 1050624 20424602 ; parted /dev/sdc mkpart primary linux-swap 20424602 22425330 ; </code> 
 + 
 +==Installazione== 
 + 
 +Il sistema operativo si installa grazie ad un cd (.iso) da scaricare dal sito della distribuzione preferita. 
 + 
 +Spesso, invece di masterizzare un CD, si copia il file .iso in una chiavetta USB con questo comando:  
 +(quindi serve una __seconda__ chiavetta USB da almeno 4 GB
 +  - <code>dd if=file.iso of=/dev/sdx bs=4M conv=fsync </code> 
 +  - (riavviare il pc con la chiavetta USB da 4GB inserita)  
 +  - Il CD di installazione si potrebbe avviare in modalità BIOS oppure UEFI, a seconda delle impostazioni del proprio computer. Qui si vedono due esempi di programma di installazione per Debian GNU/Linux. (Su Ubuntu la differenza non viene visualizzata in modo così chiaro). 
 + 
 +**Attenzione**, se il tuo hard disk contiene una pre-esistente partizione swap, devi impedire al programma di installazione di usarla 
 + 
 +====GRUB==== 
 +Come detto il tuo computer potrebbe essere configurato in due diverse modalità di caricamento del sistema operativo 
 + 
 +==BIOS== 
 + 
 +==UEFI== 
 + 
 +{{:educare:live-usb-boot.jpg?nolink|}} 
 + 
 +Se hai avviato Ubuntu Live CD e vuoi sapere se è stato avviato in BIOS mode oppure in UEFI mode, basta aprire un terminale e scrivere questo comando: 
 + 
 +  efibootmgr 
 +   
 +Se produce errore, sei nel caso di BIOS mode 
 + 
 +Al termine viene installato anche GRUB. Anche GRUB è installato in modo diverso in UEFI mode. 
 +Dovrebbe essere installato sempre sulla chiavetta, non sul disco fisso 
 + 
 +SE PER ERRORE VENISSE INSTALLATO SUL DISCO FISSO, la chiavetta non si avvierà su un altro pc. 
 + 
 +  - (riavviare il pc) provare ad avviare un ALTRO pc con la chiavetta
   - configurare la scheda di rete e ...   - configurare la scheda di rete e ...
-  - installare nella chiavetta tutti i pacchetti necessari +  - installare nella chiavetta tutti i pacchetti necessari (dia, libreoffice, evince, g++, openjdk-17-jdk) 
-  ho trovato molto utile editare il file /etc/fstab in questo modo per + 
-    - avere meno tentativi di accesso alla memoria usb (perché è lenta) +==fstab== 
-    - evitare problemi nel file system della home + 
-    - velocizzare firefox  +Ho trovato molto utile editare il file /etc/fstab in questo modo per 
-    - (ricordarsi di sostituire le 'x'+  - avere meno tentativi di accesso alla memoria usb (perché è lenta) 
-<code>/dev/sdxx / ext2 relatime,errors=remount-ro 0 1 +  - velocizzare firefox  
-/dev/sdxx /home ext2 relatime,defaults 0 2 +  - (ricordarsi di sostituire le 'x'
-tmpfs /home/nomeutente/.mozilla/firefox/xxxxxxxxxx.default/Cache tmpfs defaults 0 0 </code>+ 
 +Aprire firefox e digitare il seguente comando: 
 + 
 +  about:cache 
 + 
 +Modificare /etc/fstab aggiungendo queste righe 
 + 
 +<code> none /home/nomeutente/.mozilla/firefox/xxxxxxxxxx.default/Cache tmpfs defaults 0 0 </code> 
   - oppure vedere anche questi tutorial   - oppure vedere anche questi tutorial
     - [[educare:firefox su ssd]]     - [[educare:firefox su ssd]]
Line 50: Line 125:
     - eatmydata     - eatmydata
     - unburden-home-dir     - unburden-home-dir
- 
  
 ===== Come fare un back up della chiavetta ===== ===== Come fare un back up della chiavetta =====
-  - comando per salvare ogni partizione (per ext2) in un file compresso  <code>partimage -z 1 save /dev/sdc3 ./file3</code> + 
-  - in alternativa (per ext4) <code>partclone --clone --source /dev/sdc3 --output file </code>+  (per ext2) comando per salvare ogni partizione in un file compresso   
 +    - <code>partimage -z 1 save /dev/sdc3 ./file3</code> 
 +  - (per ext4) in alternativa  
 +    - <code>partclone.ext4 --clone --source /dev/sdx1 --output file-immagine </code> 
 + 
 +Ricordarsi che Linux assegna ad ogni partizione un **UUID** (si trova nel file ** /etc/fstab **), quindi è necessario copiare a parte anche questo file  
 +  - creare delle partizioni con il giusto UUID nelle chiavette degli studenti   
 +    - <code>ls -l /dev/disk/by-uuid </code> 
 ===== Come clonare la chiavetta per tutti gli alunni ===== ===== Come clonare la chiavetta per tutti gli alunni =====
  
-  - eseguire i precedenti punti da 3 a 12 +  - eseguire i precedenti punti per creare le partizioni 
-  - eseguire l'installazione e il backup completo come descritto nel precedente paragrafo solo su una chiavetta, e generare tutte le altre come cloni, usando partimage per ripristinare tutte le partizioni <code>partimage -z 1 restore /dev/sdb3 ./file3</code>  +  - eseguire l'installazione del nuovo sistema fare  il backup completo come descritto nel precedente paragrafo 
-  - ...manca ancora il boot manager (grub2), vedere paragrafo successivo+  - dopo aver ottenuto la prima chiavetta è possibile generare tutte le altre come cloni, usando partimage oppure partclone per ripristinare tutte le partizioni  
 +  - <code>partimage -z 1 restore /dev/sdxx ./filex</code>  
 +  - <code>partclone.ext4 --restore --source file-immagine --output /dev/sdx1</code> 
 + 
 +Ora attenzione ai valori UUID della chiavetta originale (già analizzati in fstab) 
 +    - <code>tune2fs  -L etichetta -U c1b9d5a2-f162-11cf-9ece-0020afc76f16 /dev/sdxx</code>  
 + 
 +Manca ancora il boot manager (grub2), vedere paragrafo successivo
  
 ===== Come rendere una chiavetta clonata avviabile (installare grub con chroot)===== ===== Come rendere una chiavetta clonata avviabile (installare grub con chroot)=====
  
-  - Il proprio sistema deve essere a 32 bit, come quello nella chiaverra, cioè si deve usare una distribuzione con la stessa architettura del sistema da ripristinare (i386)+  - Il proprio sistema deve essere a 64 bit, come quello nella chiavetta appena creata, cioè si deve usare una distribuzione con la stessa architettura del sistema da ripristinare (x86_64). Puoi usare questo comando per scoprire la tua architettura:
   - <code>uname -a</code>   - <code>uname -a</code>
-  - inserire la chiavetta e verificare il nome con cui è stata riconosciuta (sdc?) <code>dmesg</code>+ 
 +inserire la chiavetta e verificare il nome con cui è stata riconosciuta (sdc?) <code>dmesg</code>
   - assicurarsi che __non__ sia montata <code>mount</code>   - assicurarsi che __non__ sia montata <code>mount</code>
-  - ricordarsi in quale partizione si trova installata (sdc2?) la radice del file sistem /  +  - ricordarsi in quale partizione si trova installata (sdc1? sdc2?) la radice del file sistem / 
-  - <code>mount /dev/sdc2 /mnt ; sleep 1; for i in /dev /dev/pts /proc /sys; do mount -$i /mnt$i; done; sleep 1; chroot /mnt</code>+Preparazione per chroot:  
 +  - <code>mount /dev/sdc2 /mnt </code> 
 +  - <code>for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do mount --bind $i /mnt$i; done; </code> 
 +  - <code>chroot /mnt</code> 
 + 
 +SE HAI UN SISTEMA EFI DEVI LEGGERE PRIMA QUI  
 +===EFI=== 
 + 
 +nel caso GPT e UEFI boot si deve installare un ulteriore pacchetto  
 + 
 +  grub-efi efibootmgr grub-efi-amd64-signed 
 + 
 +anche il mount è diverso, in chroot è necessario montare una ulteriore partizione: 
 + 
 +  - <code>mount /dev/sdc2 /mnt ; mount /dev/sdc1 /mnt/boot/efi </code> 
 + 
   - <code>grub-setup /dev/sdc </code>   - <code>grub-setup /dev/sdc </code>
   - <code>exit</code>   - <code>exit</code>
-  - <code>for i in /sys /proc /dev/pts /dev; do umount /mnt$i; done; sleep 1; umount /mnt</code>+  - <code>for i in /sys/firmware/efi/efivars /run /sys /proc /dev/pts /dev; do umount /mnt$i; done; sleep 1; umount /mnt</code>
   - verificare che la chiavetta funzioni avviandoci un computer    - verificare che la chiavetta funzioni avviandoci un computer 
 +
 +
 +
 +  - <code>for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run ; do mount -B $i /mnt$i; done;</code>
 +
 +  - <code>chroot /mnt</code>
 +
 +  - <code>efibootmgr (QUESTO COMANDO NON DEVE DARE ERRORE)</code>
 +
 +update-grub; grub-install /dev/sdc; update-grub
 +
 +
 +
educare/chiavetta_magica.1591647601.txt.gz · Last modified: 2020/06/08 22:20 by 127.0.0.1