[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/04 19:03 (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: | + | == Layout della chiavetta USB == |
- | The " | + | Lo script |
- | This section explains how the script modifies the ISO for the enhanced USB functionality. | + | * 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' | ||
- | == Layout of the USB stick == | + | Notate che questo script e' l' unico metodo supportato per trasferire il contenuto della ISO liveslak su una penna USB e di rendere quella stessa USB un Live OS con persistenza. Diversi tool di terze parti (come mulibootusb, |
- | The " | ||
- | * First partition: a small (1 MB in size) FAT partition which is not used for Slackware Live Edition. | + | == Montare un filesystem |
- | * 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 // | + | |
- | Note that this script | + | Lo script |
+ | Il Live OS e' | ||
+ | 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 | ||
- | == Mounting a filesystem in an encrypted container == | ||
- | The script will create a file of requested size in the root of the Live partition using the ' | + | == Utilizzare un file container |
- | 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 | + | Esiste un secondo tipo di container |
+ | - il filesystem USB e' scrivibile? Se si', | ||
+ | - esiste una directory / | ||
+ | - esiste un file /persistence.img? Se si', montalo e, nel caso sia un container cifrato, chiedi la password durante il boot. | ||
- | A second type of encrypted container exists, which can be used for storing your persistence data. The Live init script will check if it needs to enable persistence in this order: | + | == Aggiungere il tempo di atteda all' |
- | - is the USB filesystem writable? | + | |
- | - does a directory / | + | |
- | - does a file / | + | |
- | + | ||
- | == Adding | + | |
- | + | ||
- | For slow USB media, the default 5 seconds wait time during boot are sometimes insufficient to allow the kernel to detect the partitions on your USB device. | + | |
+ | Per media USB lenti, il tempo di attesa di default di 5 secondi durante il boot talvolta e' insufficiente per permettere al kernel di rilevare le partizioni sul vostro dispositivo USB. Lo script puo' opzionalmente aggiungere piu' tempo di attesa. Cio' viene fatto editando il file " | ||
=== makemod === | === makemod === | ||
+ | Il terzo script: | ||
- | The third script: | + | Lo script " |
- | + | ||
- | The " | + | |
- | Usage: | + | Utilizzo: |
- | # makemod <packagename|directory> | + | # makemod <nome_pacchetto|directory> |
- | * The first parameter is either the full path to a Slackware | + | * Il primo parametro e' il percorso completo di un pacchetto |
- | * If a packagename is supplied as first parameter, it will be installed into a temporary | + | * Se il nome di un pacchetto viene passato come primo parametro, sara' installato in una directory |
- | * If a directoryname is supplied, its content will be squashed into a module by the " | + | * Se viene passato il nome di una directory, il suo contenuto sara' squashato in un modulo dal programma |
- | * The second parameter is the full pathname of the output | + | * Il secondo parametro e' il nome del percorso completo del modulo di output |
- | You can copy the module you just created | + | Potete copiare il modulo che avete appena creato |
+ | ############################# | ||
=== setup2hd === | === setup2hd === |