[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedenteProssima revisioneEntrambe le parti successive la revisione | ||
it:slackware:liveslak [2022/01/02 18:20 (UTC)] – [Layout of the ISO] twenty-seven | it:slackware:liveslak [2022/01/03 18:31 (UTC)] – [Scripts e tools] twenty-seven | ||
---|---|---|---|
Linea 487: | Linea 487: | ||
* system/ - questa directory contiene tutti i moduli che sono stai creati dallo script " | * system/ - questa directory contiene tutti i moduli che sono stai creati dallo script " | ||
* rootcopy/ - questa directory e' vuota di default. Qualunque cosa (l' utente della ISO) aggiungiate a questa directory sara' copiato testualmente nel filesystem dallo script di init quando la Live OS fa il boot. Potete usare questa feature per esempio se non volete creare un modulo squashfs separato per i file di configurazione della vostra applicazione. | * rootcopy/ - questa directory e' vuota di default. Qualunque cosa (l' utente della ISO) aggiungiate a questa directory sara' copiato testualmente nel filesystem dallo script di init quando la Live OS fa il boot. Potete usare questa feature per esempio se non volete creare un modulo squashfs separato per i file di configurazione della vostra applicazione. | ||
- | ===== Developer Documentation | + | ===== Documentazione per lo Sviluppatore |
- | ==== Scripts | + | ==== Scripts |
=== make_slackware_live.sh === | === make_slackware_live.sh === | ||
+ | Il primo script: | ||
- | The first script: | + | Lo script |
+ | Grazie al kernel Linux 4.x e al pacchetto squashfs-tools in Slackware, il processo di creazione di una Live ISO di Slackware **non** richiede (ri)compilazione del contenuto di Slackware o l' installazione di pacchetti di terze parti. | ||
- | The script | + | Il funzionamento interno dello script |
- | Thanks to Linux kernel 4.x and the squashfs-tools package in Slackware, the process of creating a Slackware Live ISO requires **no** (re)compilation of Slackware content or installing 3rd party packages. | + | |
- | The script' | ||
+ | == Installare i pacchetti di Slackware == | ||
- | == Install the Slackware packages == | + | Primo stage: |
+ | * Lo script legge una sequenza di pacchetti per la variante della Live e installa tutti i pacchetti in questa sequenza nello sottodirectory di un albero di directory temporaneo. | ||
+ | * Ogni set di pacchetti di Slackware (a, ap, d, ... , y) o lista di pacchetti (min, noxbase, x_base, xapbase, ...) viene installato in una directory ' | ||
+ | * Ognuna di queste directory e' " | ||
+ | * Questi files dei moduli sono successivamente montati in loop e poi messi insieme in una singola struttuta a directory a sola lettura usando un " | ||
+ | * Questo " | ||
+ | * In ' | ||
+ | * Notate che quando fate il boot della Live OS successivamente, | ||
+ | * un filesystem basato sulla RAM quando la Live OS sara' eseguita senza persistenza. | ||
+ | * una directory o un container file montato in loop sulla vostra penna USB, se state usando una USB con persistenza. | ||
- | Stage one: | ||
- | * The script reads a package sequence for the Live variant and installs all packages in this sequence to subdirectories of a temporary directory tree. | + | == Configurare il filesystem della Live con utili defaults out-of-the-box == |
- | * Every Slackware package set (a, ap, d, ... , y) or package list (min, noxbase, x_base, xapbase, ...) is installed into a separate ' | + | |
- | * Each of those root directories is " | + | |
- | * These module files are subsequently loop-mounted and then combined together into a single read-only directory structure using an " | + | |
- | * This " | + | |
- | * On ' | + | |
- | * Note that when you boot the Live OS later on, another writable overlay will be used to capture any write operations performed by the OS. You will perceive the Live OS as a real OS that can write and remove files. | + | |
- | * a RAM-based filesystem when the Live OS runs without persistence. | + | |
- | * a directory or a loop-mounted container file on your USB stick, if you use a USB stick with persistence. | + | |
- | == Configure the Live filesystem with useful out-of-the-box defaults == | + | Secondo stage: |
+ | * L' | ||
+ | * gli utenti ' | ||
+ | * un ambiente iniziale per gli account viene configurato, | ||
+ | * l' ambiente desktop e' pre-configuurato per il primo uso, | ||
+ | * gli scripts della liveslak " | ||
+ | * lo script " | ||
+ | * Viene configurato slackpkg, | ||
+ | * viene creato un database locale, | ||
+ | * ecc... | ||
+ | * Tutte queste modifiche sono scritte nel filesystem scrivibile che e' stato creato nella precedente sezione. Questo filesystem sara' anche contenuto della ISO come modulo squashfs e, quando il Live OS si avviera', | ||
- | Stage two: | + | == Configurare la fase di boot della Live OS == |
- | * Some filesystem initialization is done when the overlay has been assembled: | ||
- | * ' | ||
- | * an initial environment for the accounts is configured, | ||
- | * the desktop environment is pre-configured for first use, | ||
- | * the liveslak scripts " | ||
- | * the " | ||
- | * slackpkg is configured, | ||
- | * a locate database is created, | ||
- | * etc... | ||
- | * All these modifications are written to the writable filesystem that was created in the previous section. This filesystem will also be stored on the ISO as a squashfs module and when the Live OS boots, it will be mounted read-only just like all the other modules. Its name will be " | ||
+ | Fase tre: | ||
- | == Configure the boot stage of the Live OS == | + | * viene generato un initrd, contenente uno script di " |
+ | * un kernel gnerico slackware e l' initrd di cui sopra vengono aggiunti a una configurazione syslinux (per computers con BIOS) e a grub2 (per computers con UEFI). | ||
- | Stage three: | + | == Creazione dell' immagine ISO == |
- | * an initrd is generated, containing a modified " | + | Faser quattro: |
- | * a slackware generic kernel plus the above initrd are added to a syslinux (for BIOS computers) and a grub2 (for UEFI computers) configuration. | + | |
+ | * una ISO bootabile viene creata usando mkisofs. | ||
+ | * il comando " | ||
- | == Create the ISO image == | + | Fatto! Potete trovare il file ISO e il suo checksum MD5 nella directory /tmp. |
- | Stage four: | + | === iso2usb.sh === |
- | * a bootable ISO file is created using mkisofs. | ||
- | * the " | ||
- | Done! You can find the ISO file and its MD5 checksum in the /tmp directory. | + | Il secondo script: |
+ | L' utilizzo a runtime dello script " | ||
- | === iso2usb.sh === | + | Questa sezione spiega come lo script modifichi la ISO per le funzionalita' |
- | The second script: | ||
- | The " | + | == Layout della chiavetta |
- | This section explains how the script | + | Lo script |
- | == Layout of the USB stick == | + | * Prima partizione: una piccola (1 MB di dimensione) partizione FAT che non e' usata dalla Slackware Live Edition. Puo' essere usata da un bootloader alternativo se si necessita. Potete anche metterci il vostro keyfile LUKS per sbloccare un computer con Slackware Linux criptato con LUKS (vedete il file [[http:// |
+ | * Seconda partizione: una partizione VFAT di 100MB contenente il kernel, l' initrd e tutte le altre cose necessarie a syslinux e grub2 per avviare Slackware Live Edition. | ||
+ | * Terza partizione: una partizione Linux che occupa tutto il resto dello spazio. Conterra' | ||
- | The " | + | Notate che questo |
- | * First partition: a small (1 MB in size) FAT partition which is not used for Slackware Live Edition. | ||
- | * Second partition: a 100 MB VFAT partition containing the kernel, initrd and all the other stuff required by syslinux and grub2 to boot Slackware Live Edition. | ||
- | * Third partition: a Linux partition taking up all of the remaining space. It contains the actual liveslak modules, the persistent live storage and optionally your encrypted homedirectory. You can use the remainder of this Linux //ext4// filesystem' | ||
- | Note that this script is the only supported method of transfering the liveslak ISO content to a USB stick and make that USB stick into a persistent live OS. Several 3rd party tools (like multibootusb, | + | == Montare un filesystem |
- | == Mounting a filesystem in an encrypted | + | Lo script creera' |
+ | Il Live OS e' istruito per decriptare il container e montare il filesystem. Questo e' fatto editando il file "/ | ||
+ | Lo script iso2usb.sh supporta solamente la creazione e configurazione di una /home criptata, ma potete creare dei containers criptati aggiuntivi da voi e montarli | ||
- | The script will create a file of requested size in the root of the Live partition using the ' | + | ######################## |
- | If the container is used for an encrypted /home, its filename will be " | + | |
- | The Live OS is instructed to decrypt the container and mount the filesystem. | + | |
- | The iso2usb.sh script only supports creating and configuring an encrypted /home, but you can create additional encrypted containers yourself and mount them on other locations in the ISO's filesystem. | + | |
== Using a container file for storing persistence data == | == Using a container file for storing persistence data == |