Systemback creazione iso superiore a 4 Giga

Systemback creazione iso superiore a 4 GigaSystemback creazione iso superiore a 4 Giga

Quando si usa systemback per la clonazione del proprio sistema in modalità live ed installabile, se la dimensione è inferiore ai 4 giga, il programma da la possibilità di convertirlo in .iso, mentre se è superiore c’è solo la possibilità di scriverlo direttamente su una pen drive. A questo proposito condividerò i comandi per potersi creare una immagine .iso bootable di dimensioni enormi da poter condividere. Tutto questo in attesa di un futuro aggiornamento ed alla risoluzione di alcuni bug. Quindi dopo aver utilizzato systemback abbiamo un file del tipo: systemback_live_2020-06-01.sblive

$ mkdir sblive/
$ sudo tar -xavf /home/systemback_live_2020-06-01.sblive -C sblive/
$ sudo chmod 777 -R sblive/
$ mv sblive/syslinux/syslinux.cfg sblive/syslinux/isolinux.cfg
$ mv sblive/syslinux/ sblive/isolinux/

creazione iso:

$ xorriso -as mkisofs -V sblive -J -l -b -isohybrid-mbr sblive/isolinux/ -c isolinux/boot.cat -b isolinux/isolinux.bin -iso-level 3 -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -isohybrid-gpt-basdat -o sblive.iso sblive

per ultimo utilizzare isohybrid per il boot in uefi:

$ isohybrid -h 256 -s 63 --uefi sblive.iso

Systemback creazione iso superiore a 4 Giga

enjoy 😉

 

Systemback 1.9.4 per Debian 10 Ubuntu 20.04

Systemback 1.9.4 per Debian 10 Ubuntu 20.04

Systemback 1.9.4 per Debian 10 Ubuntu 20.04

Nei giorni passati in lockdown per covid-19, ho dato un occhiata a systemback-1.9.3, adattandolo per farlo funzionare su Debian Buster 10, ed Ubuntu 20.04. Ho risolto alcuni bug, come la dimensione della distro installata tramite live, ed altre cosette. Ho fatto dei test su: Debian 10, Ubuntu 20.04, AV Linux e sembra funzionare perfettamente. Su derivate di Debian 10 si riscontrano dei problemi: come l’impossibilità di avvio in modalità UEFI. I pacchetti, ed il codice sorgente sono su Github e su Sourceforge.

Installazione da Sourceforge:

Download

$ cd Downloads/
$ tar xvf systemback-install_pack-1.9.4.tar.gz
$ cd systemback-install_pack-1.9.4/
$ chmod +x install.sh
$ sudo ./install.sh

 

Installazione Github:

$ git clone https://github.com/fconidi/systemback-install_pack-1.9.4.git
$ cd systemback-install_pack-1.9.4/
$ chmod +x install.sh
$ sudo ./install.sh

Systemback 1.9.4 per Debian 10 Ubuntu 20.04

BUG

con Mate Desktop ci sono problemi con caja, dove si è impossibilitati ad aprire il file manager e dove le cartelle,  non si aprono e non si vedono sul desktop. Praticamente ci sono dei problemi di link simbolici, quindi bisogna ricrearli:

Montare la partizione dove si è installato la copia Debian based. Ipotizzando che la partizione sia /dev/sda3:

# su -
# mount /dev/sda3 /mnt/
# cd /mnt/
# rm -rf bin/
# ln -s usr/bin/ bin
# rm -rf lib/
# ln -s usr/lib/ lib
# rm -rf lib32/
# ln -s usr/lib32/ lib32
# rm -rf lib64/
# ln -s usr/lib64/ lib64
# rm -rf libx32/
# ln -s usr/libx32/ libx32

Systemback 1.9.4 per Debian 10 Ubuntu 20.04

enjoy 😉

 

Pen drive con Debian Buster Live Custom Persistente Criptata

Pen drive con Debian Buster Live Custom Persistente CriptataPen drive con Debian Buster Live Custom Persistente Criptata

Guida su come creare una chiavetta usb, equipaggiata con Debian Buster, in  modalità Live, con partizione persistente, e boot in  UEFI mode. L’obiettivo è quello di avere una usb bootable con i propri tools preferiti, e che ci permette di navigare in internet in piena sicurezza senza rinunciare ad una partizione dove poter stipare tutti i dati sensibili. Per cifrare la partizione persistente userò LUKS. Tutti i comandi verranno eseguiti come root, con il comando ” su  – ” per non avere errori simili a questo:

Pacchetti da installare:

# su -
# apt install fuse libfuse-dev libicu-dev bzip2 libbz2-dev cmake clang git libattr1-dev zlib1g-dev libfuse3-dev debootstrap squashfs-tools rsync

Creazione Environment:

# mkdir $HOME/debian_live
# debootstrap --arch=amd64 --variant=minbase buster $HOME/debian_live/chroot http://ftp.it.debian.org/debian/
# chroot $HOME/debian_live/chroot
# echo "debian-live" > /etc/hostname
# echo 'deb http://ftp.it.debian.org/debian/ buster main contrib non-free' > /etc/apt/sources.list
# apt update

Installazione kernel:

# apt-cache search linux-image
# apt install -y linux-image-4.19.0-6-amd64 linux-headers-4.19.0-6-amd64

Installazione dei pacchetti personalizzati (nel mio caso quelli sotto)

# apt install -y mate-desktop-environment-extra task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd live-boot systemd-sysv network-manager net-tools wireless-tools nano gparted x11-xserver-utils x11-utils pciutils usbutils ntfs-3g rsync dosfstools syslinux firefox-esr chromium xserver-xorg-input-synaptics vpnc network-manager-gnome network-manager-vpnc-gnome network-manager-openvpn-gnome gtkterm vsftpd putty openssh-client firmware-linux-nonfree firmware-iwlwifi firmware-linux-free vlc terminator synaptic p7zip-full rar unrar zip ssh wget curl mesa-utils dnsmasq grub2-common grub-efi-amd64 grub-pc-bin xkb-data keyboard-configuration tzdata locales encfs wireshark-gtk aircrack-ng nmap zenmap

a questo punto abbiamo bisogno di installare la versione di cryptsetup 2:2.2.1-1  presente nei repo testing, per evitare il problema di cui sotto:

cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries
nor crypto modules. If that's on purpose, you may want to uninstall the
'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs

Aggiungere i repo testing ed installare cryptsetup:

# echo 'deb http://ftp.it.debian.org/debian/ testing main contrib non-free' > /etc/apt/sources.list
# apt update
# apt install -t testing cryptsetup
# apt clean

Reinserire i repo stable:

# echo 'deb http://ftp.it.debian.org/debian/ buster main contrib non-free' > /etc/apt/sources.list
# apt update

Aggiungere utenti e password:

# passwd root
# adduser nome_utente
# exit

Comprimere il tutto in uno squash filesystem:

# mkdir -p $HOME/debian_live/image/
# mksquashfs $HOME/debian_live/chroot $HOME/debian_live/image/filesystem.squashfs -noappend -e boot

Copiare kernel e initramfs fuori chroot:

# cp $HOME/debian_live/chroot/boot/vmlinuz-4.19.0-6-amd64 $HOME/debian_live/image/vmlinuz-4.19.0-6-amd64
# cp $HOME/debian_live/chroot/boot/initrd.img-4.19.0-6-amd64 $HOME/debian_live/image/initrd.img-4.19.0-6-amd64

Preparazione chiavetta usb: (nel mio caso /dev/sdb di 16G). Negli steps successivi verranno create 3 partizioni:

  1. partizione in fat32 EFI
  2. partizione in fat32 che contiene il sistema Linux
  3. partizione in ext4 persistente criptata con LUKS
# fdisk -l
# umount /dev/sdb*
# dd count=1 bs=512 if=/dev/zero of=/dev/sdb
# parted -s -- /dev/sdb mktable gpt mkpart efi 1 100M set 1 boot on
# parted -s -- /dev/sdb mkpart system 100 2G
# parted -s -- /dev/sdb mkpart persistence 2G 16G
# mkdir -p /mnt/{usb,efi,persistence}
# mkfs.fat -F32 -n EFI /dev/sdb1
# mkfs.fat -F32 -n SYSTEM /dev/sdb2
# mkfs.ext4 -L persistence /dev/sdb3

Montaggio delle partizioni EFI e di Sistema:

# mount /dev/sdb1 /mnt/efi/
# mount /dev/sdb2 /mnt/usb/

Installazione di Grub-EFI:

# grub-install --target=x86_64-efi --efi-directory=/mnt/efi --boot-directory=/mnt/usb/boot --removable --recheck

Copiare il sistema nella seconda partizione:

# rsync -rv $HOME/debian_live/image/ /mnt/usb/live/

Creare il file grub.cfg:

# nano /mnt/usb/boot/grub/grub.cfg

ed incollare dentro:

set default="0"
set timeout=3
menuentry "Debian Custom Live" {
linux /live/vmlinuz-4.19.0-6-amd64 boot=live persistence persistence-encryption=luks
initrd /live/initrd.img-4.19.0-6-amd64
}

Creazione della partizione persistente criptata con LUKS:

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3

rispondere YES e creare la password:

# cryptsetup luksOpen /dev/sdb3 live
# mkfs.ext4 -L persistence /dev/mapper/live
# mount /dev/mapper/live /mnt/usb
# echo "/ union" > /mnt/usb/persistence.conf
# umount /mnt/usb/
# cryptsetup luksClose live
# umount /dev/sdb*
# exit

sopra non abbiamo fatto altro che creare una cartella live che verrà montata in /dev/mapper/, ed aprire e chiudere la partizione persistente. Per accedere alla partizione da adesso in poi bisognerà digitare una password al boot, dopodichè si potranno mettere i files importanti da portarsi dietro. Al primo avvio dare i comandi:

# apt update
# apt upgrade
# apt install -f

Pen drive con Debian Buster Live Custom Persistente Criptata

enjoy 😉

 

Systemback 1.9.3 per Debian 9 Ubuntu 17-10 18-04

Systemback 1.9.3 per Debian 9 Ubuntu 17-10 18-04

update 26/01/2019

Systemback 1.9.3 per Debian 9 Ubuntu 17-10 18-04

Nuovo aggiornamento per Systemback che arriva alla versione 1.9.3, aggiungendo i pacchetti e la compatibilità con Ubuntu 17-10 ed Ubuntu 18-04. In questa versione, oltre a qualche vezzo, ed alcuni bug fix, ho aggiunto anche il supporto per SSD NVMe, anche se al momento funziona meglio se si ha già una partizione pronta all’uso. Tenendo conto che è un lavoro che faccio a tempo perso ogni feed e commento saranno bene accetti.

DOWNLOAD SYSTEMBACK-1.9.3

DOWNLOAD SOURCE

poi:

$ cd Downloads/
$ tar xvf systemback-install_pack-1.9.3.tar.xz
$ cd systemback-install_pack-1.9.3/
$ sudo apt-get install unionfs-fuse live-boot
$ sudo apt-get install grub2-common grub-efi-amd64-bin grub-pc-bin
$ sudo ./install.sh
$ sudo apt-get install -f 

DEBIAN 32 BIT

cercando di installare Systemback-1.9.3 su Debian Stretch 32 bit e non solo, si verifica l’errore di versione per i pacchetti: libqt5core5a (>= 5.10.0) e libqt5gui5. Si risolve aggiornando i pacchetti dai repo testing:

# nano /etc/apt/sources.list

ed aggiungere:

deb http://ftp.it.debian.org/debian/ testing main non-free contrib

poi affinchè non si aggiorni tutto il sistema, andiamo a creare un file , dove diremo che, la priorità dei pacchetti è solo quella della versione della distro installata, e cioè in questo caso stable/stretch:

# nano /etc/apt/apt.conf.d/99defaultrelease

ed incollare dentro:

APT::Default-Release "stable";

a questo punto siamo pronti ad installare la versione dei pacchetti aggiornati:

# apt update
# apt install -t testing libqt5core5a libqt5gui5

poi si potrà proseguire con l’installazione di systemback-1.9.3

Systemback 1.9.3 per Debian 9 Ubuntu 17-10 18-04

enjoy 😉

 

Come cancellare password login Windows da Linux

Come cancellare password login Windows da Linux

Come cancellare password login Windows da Linux

How to su come cancellare o cambiare la password di login su Windows 10, utilizzando una distribuzione Linux. Può succedere di non ricordarsi della password di login per accedere al proprio pc, oppure volutamente (illegale) entrare in un account di cui non si possiede l'autorizzazione. Esistono diversi modi per fare questo, ma un modo abbastanza semplice è quello di usare una distribuzione live e l'utility chntpw. Quindi dopo avere avviato il pc target da live, installare chntpw:

# apt install chntpw -y

identificare la partizione Windows:

# fdisk -l

ipotizzando che la partizione sia la /dev/sda7, i passi da eseguire sono i seguenti:

# mkdir /mnt/windows
# mount /dev/sda7 /mnt/windows/
# cd /mnt/windows/Windows/System32/config

editare il database SAM premendo 1:

# chntpw -i SAM

scegliere l'utente:

Come cancellare password login Windows da Linux

poi cancellare o cambiare la password:

Come cancellare password login Windows da Linux Come cancellare password login Windows da Linux

Come cancellare password login Windows da Linux

# cd --
# umount /dev/sda7

a questo punto dopo avere riavviato saremo in grado di accedere al pc Windows.

enjoy 😉

Systemback 1.9.2 su Debian Stretch

 

Systemback 1.9.2 su Debian Stretch

Systemback 1.9.2 su Debian Stretch

Nuova versione di Systemback, con alcuni bug fix. Purtroppo non avendo molto tempo a disposizione, man mano che lo uso e mi accorgo di qualche bug, proverò a risolverlo. Ogni feed sarà ben accetto.

Download systemback-1.9.2

poi:

$ tar xvf systemback-1.9.2-x86-x64.tar.xz
$ cd systemback-1.9.2-x86-x64/
$ sudo ./install.sh

Systemback 1.9.2 su Debian Stretch

enjoy 😉

Systemback 1.9.1 compatibile con Debian Stretch

Systemback 1.9.1 compatibile con Debian Stretch

Systemback 1.9.1 compatibile con Debian Stretch

Come avevo scritto un po' di tempo fa, avevo in mente di prendere in mano Systemback non piu supportato, e farlo funzionare bene su Debian 9 Stretch. Dopo un primo approccio "leggero" da parte mia, alcuni utenti mi hanno segnalato l'errore "can't mount live image ..installation aborted", che in effetti si presenta nel momento in cui si cerca d'installare il sistema dalla Debian Live creata, Avendo avuto un po' di tempo, mi ci sono messo sotto con più impegno e credo di aver risolto il problema, ed adesso Systemback-1.9.1 è totalmente compatibile con Debian 9.4. A questo proposito chiedo qualche feed da chi vorrà utilizzarlo.

Download systemback-1.9.1

poi:

$ tar xvf systemback-1.9.1-x86-x64.tar.xz
$ cd systemback-1.9.1-x86-x64/
$ sudo ./install.sh

Systemback 1.9.1 compatibile con Debian Stretch

enjoy 😉

 

Debian Stretch Live UEFI-BIOS Persistente Sicura

Debian Stretch Live UEFI-BIOS Persistente Sicura

Debian Stretch Live UEFI-BIOS Persistente Sicura

Ho fatto diverse guide su come costruirsi una Debian Live personalizzata, creando anche una categoria dedicata. Le ultime due sono state: Creare una Debian Stretch Live Custom persistente Sicura  e Creare una Debian Live personalizzata con live build. Questa guida invece sarà quella definitiva, dove la chiavetta costruita sarà un mix di sicurezza e personalizzazione, il tutto avviabile sia da UEFI che da Legacy BIOS, con partizione cryptata con LUKS. La guida sotto è per utenti avanzati, dato che non spiegherò ogni singolo passaggio, quindi attenzione a fare copia ed incolla senza capire quello che si andrà a fare, e sopratutto attenzione ad identificare con certezza il device usb. Questa guida si può adattare anche utilizzando una Debian Live scaricata direttamente dal sito, ma il problema è che non si può cryptare la partizione dato che cryptsetup non è installato di default, da qui l’esigenza di creare una Debian Live di base con cryptsetup installato, dopodichè successivamente si potrà installare tutto il resto.

Installazione tools:

$ sudo apt install -y debootstrap grub-common grub-pc-bin grub-efi-amd64-bin efibootmgr syslinux squashfs-tools live-build live-tools live-boot cryptsetup

Preparazione Debian Base:

$ mkdir live; cd live
$ lb config --distribution stretch --binary-images iso-hybrid --architectures amd64 --archive-areas "main contrib non-free" --debian-installer-gui true debian-installer live --mirror-bootstrap http://ftp.it.debian.org/debian/ --mirror-binary http://ftp.it.debian.org/debian --bootappend-live boot=live components persistence persistence-encryption=luks timezone=Europe/Rome locales=en_GB.UTF-8 keyboard-layouts=it hostname=Debian-Custom username=user noeject autologin

per installare un desktop environment ed i programmi di cui si necessita, bisogna editare il file live.list.chroot, ed incollare dentro il necessario:

$ nano config/package-lists/live.list.chroot

incollare dentro:

mate-desktop-environment task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd cryptsetup firefox-esr firmware-linux-nonfree firmware-iwlwifi firmware-linux-free

Costruzione Debian Base:

$ sudo lb build

Debian Stretch Live UEFI-BIOS Persistente Sicura

Identificazione device usb e partizioni: nel mio caso userò /dev/sda, ed i comandi eseguiti tutti come root:

# fdisk -l
# umount /dev/sda*
# dd count=1 bs=512 if=/dev/zero of=/dev/sda
# parted -s -- /dev/sda mktable gpt mkpart efi 1 100M
# parted -s -- /dev/sda mkpart live 100M 3G
# parted -s -- /dev/sda mkpart persistence 3G 100%
# parted /dev/sda set 1 msftdata on
# parted /dev/sda set 2 legacy_boot on
# parted /dev/sda set 2 msftdata on
# mkfs.vfat -n EFI /dev/sda1
# mkfs.vfat -F32 -n LIVE /dev/sda2

Creazione partizione cryptata /dev/sda3 persistente:

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sda3
# cryptsetup luksOpen /dev/sda3 sda3_crypt
# mkfs.ext4 -L persistence /dev/mapper/sda3_crypt
# mkdir /mnt/persistence
# mount /dev/mapper/sda3_crypt /mnt/persistence/
# echo "/ union" > /mnt/persistence/persistence.conf
# umount /mnt/persistence/
# cryptsetup luksClose sda3_crypt

Mount partizioni di lavoro:

# mkdir -p /mnt/{efi,live,live-iso}
# mount /dev/sda1 /mnt/efi
# mount /dev/sda2 /mnt/live

Mount Debian Base:

# mount -oro live/live-image-amd64.hybrid.iso /mnt/live-iso
# cp -ar /mnt/live-iso/* /mnt/live
# rm -rf /mnt/live/efi

Grub per UEFI:

# grub-install --removable --target=x86_64-efi --boot-directory=/mnt/live/boot/ --efi-directory=/mnt/efi /dev/sda

Syslinux per legacy BIOS:

# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr/gptmbr.bin of=/dev/sda
# syslinux --install /dev/sda2

Fix grub.cfg

# rm /mnt/live/boot/grub/grub.cfg
# nano /mnt/live/boot/grub/grub.cfg

ed incollare dentro:

set default="0"
set timeout=3

    menuentry "Debian Custom Live" {
        linux /live/vmlinuz-4.9.0-6-amd64 boot=live persistence persistence-encryption=luks keyboard-layouts=it locales=en_US.UTF-8,it_IT.UTF-8
        initrd /live/initrd.img-4.9.0-6-amd64
}

Fix syslinux:

# mv /mnt/live/isolinux /mnt/live/syslinux/
# mv /mnt/live/syslinux/isolinux.bin /mnt/live/syslinux/syslinux.bin
# mv /mnt/live/syslinux/isolinux.cfg /mnt/live/syslinux/syslinux.cfg
# rm /mnt/live/syslinux/menu.cfg
# nano /mnt/live/syslinux/menu.cfg

ed incollare dentro:

LABEL Debian GNU/Linux Live (kernel 4.9.0-6-amd64)
  SAY "Booting Debian GNU/Linux Live (kernel 4.9.0-6-amd64)..."
  linux /live/vmlinuz-4.9.0-6-amd64
  APPEND initrd=/live/initrd.img-4.9.0-6-amd64 boot=live components persistence persistence-encryption=luks keyboard-layouts=it locales=en_US.UTF-8,it_IT.UTF-8

per verificare la versione del kernel:

# ls live/chroot/boot/

output:

root@debianbox:/home/edmond# ls live/chroot/boot/
config-4.9.0-6-amd64  initrd.img-4.9.0-6-amd64    vmlinuz-4.9.0-6-amd64
grub              System.map-4.9.0-6-amd64

Smontaggio e pulizia:

# umount /mnt/efi /mnt/live /mnt/live-iso
# rmdir /mnt/efi /mnt/live /mnt/persistence /mnt/live-iso

a questo punto basta riavviare e fare il boot in modalità uefi oppure legacy, in entrambi i casi ad un certo punto del boot verrà chiesto la password, senza la quale il sistema operativo non si avvierà. Successivamente si potranno installare tutti i programmi di cui si necessiterà, e fare le proprie personalizzazioni. In più si possono conservare files in modo sicuro poichè la pen drive  è inaccessibile senza password.

Debian Stretch Live UEFI-BIOS Persistente Sicura

ps: in caso di password complicate, fare attenzione al layout, poiche in fase di boot è quello di grub

enjoy 😉

Creare una Debian Live personalizzata con live build

 

Creare una Debian Live personalizzata con live build

Creare una Debian Live personalizzata con live build

Dopo la guida precedente su come Creare una Debian Stretch Live Custom persistente Sicura , ecco un altro metodo per costruirsi una propria distribuzione Linux personalizzata basata su Debian. Questa volta useremo live build al posto di debootstrap, siccome le confgurazione sono moltissime, è meglio leggere prima la documentazione su live-config, e live-build.

$ mkdir live; cd live
$ lb config --distribution stretch --binary-images iso-hybrid --architectures amd64 --archive-areas "main contrib non-free" --debian-installer-gui "true" debian-installer "live" --mirror-bootstrap http://ftp.it.debian.org/debian/ --mirror-binary http://ftp.it.debian.org/debian --bootappend-live "boot=live components timezone=Europe/Rome locales=en_GB.UTF-8 keyboard-layouts=it hostname=Debian-Custom username=user noeject autologin"

per installare un desktop environment e tutti i programmi di cui si necessita, bisogna editare il file live.list.chroot, ed incollare dentro il tutto:

$ nano config/package-lists/live.list.chroot
mate-desktop-environment task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd

volendo si può anche cambiare l’immagine di boot, proprio come ho fatto io. Serve un immagine di 640×480 dal nome splash.png, crearsela oppure scaricare la mia. Ipotizzando che il file splash.png si trova nella home:

$ cd config; mkdir bootloaders
$ sudo cp -r /usr/share/live/build/bootloaders/isolinux bootloaders/
$ sudo rm bootloaders/isolinux/splash.svg
$ sudo cp $HOME/splash.png bootloaders/isolinux/splash.png
$ cd ..
$ sudo lb build

a questo punto non resta che provare la nostra Debian Stretch personalizzata, tramite VirtualBox oppure direttamente da chiavetta usb:

$ sudo su
# dd if=live-image-amd64.hybrid.iso of=/dev/sdX bs=4M status=progress

con questa configurazione utente e password sono le solite:

user=user
password=live

Creare una Debian Live personalizzata con live build

enjoy 😉

 

Creare una Debian Stretch Live Custom persistente Sicura

 

Creare una Debian Stretch Live Custom persistente Sicura

Creare una Debian Stretch Live Custom persistente Sicura

Guida su come creare una propria Debian Live personalizzata con partizione persistente in modalità UEFI. In passato avevo già fatto una guida simile per Debian Jessie, ma ho utilizzato direttamente l’immagine live ufficiale con firmware non-free. Questo metodo utilizza un’approccio diverso nella costruzione della live, ma l’obiettivo è quello di avere una usb bootable con i propri tools preferiti, e che ci permette di navigare in internet in sicurezza senza memorizzare dati su disco, e senza rinunciare ad una partizione dove poter stipare dati sensibili. Per cifrare la partizione persistente userò LUKS.

Pacchetti da installare:

$ sudo apt install -y debootstrap grub-common grub-pc-bin grub-efi-amd64-bin efibootmgr syslinux squashfs-tools cryptsetup

Creazione Environment:

$ sudo mkdir $HOME/debian_live
$ sudo debootstrap --arch=amd64 --variant=minbase stretch $HOME/debian_live/chroot http://ftp.it.debian.org/debian/
$ sudo chroot $HOME/debian_live/chroot
# echo "debian-live" > /etc/hostname
# echo 'deb http://ftp.it.debian.org/debian/ stretch main contrib non-free' > /etc/apt/sources.list
# apt update

Installazione kernel:

# apt-cache search linux-image
# apt install -y linux-image-4.9.0-4-amd64 linux-headers-4.9.0-4-amd64

Installazione dei pacchetti personalizzati (nel mio caso solo quelli sotto)

# apt install -y mate-desktop-environment task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd live-boot systemd-sysv network-manager net-tools wireless-tools nano gparted x11-xserver-utils x11-utils pciutils usbutils ntfs-3g rsync dosfstools syslinux firefox-esr chromium xserver-xorg-input-synaptics vpnc network-manager-gnome network-manager-vpnc-gnome network-manager-openvpn-gnome gtkterm vsftpd putty openssh-client firmware-linux-nonfree firmware-iwlwifi firmware-linux-free vlc terminator synaptic p7zip-full rar unrar zip ssh wget curl mesa-utils dnsmasq grub2-common grub-efi-amd64 grub-pc-bin xkb-data keyboard-configuration tzdata locales cryptsetup encfs wireshark-gtk aircrack-ng nmap zenmap

# apt clean

Password per root:

# passwd root
# exit

Comprimere il tutto in uno squash filesystem:

$ sudo mkdir -p $HOME/debian_live/image/
$ sudo mksquashfs $HOME/debian_live/chroot $HOME/debian_live/image/filesystem.squashfs -noappend -e boot

Copiare kernel e initramfs fuori chroot:

$ sudo cp $HOME/debian_live/chroot/boot/vmlinuz-4.9.0-4-amd64 $HOME/debian_live/image/vmlinuz-4.9.0-4-amd64
$ sudo cp $HOME/debian_live/chroot/boot/initrd.img-4.9.0-4-amd64 $HOME/debian_live/image/initrd.img-4.9.0-4-amd64

Preparazione chiavetta usb: (nel mio caso /dev/sda di 16G)

Negli step successivi verranno create 3 partizioni:

  1. partizione in fat32 EFI
  2. partizione in fat32 che contiene il sistema Linux
  3. partizione in ext4 persistente criptata con LUKS
$ sudo fdisk -l
$ sudo umount /dev/sda*
$ sudo dd count=1 bs=512 if=/dev/zero of=/dev/sda
$ sudo parted -s -- /dev/sda mktable gpt mkpart efi 1 100M set 1 boot on
$ sudo parted -s -- /dev/sda mkpart system 100 2G
$ sudo parted -s -- /dev/sda mkpart persistence 2G 16G
$ sudo mkdir -p /mnt/{usb,efi,persistence}
$ sudo mkfs.fat -F32 -n efi /dev/sda1
$ sudo mkfs.fat -F32 -n system /dev/sda2
$ sudo mkfs.ext4 -L persistence /dev/sda3

Montaggio delle partizioni EFI e di Sistema:

$ sudo mount /dev/sda1 /mnt/efi/
$ sudo mount /dev/sda2 /mnt/usb/

Installazione di Grub-EFI:

$ sudo grub-install --target=x86_64-efi --efi-directory=/mnt/efi --boot-directory=/mnt/usb/boot --removable --recheck

Copiare il sistema nella seconda partizione:

$ sudo rsync -rv $HOME/debian_live/image/ /mnt/usb/live/

Creare il file grub.cfg ed incollare dentro:

$ sudo nano /mnt/usb/boot/grub/grub.cfg
set default="0"
set timeout=3

menuentry "Debian Custom Live" {
    linux /live/vmlinuz-4.9.0-4-amd64 boot=live persistence persistence-encryption=luks
    initrd /live/initrd.img-4.9.0-4-amd64
}

Creazione della partizione persistente criptata con LUKS:

$ sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/sda3

rispondere YES

$ sudo cryptsetup luksOpen /dev/sda3 live
$ sudo mkfs.ext4 -L persistence /dev/mapper/live
$ sudo  mount /dev/mapper/live /mnt/usb
$ sudo su
# echo "/ union" > /mnt/usb/persistence.conf
# umount /mnt/usb/
# cryptsetup luksClose live
# umount /dev/sda*
# exit

sopra non abbiamo fatto altro che creare una cartella live che verrà montata in /dev/mapper/, ed aprire e chiudere la partizione persistente. Per accedere alla partizione da adesso in poi bisognerà digitare una password, dopodichè si potranno mettere i files importanti da portarsi dietro.

Creare una Debian Stretch Live Custom persistente Sicura

Creare una Debian Stretch Live Custom persistente Sicura

Perchè questa chiavetta è sicura?

  1. avviandola per prima cosa verrà chiesta la password per accedere al sistema
  2. il file system è in read only, quindi tutte le modifiche ed i files modificati verranno persi al riavvio.
  3. partizione persistente a cui non è possibile accedere senza password

Creare una Debian Stretch Live Custom persistente Sicura

enjoy 😉