Questa procedura vi permetterà di avviare il file .iso della distribuzione CachyOS.
Perche’ dovremmo avviare la .ISO dal nostro computer ?
Potremmo avviare una emulazione già dal nostro sistema operativo installato e funzionante, con qemu, vbox o altri metodi di creazione di macchina virtuale. Con questo metodo Virtual machine caricheremmo un altro kernel nel nostro kernel già attivo e quindi non sarebbe un test valido per comprovare la compatibilità tra il nostro computer e la distribuzione che andremo a provare.
Non potremmo creare una chiavetta USB ?
Certo, il metodo di avvio con chiavetta USB e’ sempre valido anzi si rende indispensabile in caso di installazione, ricordo che non e’ possibile installare un sistema operativo avviando il boot dallo stesso disco/device su cui risiede già un sistema operativo. Ma nel nostro caso vi rammento un loop …. ( legge di Murphy )
1 Azz non ho una chiavetta USB vuota
2 prendo quella della moglie
3 devo salvare tutti i dati della chiavetta
4 non ho abbastanza spazio sul disco
5 e’ formattata NTFS
6 ecco ho la chiavetta vuota ( +30 minuti )
7 formatto la chiavetta
8 installo balena etcher
9 installo la iso nella chiavetta
10 boota ! funziona ( + 20 minuti )
11 azz e’ tardi spengo tutto
12 formatto la chiavetta USB con NTFS
13 ricopio tutti della moglie
14 e’tardi devo andare a dormire
GOTO 1
Quindi per evitarvi ansie e problemi famigliari, vi basterà scaricare il file .iso della live da provare per essere in pochi minuti operativi poi se seguite l’ultimo suggerimento di questo testo, sara’ per voi una bazzecola testare una nuova .ISO distro , ma procediamo:
Scaricate il file .ISO della distro che volete testare , fate attenzione che la .ISO sia per una esecuzione LIVE , infatti alcune distribuzioni non hanno la versione LIVE , in questi casi il file .ISO avviera’ direttamente la procedura di installazione.
Il 90% dei computer in nostro possesso ha architettura X_64 , alcune distribuzioni hanno ancora la versione a 32 bit o la versione per famiglia di processori ARM , usate la versione adatta al vostro computer , vi ricordo che le versioni a 32 bit possono essere eseguite su architettura a 64 bit , ma non il contrario. Oggi scarichiamo la CachyOS perché e’ di moda e perché siamo curiosi di vederla all’opera. Quindi dal sito del produttore:
https://cdn77.cachyos.org/ISO/desktop/250713/cachyos-desktop-linux-250713.iso
per essere linuxiani fino in fondo 🙂 dal terminale :wget https://cdn77.cachyos.org/ISO/desktop/250713/cachyos-desktop-linux-250713.iso
Se siete in paranoia con la sicurezza e il timore di essere nel mirino del KGB o della Mossad testate il vostro file scaricato con il relativo checksum:wget https://cdn77.cachyos.org/ISO/desktop/250713/cachyos-desktop-linux-250713.iso.sha256
Bene, ora vi racconto una storia…no dai non vi voglio tediare ,ma dovreste leggere qui:
https://www.supergrubdisk.org/wiki/Loopback.cfg
La faccio breve, in quasi tutte le .ISO distro linux si trova un file .cfg che permette di lanciare il boot e il kernel così come creato e disegnato dai creatori dell’immagine della distro, quindi tutto quello che dobbiamo fare e’ lanciare questo file .cfg con il nostro grub , ma il file .cfg e’ ‘dentro’ il file .iso appena scaricato come possiamo lanciarlo ? Ci hanno pensato per noi gli amici di Grub con vari comandi.
Da qui in avanti parliamo SOLAMENTE di comandi dal terminale, non mi fido dei vari tool semigrafici dei nostri linux sistemi, quindi aprite un terminale e cominciamo :
Andiamo a editare un file che si chiama 40_custom e che solitamente trovate nella dir /etc/grub.d/ quindi:sudo nano /etc/grub.d/40_custom
apparira’ :
#!/bin/sh
exec tail -n +3 $0
This file provides an easy way to add custom menu entries. Simply type the
menu entries you want to add after this comment. Be careful not to change
the ‘exec tail’ line above.
Si e’ scritto in inglese, ma ve lo traduco io scrivete dopo l’intestazione !
quindi dopo l’intestazione scrivete:
menuentry "loopback.cfg" {insmod ntfsinsmod gzioinsmod part_gptinsmod ext2insmod btrfsinsmod chainiso_path="/cachyos-desktop-linux-250713.iso"export iso_pathsearch --set=root --file $iso_pathloopback loop (hd1,gpt2)$iso_pathroot=(loop)configfile /boot/grub/loopback.cfgloopback --delete loop}
PS se state scrivendo a mano quello di cui sopra vi squalifico a vita… copia/incolla e’ stato inventato per Voi !!!!!!
leggiamo il codice che abbiamo inserito :
menuentry “loopback.cfg” { = e’ l’inizio di un nuovo menu per grub che avra’ titolo loopback.cfg la parentesi graffa aperta e’ parte del linguaggio di grub e quindi non va omessa, pena: non funzionerà niente.insmod ntfsinsmod gzioinsmod part_gptinsmod ext2insmod btrfsinsmod chain
insmod inserisce un modulo, di solito un filesystem o un sistema di partizioni , in questo momento non e’ caricato nel nostro computer nessun sistema operativo e di conseguenza nessun filesystem.
iso_path=”/cachyos-desktop-linux-250713.iso” = e’ il percorso dove si troverà il nostro file .ISO da lanciare , nel mio caso si trova
nella root di quel disco quindi / basterà come indicazione , ma potrebbe essere “/home/ilVostroNome/Scaricati/cachyos-desktop-linux-250713.iso”, vi
consiglio di non avere spazi nel nome del percorso e usate quel tipo di virgolette.
export iso_path = la variabile iso_path diventa globale ( roba da nerd programmatori non pensate di capirci qualcosa )
search –set=root –file $iso_path = qui le cose si fanno complicate , in una riga viene trovato il file .ISO e impostato come root
loopback loop (hd1,gpt2)$iso_path = grub fagocita il file .ISO e lo monta nella sua memoria, loop e’ un device adesso
root=(loop) = il device loop e’ per il fs root cioe’ /
configfile /boot/grub/loopback.cfg = finalmente viene caricato ed eseguito il contenuto del file loopback.cfg
loopback –delete loop = una finezza informatica, il device loop non serve piu’ e viene scaricato dalla memoria
} = con questa graffa chiusa si chiude il contenuto del nostro file , senza questo simbolo non funziona niente !
Volevo soffermarmi su una questione: stiamo passando vari parametri a Grub per far si che si beva la nostra .ISO , nel momento di esecuzione di Grub il computer non ha sistema operativo e quindi qualsiasi comando o device deve essere dichiarato e caricato,inoltre visto che non abbiamo il
conforto del sistema operativo ogni errore puo’ essere fatale per l’avvio del nostro sistema.
L’unica variabile che rende unico il Vostro sistema e’ la configurazione del disco o dei dischi del vs sistema. Nel codice di cui sopra appare la riga :loopback loop (hd1,gpt2)$iso_path
hd1,gpt2 e’ la seconda partizione del mio secondo disco, dove risiede il file .ISO da far fagocitare a Grub
e’ abbastanza chiaro che in un sistema GPT hd0 sara’ il primo disco hd1 il secondo e così via , i dischi si chiamano hd ma potrebbero avere altri nomi a secondo della tecnologia utilizzata.Quindi per sapere la configurazione dei dischi del nostro sistema possiamo chiedere aiuto al
nostro fido Linux:
[gigirock@gigiEnde ~]$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 ntfs 5C6CAB6D6CAB411E
├─sda2 vfat FAT32 E651-56E4 40,4M 58% /boot/efi
├─sda3
├─sda4 ntfs 2EB854EDB854B4D5
├─sda5 ntfs 54FEF9F2FEF9CBEC
├─sda6 ntfs B4348DB7348D7CDC
└─sda8 btrfs f15c771a-3a11-4d4c-a5a4-21e79557f0dc 8G 96% /var/log
/home
/var/cache
/
sdb
├─sdb1 ntfs SHARE E4A4DA24A4D9F94E
└─sdb2 ext4 1.0 Xiso 5f1005cc-5226-4d6e-95e0-a90114e92351
figo neh ? ( se non avete il comando lsblk : sudo apt-get install util-linux ),in una frazione di secondo ecco svelata la configurazione dei vostri dischi, nel mio caso il file .ISO si trova nel device disco sdb ha filesystem ext4 e si trova nella seconda partizione, quindi per il
dialetto di Grub hd1,gpt2 ( sda = hd0 , sdb = hd1 …. etc )
seconda magia di Linux:
[gigirock@gigiEnde ~]$ df -hT
File system Tipo Dim. Usati Dispon. Uso% Montato su
/dev/sda8 btrfs 192G 184G 8,1G 96% /
devtmpfs devtmpfs 3,8G 0 3,8G 0% /dev
tmpfs tmpfs 3,9G 5,1M 3,9G 1% /dev/shm
efivarfs efivarfs 128K 45K 79K 36% /sys/firmware/efi/efivars
tmpfs tmpfs 1,6G 1,7M 1,6G 1% /run
tmpfs tmpfs 1,0M 0 1,0M 0% /run/credentials/systemd-journald.service
tmpfs tmpfs 3,9G 3,8M 3,9G 1% /tmp
/dev/sda8 btrfs 192G 184G 8,1G 96% /var/cache
/dev/sda8 btrfs 192G 184G 8,1G 96% /home
/dev/sda8 btrfs 192G 184G 8,1G 96% /var/log
/dev/sda2 vfat 95M 55M 41M 58% /boot/efi
tmpfs tmpfs 788M 256K 788M 1% /run/user/1000
pCloud.fs fuse 6,0G 5,6G 458M 93% /home/gigirock/pCloudDrive
con questo comando linux ci mostra i dischi e partizioni “montate” notate che la partizione che desidero usare non e’ montata , ricordatevi la
differenza tra la lista dei devices disponibili e la lista di cio’ che e’ montato dal sistema operativo.
Si vabbe’, direte voi, ma se voglio caricare la .ISO dal mio fikissimo filesystem BTRfs ?
Di solito BTRfs monta dei subvolumi ( per darsi un tono e apparire fiko rispetto ai filesystem tradizionali 🙂 ) , in quel caso la sintassi cambia ma non e’ neanche cosi’ difficile o complicata.
Se prendiamo l’esempio dal mio sistema la riga per Grub sarà :
loopback loop (hd0,gpt8)”/@home/gigirock/Scaricati/cachyos”$iso_path
l’ho fatta complicata così avrete un esempio consistente nel mio sistema il file .ISO si troverà a:
/home/gigirock/Scaricati/cachyos/cachyos-desktop-linux-250713.iso
sistemate le stringhe per il Vostro sistema,siamo vicini alla meta !
Una volta compilato il file 40_custom assicuratevi di non avere errori di sintassi e salvate.
Se avete un sistema ubuntucentrico dovreste avere il comando update-grub già installato:sudo update-grub
se avete combinato qualche pasticcio con il file 40_custom grub e’ così simpatico che vi segnalerà l’errore e non salverà la nuova confgurazione.
Se non ci sono errori grub ha creato in /boot/grub il file grub.cfg.
Se non avete il comando update-grub dovreste procedere ‘a manina’ :
cd /boot/grubpwdlssudo cp grub.cfg grub.bkpsudo grub-mkconfig -o grub.cfg
digitate i comandi uno alla volta e leggete il messaggio generato, linux e’ simpatico e vi aiuta ,ma se voi non lo ascoltate, son dolori.
cd /boot/grub entriamo nella directory per il file di grub
pwd non mi fido mi faccio dire da linux dove ci troviamo , in quale directory
ls sono S.Tommaso in persona, voglio vedere se il file grub.cfg e’ qui dove lo sto cercando
sudo cp grub.cfg grub.bkp faccio una copia di backup del file .cfg ( ripeto che mi fido solo di mia mamma … )
sudo grub-mkconfig -o grub.cfg creo un nuovo file grub.cfg , se ci sono errori verranno immediatamente segnalati.
PS Se proprio non trovate il file grub.cfg :
sudo find / -iname “grub.cfg”
dovrebbe trovarlo per voi.
Bene a questo punto un bel
sudo reboot
chiude e ammazza tutti i Vs files aperti , avete salvato ? 🙂
oppure usate il solito bottoncino fiko per riavviare.
Al riavvio Grub vi presenterà un nuovo menu dal nome “loopback.cfg” , selezionatelo e vediamo che succede.
Se siete stati bravi la CachyOS vi mostrerà tutta la bellezza del suo desktop.
Se proprio non funziona niente , usate la tecnica del “3 finger tango” ( ctrl+alt+del ) per riavviare tutto , oppure nei sistemi moderni tenete premuto il tasto power per qualche secondo per tacitare tutto.
Abbiate pazienza, grub deve spacchettare un file .ISO di 4Gb e ficcarselo in memoria ,quindi 15 secondi di schermo nero potrebbero essere normali per questo tipo di avvio.
In ultima analisi se nel file 40_custom usate un nome generico per il file .ISO per esempio “iso2test.iso” poi nel vostro computer basterà scaricare la prossima iso distro da testare e rinominarla come iso2test.iso:mv cachyos-desktop-linux-250713.iso iso2test.isosudo reboot
ed il gioco e’ fatto , sempre che all’interno del file iso ci sia loopback.cfg !
Per ora vi saluto e vi auguro tante iso da testare
GiGiRocK




