[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.

Welcome to the Slackware Documentation Project

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
Ultima revisioneEntrambe le parti successive la revisione
it:slackware:liveslak [2022/01/02 18:21 (UTC)] – [Developer Documentation] twenty-sevenit:slackware:liveslak [2022/01/07 18:48 (UTC)] – [Scripts e tools] twenty-seven
Linea 490: Linea 490:
  
  
-==== Scripts and tools ====+==== Scripts tools ====
  
  
 === make_slackware_live.sh === === make_slackware_live.sh ===
  
 +Il primo script:
  
-The first script:+Lo script "make_slackware_live.sh" crea un file ISO che come output contiene la Live OS. 
 +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 "make_slackware_live.sh" creates an ISO file as its output which contains the Live OS. +Il funzionamento interno dello script puo' essere suddiviso in diversi passaggi distintiPer la completa ISO di Slackware i passaggi del processo sono i seguenti:
-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's inner workings can be subdivided into several distinct stages.  For the full Slackware ISO the process stages are as follows: 
  
 +== 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 'root' separata.
 +  * Ognuna di queste directory e' "squashata" (usando squashfs) in un modulo squashfs separato. Tale modulo e' un singolo file di archivio contenente la struttura compressa delle directory dei pacchetti installati.
 +  * Questi files dei moduli sono successivamente montati in loop e poi messi insieme in una singola struttuta a directory a sola lettura usando un "overlay mount". L' overlayfs e' relativamente nuovo; Le distro Live precedenti usavano aufs e unionfs per ottenere simili funzionalita', ma essi non erano parte di nessun sorgente stock del kernel e quindi i kernels custom dovevano essere compilati per tali distro Live.
 +  * Questo "overlay assemblato" e' il filesystem che sara' avviato come filesystem della Live OS.
 +  * In 'cima' a questa serie di filesystems overlay in sola lettura, lo script "make_slackware_live.sh" aggiunge un filesystem scrivibile. Questo filesystem scrivibile e' usato per contenere tutte le customizzazioni alla nostra distro, che vogliamo vengano applicate quando la Slackware Live si avvia. Vedere la prossima sezione per maggiori dettagli.
 +  * Notate che quando fate il boot della Live OS successivamente, un altro overlay scrivibile sara' usato per recepire ogni operazione di scrittura eseguita dall' OS. Voi vedrete la Live Os come un vero sistema operativo che puo' scrivere e cancellare files. Questo filesystem scrivibile sara':
 +    * 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 'root' directory. +
-  * Each of those root directories is "squashed" (using squashfs) into a separate squashfs module.  Such a module is a single archive file containing the compressed directory structure of the installed packages. +
-  * These module files are subsequently loop-mounted and then combined together into a single read-only directory structure using an "overlay mount" The overlayfs is relatively new; earlier Live distros have been using aufs and unionfs to achieve similar functionality, but those were not part of any stock kernel source and therefore custom kernels had to be compiled for such a Live distro. +
-  * This "overlay assembly" is the filesystem that will be booted as the filesystem of the Live OS. +
-  * On 'top' of this series of overlayed read-only filesystems, a writable filesystem is added by the "make_slackware_live.sh" script.  This writable filesystem is used to store all the customizations to our distro that we want to be applied when Slackware Live boots up.  See the next section for more detail. +
-  * 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.  That writable filesystem will be: +
-    * 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'inizializzazione di alcuni filesystem e' fatta quando l' overlay e' stato assemblato:
 +    * gli utenti 'root' e 'live' vengono creati,
 +    * un ambiente iniziale per gli account viene configurato,
 +    * l' ambiente desktop e' pre-configuurato per il primo uso,
 +    * gli scripts della liveslak "makemod", "iso2usb" e "upslak.sh" sono copiati in "/usr/local/sbin/" nella ISO per vostra comodita',
 +    * lo script "setup2hd" e i files dell' installer della Slackware sono copiati rispettivamente in "/usr/local/sbin" e "/usr/share/liveslak".
 +    * 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', sara' montato in sola lettura come tutti gli altri moduli. Il suo nome sara' "0099-slackware_zzzconf-current-x86_64.sxz" o, piu' genericamente, "0099slackware_zzzconf-${SLACKVERSION}-${ARCH}.sxz"
  
-Stage two:+== Configurare la fase di boot della Live OS ==
  
-  * Some filesystem initialization is done when the overlay has been assembled: 
-    * 'root' and 'live' user accounts are created, 
-    * an initial environment for the accounts is configured, 
-    * the desktop environment is pre-configured for first use, 
-    * the liveslak scripts "makemod", "iso2usb.sh" and "upslak.sh" are copied to "/usr/local/sbin/" in the ISO for your convenience, 
-    * the "setup2hd" script and the Slackware installer files are copied to "/usr/local/sbin" and "/usr/share/liveslak" respectively. 
-    * 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 "0099-slackware_zzzconf-current-x86_64.sxz" or more generically "0099-slackware_zzzconf-${SLACKVERSION}-${ARCH}.sxz" 
  
 +Fase tre:
  
-== Configure the boot stage of the Live OS ==+  * viene generato un initrd, contenente uno script di "init" modificato (altre distro Live lo chiamano "linuxrc script") che ri-assembla il filesystem di overlay al boot e configura la Live OS a seconda dei parametri di boot (lingua, tastiera, fuso orario, runlevel, ...) 
 +  * 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 "init" script (other Live distros call it a "linuxrc script") which re-assembles the overlay filesystem on boot and configures the Live OS according to the boot parameters (language, keyboard, timezone, runlevel, ...) +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 "isohybrid" viene lanciato sulla ISO cosicche' voi potrete copiare la ISO con "dd" o "cp" su una penna USB e di conseguenza creare un media USB bootabile.
  
-== 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 "isohybrid" command is run on the ISO so that you can "dd" or "cp" the ISO to a USB stick and thus create a bootable USB media. 
  
-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" e' spiegato in dettaglio in un precedente paragrafo "Trsferire il contenuto della ISO su una penna USB".
  
-=== iso2usb.sh ===+Questa sezione spiega come lo script modifichi la ISO per le funzionalita' aggiuntive della USB.
  
  
-The second script:+== Layout della chiavetta USB ==
  
-The "iso2usb.sh" script's runtime usage is explained in detail in previous paragraph "Transfering ISO content to USB stick".+Lo script "iso2usb.sh" cancella e ri-partiziona la penna USB meno che non vengano usati i parametri "-r" o //refresh//. Vedi la sezione "[[#Trasferire il contenuto di una ISO su una penna USB|Trasferire il contenuto di una ISO su una penna USB]]per una spiegazione di tutte le impostazioni da linea di comando\\ Lo script creera' 3 partizioni:
  
-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://ftp.osuosl.org/pub/slackware/slackware64-current/README_CRYPT.TXT|README_CRYPT.TXT]] sul vostro DVD Slackware per maggiori informazioni sui LUKS keyfile). 
 +  * 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' i moduli liveslak, lo spazio di archiviazione persistente e, opzionalmente, la vostra directory home criptata. Potete usare il resto dello spazio libero di questo filesystem Linux //ext4// per metterci tutto quello che volete.
  
-== 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, rufus, unetbootin), che dichiarano di essere in grado di mischiare diverse Live OS su una singola penna USB e renderle funzionanti in un setup multi-boot, attualmente non supportano liveslak.
  
-The "iso2usb.sh" script wipes and re-partitions the USB stick unless the "-r" or //refresh// parameter is used.  See section "[[#transfering_iso_content_to_usb_stick|Transfering ISO content to USB stick]]" for an explanation of all commandline switches. \\ The script will create 3 partitions: 
  
-  * First partition: a small (1 MB in size) FAT partition which  is not used for Slackware Live Edition.  It can be used by an alternative bootloader if needed.  You can also store your LUKS keyfile on it to unlock a LUKS-encrypted Slackware Linux computer (see the [[http://ftp.osuosl.org/pub/slackware/slackware64-current/README_CRYPT.TXT|README_CRYPT.TXT]] file on your Slackware DVD for more information on LUKS keyfiles). +== Montare un filesystem in un container criptato ==
-  * 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's free space to store anything you like.+
  
-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 multibootusbrufusunetbootinthat claim to be able to mix several Live OS'es on a single USB stick and make them all work in a multi-boot setupare not currently supporting liveslak.+Lo script creera' un file di dimensione richiesta nella root della partizione Live usando il comando 'dd'Il comando 'cryptsetup luksCreate' inizializzera' la cifratura, che fara' in modo che lo script vi chieda "se siete sicuri, digitate YES in maiuscolo", dopodiche' dovrete inserire una passphrase tre volte (due per l' inizializzazioneuna per l' apertura del container). Se il container e' usato per una /home criptatail nome del suo file sara' "slhome.img". Lo script copiera' il contenuto esistente della /home della ISO nel filesystem del container che sara' montato piu' tardi sulla /home della ISO (coprendo quindi la /home esistente)
 +Il Live OS eistruito per decriptare il container e montare il filesystem. Questo e' fatto editando il file "/luksdev" nell' initrd e aggiungendo una linea: "/slhome.img"
 +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 in altri posti del filesystem della ISO. Affinche' tutto cio' funzioni, dovete editare il file "/luksdev" e aggiungere una linea "/vostro/container.img:/vostro/mountpoint", cioe'il path del container e la directory target per il mount su una singola linea, separati dai due punti. Lo scritp di init Live creera' un mount pointnel caso sia mancante.
  
-== 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 'dd' command.  The 'cryptsetup luksCreate' command will initialize the encryption, which causes the script to prompt you with "are you sure, type uppercase YES" after which an encryption passphrase must be entered three times (two for intializing, and one for opening the container). +== Utilizzare un file container per immagazzinare dati persistenti ==
-If the container is used for an encrypted /home, its filename will be "slhome.img" The script will copy the existing content of the ISO's /home into the container's filesystem which will later be mounted on top of the ISO's /home (thereby masking the existing /home). +
-The Live OS is instructed to decrypt the container and mount the filesystem.  This is done by editing the file "/luksdev" in the initrd and adding a line: "/slhome.img"+
-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.  In order for this to work, you need to edit the "/luksdev" file and add a line "/your/container.img:/your/mountpoint" i.e. container path and the target mount directory on a single line, separated by a colon.  The Live init script will create the mount point if it is missing.+
  
-== Using a container file for storing persistence data ==+Esiste un secondo tipo di container cifrato, che puo' essere usato per immagazzinare i vostri dati persistenti. Lo script di init della Live controllera' se sia necessario abilitare la persistenza in questo ordine: 
 +  - il filesystem USB e' scrivibile? Se si', 
 +    - esiste una directory /persistence? Se si', usala; altrimenti, 
 +    - 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' USB ==
-  - is the USB filesystem writable?  If so, +
-    - does a directory /persistence exist? If so, use that; if not, +
-    - does a file /persistence.img exist?  If so, mount the file and if it is an encrypted container, ask for a passphrase during boot. +
- +
-== Adding USB wait time == +
- +
-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.  The script can optionally add more wait time.  It does this by editing the file "wait-for-root" in the initrd and updating the value which is stored there (by default "5" is written there by the "make_slackware_live.sh" script).+
  
 +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 "wait-for-root" nell' initrd e aggiornando il valore che e' vi e' contenuto (di default "5" e' scritto la' dallo script "make_slackware_live.sh").
  
 === makemod === === makemod ===
  
 +Il terzo script:
  
-The third script:+Lo script "makemod" vi permette di creare un modulo Slackware Live facilmente, con un pacchetto Slackware o un albero di directory come parametro di input.
  
-The "makemod" script allows you to create a Slackware Live module easily, with a Slackware package or a directory tree as its input parameter.+Utilizzo: 
 +  # makemod <nome_pacchetto|directory> nome_modulo.sxz
  
-Usage: +  * Il primo parametro e' il percorso completo di un pacchetto Slackware, oppure una directory. 
-  # makemod <packagename|directory> modulename.sxz+    * Se il nome di un pacchetto viene passato come primo parametro, sara' installato in una directory temporanea utilizzando l' "installpkg" di Slackware. Il contenuto della directory temporanea sara' squashato in un modulo dal programma "squashfs"
 +    * Se viene passato il nome di una directory, il suo contenuto sara' squashato in un modulo dal programma "squashfs"
 +  * Il secondo parametro e' il nome del percorso completo del modulo di output che sara' creato.
  
-  * The first parameter is either the full path to a Slackware package, or else a directory. +Potete copiare il modulo che avete appena creato (tenendo mente le convenzioni sui nomi dei file per i moduli della Slackware Live, vedete il paragrafo "Formato dei moduli della Slackware Live"nella directory optional/ oppure addon/ del vostro Live OS. Se lo copiate nella directory optional/ addon/ dei sorgenti della liveslak, allora "make_slackware_live.sh" usera' il modulo quando creera' l' immagine ISO.
-    * If a packagename is supplied as first parameter, it will be installed into a temporary directory using Slackware's "installpkg". The content of the temporary directory will be squashed into a module by the "squashfs" program. +
-    * If a directoryname is supplied, its content will be squashed into a module by the "squashfs" program.. +
-  * The second parameter is the full pathname of the output module which will be created. +
- +
-You can copy the module you just created (minding the filename conventions for a Slackware Live modulesee paragraph "Slackware Live module format"to either the optional/ or to the addon/ directory of your Live OS. If you copy it to the optional/ or addon/ directory of the liveslak sources then "make_slackware_live.sh" will use the module when creating the ISO image.+
  
  
 === setup2hd === === setup2hd ===
  
 +Il quarto script:
  
-The fourth script+Lo script "setup2hd" e' un installer di Slackware modificatoin modo da farvi trovare a vostro agio con il processoLa sezione 'SOURCE' offre due tipi di sceltauna normale installazione di Slackware da rete, utilizzando un server NFS, HTTP, FTP Samba, oppure l' installazione della live che state utilzzandoLo script sa dove trovare i moduli squashfs, cosicche' la selezione "Install Live OS" non vi chidera' di inserire ulteriori inputs. 
- +  * L' installazione di rete di Slackware e' identica a quella del medium ufficiale di Slackware
-The "setup2hd" script is a modified Slackware installerso you will be comfortable with the process The 'SOURCE' section offers two types of choices a regular Slackware network installation using a NFS, HTTP, FTP or Samba serveras well as a choice of installing the Live OS which you are runningThe script knows where to find the squashfs modulesso the "Install Live OS" selection will not prompt further inputs. +  * Se scegliete di installare la Live OS, allora dopo che selezionerete la/e partizione/i oggettoogni modulo attivo della specifica variante della Live OS (SLACKWARE, KTOWN, MATE, ...) sara' estratto sul disco fisso. 
-  * The Slackware network installation is identical to that of the official Slackware installation medium. +Dopo che l' estrazione sara' completatalo script fara' il sommario di quanti moduli sono stati estrattiMostrera' inoltre un comando di esempio per estrarre ogni modulo inattivo o disabilitato rimanente a mano. 
-  * If you chose to install the Live OS, then after you select the target partition(s)every active module of the Live OS variant (SLACKWARE, KTOWN, MATE, ...) is extracted to the hard drive After extraction has completedthe script summarizes how many modules have been extracted It will also show an example command to extract any remaining inactive or disabled modules manually The final step in the installation is again the stock Slackware installer which kicks off the Slackware configuration scripts.+Lo step finale nell' installazione e' ancora l' installer stock di Slackware, il quale fara' partire gli scripts di configurazione di Slackware.
  
  
 === pxeserver === === pxeserver ===
  
 +Il quinto script:
  
-The fifth script+Lo script ''pxeserver'' funziona nel seguente modo
- +  * Ha bisogno di una rete cablatail boot PXE da wireless e' impossibile
-The ''pxeserver'' script works as follows+  * Lo script pxeserver provera' trovare un' interfaccia di rete cablatapotete esplicitamente passargli un nome di interfaccia come parametro allo script (opzionale). 
-  * It requires a wired networkwireless PXE boot is impossible+  * Se vengono rilevate interfacce di rete cablate multiple, una finestra dialog chiedera' all' utente di scegliere quella giusta
-  * The pxeserver script tries to find wired interfaceyou can pass an explicit interfacename as parameter to the script (optional). +  * Per l' interfaccia scelta verra' fatto un check della configurazione con DHCP; 
-  * If multiple wired interfaces are detecteddialog asks the user to select the right one+    * Se verra' trovata una configurazione DHCP, allora il pxeserver non attiverail suo DHCP, affidandosi invece al DHCP server della vostra rete LAN
-  * check is done for DHCP configuration of this wired interface+    * Se non verra' trovata nessuna configurazione DHCP, allora lo script vi chiedera' il permesso di avviare il suo DHCP server internoInoltre all' utente sar'a chiesto di configurare un indirizzo IP per l' interfaccia di rete e le proprieta' della classe IP per il server DHCP interno
-    * If DHCP configuration is found then pxeserver will not start its own DHCP server and instead will rely on your LAN'DHCP server. +  * Lo script a quel punto avviera' il server PXEcostituito da
-    * If no DHCP config is foundthe script will ask permission to start its own internal DHCP server.  Additionally the user will be prompted to configure an IP address for the network interface and IP range properties for the internal DHCP server. +    * dnsmasq che fornira'DNS, DHCP BOOTP; 
-  * The script will then start the PXE server, comprising of+    * demoni NFS RPC; 
-    * dnsmasq providing DNS, DHCP and BOOTP; +  * Lo script rilevera' se avete una connessione di rete in uscita su un' altra interfaccia e abilitera' l' inoltro dei pacchetti IP se necessariocosicche'clients PXE avranno anch' essi accesso alla rete
-    * NFS and RPC daemons+  * La Live OS avviata via pxelinux e' configurata con parametri di boot aggiuntivi <code>
-  * The script will detect if you have an outside network connection on another interface and will enable IP forwarding if neededso that the PXE clients will also have network access+
-  * The Live OS booted via pxelinux is configured with additional boot parameters: <code>+
 nfsroot=<server_ip_address>:/mnt/livemedia nfsroot=<server_ip_address>:/mnt/livemedia
 luksvol= luksvol=
Linea 647: Linea 643:
 locale=<server_locale> locale=<server_locale>
 kbd=<server_kbd_layout> kbd=<server_kbd_layout>
-</code> Which shows that the configuration of the Live OS where the PXE server runs is largely determining the configuration of the PXE clients. +</code> Che mostrano che la configurazone della Live OS dove il server PXE gira e' largamente determinante per la configurazione dei clients PXE
-  * Note that when networkbootingthe hostname of the Live OS will be suffixed with the machine'MAC address to make the hostname of every network-booted computer unique.+  * Notate che quando fate il boot da retel' hostname della Live OS avracome suffisso l' indirizzo MAC della macchina, in modo da rendere unico l' hostname di ogni computer che faccia il boot da rete.
  
  
Linea 654: Linea 650:
  
  
-The sixth script:+Il sesto script:
  
-The "upslak.sh" script's runtime usage is explained in detail in a previous paragraph "Updating the kernel (and moreon a USB stick".+L' utilizzo a runtime dello script "upslak.sh" espiegato nel dettaglio in un paragrafo precedente "Aggiornare il kernel (e altrosu una penna USB".
  
-This section explains how the script modifies the content of the Live USB stick.+Questa sezione spiega come lo script modifica il contenuto della penna USB Live.
  
-When the script is startedit will do some sanity checks and then extracts the content of the initrd imageSome characteristics of the initrd will be recorded+Quando lo script e' avviatofara' alcuni controlli di di integrita' e poi estrarra' il contenuto dell' immagine initrd. Alcune caratteristiche dell' initrd saranno registrate
-  * existence of previously backed-up kernel modules is checked+  * sara' verficata l' esistenza di moduli del kernel precedentemente backuppati
-  * template variables and their values are obtained from the init sctript+  * saranno recuperate le variabili dei template, coi loro valori dallo script di init, 
-  * the current USB wait time is checked+  * sara' verificato il tempo di attesa dell' USB corrente
-Depending on the parameters passed to the script, it will then perform one or more of the following actions:+A seconda dei parametri passati allo script, esso eseguira una o piu' delle seguenti azioni:
  
-== Update the kernel and moules == 
  
-You can provide a new kernel and its modules in two ways.  The '-k' option accepts a kernel image file or else a Slackware package contaning a kernel.  The '-m' option accepts a directory tree of modules below "/lib/modules/, or else a Slackware package containing kernel modules. +== Aggiornare il kernel e i moduli ==
-If there is sufficient space on the Linux and EFI partitions, the script will make a backup of the current kernel and modules by renaming the kernel and the module directory with a ".prev" suffix.  Sufficient space means that at least 10 MB of free space must remain on the partition(s) after making the backup and installing the new kernel plus modules. If space is an issue, you can skip making a backup by providing the '-b' parameter to the script (a possibly unsafe choice).+
  
-== Restore backed-up kernel and modules ==+Potete fornire un nuovo kernel e i suoi moduli in due modi. L' opzione '-k' accetta un file immagine del kernel oppure un pacchetto di Slackware contenente un kernel. L' opzione '-m' accetta un albero di directory dei moduli sotto "/lib/modules", oppure un pacchetto Slackware contenente moduli del kernel. 
 +Se c'e' sufficiente sapzione sulle partizioni Linux e EFI, lo script fara' un backup del kernel e dei moduli correnti rinominando la directory che li contiene con un suffisso ".prev"
 +Spazio sufficiente significa che devono rimanere almeno 10 MB di spazio libero sulla/e partizione/i dopo aver fatto il backup e installato il nuovo kernel piu' i moduli. Se lo spazio e' un problema, potete saltare il backup fornendo il parametro '-b' allo script (come possibile scelta insicura).
  
-If a backup was made of kernel and modules, the upslak.sh script is able to restore these using the '-r' option, thereby removing the replacements.  This comes in handy when the replacement kernel turns out to be non-functional.+== Restorare kernel e moduli backuppati ==
  
-== Add network support modules ==+Se e' stato fatto un backup del kernel e dei moduli, lo script upslak.sh e' in grado di restorarli usando l' opzione '-r', rimuovendo quindi quelli che li avevano rimpiazzati. Questo torna utile quando il kernel nuovo si rivela non funzionante.
  
-This should normally not be needed.  By default, all liveslak ISO images have network support built-in.  But customized Live ISO images may be shipped without network support initially.  If you want your Live OS to be PXE-bootable you need network support in the kernel.  Use the '-n' option.+== Aggiungere i moduli per il supporto di rete ==
  
-== Increase (or decrease) USB wait time ==+Questo noromalmente non dovrebbe servire. Di default, tutte le immagini ISO liveslak hanno il supporto per la rete integrato. Ma le immagini ISO Live customizzate possono essere fornite senza supporto inizialmente. Se volete che la vostra Live OS sia bootabile da PXE avrete bisogno il supporto della rete nel kernel. Utilizzate l' opzione '-n'.
  
-Similar to the functionality of the "iso2usb.sh" script, the "upslak.sh" script is able to alter the USB wait time at boot using the '-w' option.+== Aumentare (o diminuire) il tempo di attesa della USB ==
  
-== Replace the liveslak init script ==+Similmente alla funzionalita' dello script "iso2usb.sh", lo script "upslak.sh" e' in grado di alterare il tempo di attesa dell' USB al boot, utilizzando l' opzione '-w'.
  
-The init script inside the initrd image is the core of liveslak.  The init script prepares the Live filesystem and configures several run-time OS parameters.  If you have made modifications to this init script you can easily replace the default init script with your own script using the '-i' option.  The "upslak.sh" script is smart enough to recognize a iveslak template as input.  The ".tpl" extension of some liveslak files means that these are templates.  They are not usable as-is, because they contain placeholder strings like "@VERSION@" or "@DISTRO@" that first need to be replaced with real values.  The "upslak.sh" script will take care of these substitutions.+== Rimpiazzare lo script di init della liveslak ==
  
-== Wrap persistence data into new squashfs module ==+Lo script di init dentro l' immagine initrd e' il nucleo della liveslak. Quello script di init prepara il filesystem della Live e configura diversi paramentri del runtime dell' OS. Se avete fatto delle modifiche questo script di init potete facilmente rimpiazzare l' init script di default con il vostro, utilizzando l' opzione '-i'. Lo script "upslak.sh" e' abbastanza smart da riconoscere un template liveslak come input. L' estensione ".tpl" di alcuni file della liveslak significa che questi sono templates. Non sono utilizzabili cosi' come sono, perche' contengono delle stringhe segnaposto come "@VERSION@" o "@DISTRO@" che necessitano prima di essere espanse con valori reali. Lo script "upslack.sh" si prendera' cura di queste sostituzioni.
  
-Persistence data will accumulate over time on the USB stick.  That is perfectly OK, and you can wipe it on boot if that is needed.  But sometimes you want to capture the packages you installed into the persistent storage, and create a new squashfs module out of them.  The "upslak.sh" script is able to move your persistence data into a new squashfs module using the '-p' option.  The new module will be created in the "/liveslak/addons/" directory so that it will be loaded into the Live OS everytime your USB Live boots up.  After creating the new module, the persistence store will be re-initialized (i.e. its content will be erased on the next boot).  The new module's name is time-stamped (/liveslak/addons/0099-slackware_customchanges-yyyymmddHHMMSS.sxz where yyyymmddHHMMSS is the timestamp) so that this action can be repeated as many times as you want.+== Contenere i dati persistenti in un nuovo modulo squashfs ==
  
 +I dati persistenti si accumuleranno lungo il tempo sulla penna USB. Questo e' perfettamente normale, e potete cancellarli al boot se volete. Ma talvolta potreste voler prendere i pacchetti installati nello storage persistente e creare da essi un nuovo modulo squashfs. Lo script "upslak.sh" e' in grado di di spostare i vostri dati persistenti in un nuovo modulo squashfs, usando l' opzione '-p'. Il nuovo modulo sara' creato nella directory "/liveslak/addons/", cosicche' esso sara' caricato nella Live OS ogni volta che la Live USB si avviera'. Dopo la creazione del nuovo modulo, lo storage di persistenza sara' reinizializzato (cioe' il suo contenuto sara' cancellato al successivo boot). Il nome del nuovo modulo avra' un timestamp (/liveslak/addons/0099-slackware_customchanges-yyyymmddHHMMSS.sxz dove yyyymmddHHMMSS e' il timestamp) cosicche' questa azione possa essere ripetuta tutte le volte che volete.
  
 ==== Creating a Live ISO from scratch ==== ==== Creating a Live ISO from scratch ====
 it:slackware:liveslak ()