wine
Bannato a Vita
- Messaggi
- 2,024
- Reazioni
- 719
- Punteggio
- 72
Dracut
Introduzione
Usare Dracut
A differenza del termine root all'inizio indica dove si trova la partizione di boot, in questo caso indica il primo hd e terza partizione (ricordate il principio dello 0 come primo numero?). La voce hd DOVREBBE essere indipendente dal tipo di connessione utilizzata dal disco (quindi non cambia in caso di connessione sata, pata, scsi, pci-e).Introduzione
Visto che in giro per la rete non si trova niente, nemmeno sul wiki di ArchLinux (e questo è strano) scrivo una guida su Dracut.
Innanzitutto per chi non sa e vorrebbe sapere cos'è l'initramfs:
Cos'è Dracut? (Dal wiki della sua pagina su kernel.org, con tanto di traduzione fatta a mano ;) ) :
Innanzitutto per chi non sa e vorrebbe sapere cos'è l'initramfs:
Dal wiki di Arch:
L'initramfs (disco ram iniziale in italiano) è essenzialmente un minuscolo ambiente a livello utente che carica cari moduli del kernel e imposta il necessario prima di lasciare il controllo all'init-system. Cosa sia l'init system è irrilevante ai fini della guida, conseguentemente non verrà trattato. D'altronde "Google is your friend" ;)
Cos'è Dracut? (Dal wiki della sua pagina su kernel.org, con tanto di traduzione fatta a mano ;) ) :
Dracut è un sistema di creazione dell'initramfs gestito dagli eventi. A differenza degli altri creatori dell'initramfs (ArchLinux usa mkinitcpio) il suo obiettivo è di inserire meno cose possibile nell'initramfs con l'obiettivo di rendere l'avvio della macchina il più snello e più veloce possibile.
Disclaimer
Dracut è un tool che che lavora a basso livello, modificando alcuni file essenziali per l'avvio del sistema. Anche se questa guida farà in modo di mantenere almeno un modo sicuro di avviare la macchina senza problemi, nè IO, nè Tom's hardware, nè i colleghi Linari che vi aiuteranno a risolvere eventuali dubbi/problemi, ci prendiamo responsabilità in caso di danni al sistema operativo. Inoltre si consiglia di effettuare un backup dei propri dati o, al limite, tenere la home su una partizione separata.
Questa guida è fatta su ArchLinux, su distro differenti, anche se dubito, il processo potrebbe essere diverso e, quindi, andrebbe adattato.
Bene, dopo questo papiro iniziale iniziamo la guida vera e propria.
Per installare il pacchetto c'è bisogno di AUR, dato che, non essendo un pacchetto che gode di particolare fama e non essendo molto utilizzato, non è incluso nel repo community.
Il sottoscritto ha utilizzato yaourt per la compilazione, uno degli strumenti per la compilazione del PKGBUILD più usati.
Per l'installazione procediamo così:
In questo modo si installerà l'ultima versione disponibile sul server gitorious (al momento rimanda alla 019, ma è uscita la 020).
Generalmente si sconsiglia di fare la compilazione con i diritti di superuser, ma, dato che il sottoscritto non ha mai capito come fare, attendo lumi dai più esperti (anche per l'installazione dopo la compilazione) :inchino:.
Bene se l'installazione è andata per il verso giusto potete proseguire, altrimenti postate pure, per quanto possibile cercherò/emo di aiutarvi.
Aprendo un terminale e digitando dracut vi verrà fuori una bella lista di opzioni, che racchiuderò qui sotto:
Se avete visto la lista dei comandi, vi accorgerete che è proprio succulenta.
Mi soffermo su quelli più interessanti e che sicuramente useranno tutti:
--force ( o -f) :
--modules (o -m) :
--omit (-o):
--bzip2 --gzip --lzma --xz:
Per il momento mi fermo con la scrittura delle opzioni e domani spiegherò TUTTI i metodi e le opzioni messi a disposizione. Ora spiego solo quelli che ho omesso IO.
lvm:
mdraid:
dm:
crypt:
virtfs:
fcoe:
iscsi
Questa guida è fatta su ArchLinux, su distro differenti, anche se dubito, il processo potrebbe essere diverso e, quindi, andrebbe adattato.
Bene, dopo questo papiro iniziale iniziamo la guida vera e propria.
Per installare il pacchetto c'è bisogno di AUR, dato che, non essendo un pacchetto che gode di particolare fama e non essendo molto utilizzato, non è incluso nel repo community.
Il sottoscritto ha utilizzato yaourt per la compilazione, uno degli strumenti per la compilazione del PKGBUILD più usati.
Per l'installazione procediamo così:
Codice:
sudo yaourt -S dracut-git
In questo modo si installerà l'ultima versione disponibile sul server gitorious (al momento rimanda alla 019, ma è uscita la 020).
Generalmente si sconsiglia di fare la compilazione con i diritti di superuser, ma, dato che il sottoscritto non ha mai capito come fare, attendo lumi dai più esperti (anche per l'installazione dopo la compilazione) :inchino:.
Bene se l'installazione è andata per il verso giusto potete proseguire, altrimenti postate pure, per quanto possibile cercherò/emo di aiutarvi.
Aprendo un terminale e digitando dracut vi verrà fuori una bella lista di opzioni, che racchiuderò qui sotto:
Codice:
Version: 019
Creates initial ramdisk images for preloading modules
-f, --force Overwrite existing initramfs file.
-m, --modules
[LIST] Specify a space-separated list of dracut modules to
call when building the initramfs. Modules are located
in /usr/lib/dracut/modules.d.
-o, --omit
[LIST] Omit a space-separated list of dracut modules.
-a, --add
[LIST] Add a space-separated list of dracut modules.
-d, --drivers
[LIST] Specify a space-separated list of kernel modules to
exclusively include in the initramfs.
--add-drivers
[LIST] Specify a space-separated list of kernel
modules to add to the initramfs.
--omit-drivers
[LIST] Specify a space-separated list of kernel
modules not to add to the initramfs.
--filesystems
[LIST] Specify a space-separated list of kernel filesystem
modules to exclusively include in the generic
initramfs.
-k, --kmoddir [DIR] Specify the directory, where to look for kernel
modules
--fwdir [DIR] Specify additional directories, where to look for
firmwares, separated by :
--kernel-only Only install kernel drivers and firmware files
--no-kernel Do not install kernel drivers and firmware files
--strip Strip binaries in the initramfs
--nostrip Do not strip binaries in the initramfs (default)
--prefix [DIR] Prefix initramfs files with [DIR]
--noprefix Do not prefix initramfs files (default)
--mdadmconf Include local /etc/mdadm.conf
--nomdadmconf Do not include local /etc/mdadm.conf
--lvmconf Include local /etc/lvm/lvm.conf
--nolvmconf Do not include local /etc/lvm/lvm.conf
--fscks
[LIST] Add a space-separated list of fsck helpers.
--nofscks Inhibit installation of any fsck helpers.
-h, --help This message
--debug Output debug information of the build process
--profile Output profile information of the build process
-L, --stdlog [0-6] Specify logging level (to standard error)
0 - suppress any messages
1 - only fatal errors
2 - all errors
3 - warnings
4 - info (default)
5 - debug info (here starts lots of output)
6 - trace info (and even more)
-v, --verbose Increase verbosity level (default is info(4))
-q, --quiet Decrease verbosity level (default is info(4))
-c, --conf [FILE] Specify configuration file to use.
Default: /etc/dracut.conf
--confdir [DIR] Specify configuration directory to use *.conf files
from. Default: /etc/dracut.conf.d
--tmpdir [DIR] Temporary directory to be used instead of default
/var/tmp.
-l, --local Local mode. Use modules from the current working
directory instead of the system-wide installed in
/usr/lib/dracut/modules.d.
Useful when running dracut from a git checkout.
-H, --hostonly Host-Only mode: Install only what is needed for
booting the local host instead of a generic host.
--no-hostonly Disables Host-Only mode
--fstab Use /etc/fstab to determine the root device.
--add-fstab [FILE] Add file to the initramfs fstab
--mount "[DEV] [MP] [FSTYPE] [FSOPTS]"
Mount device [DEV] on mountpoint [MP] with filesystem
[FSTYPE] and options [FSOPTS] in the initramfs
-i, --include [SOURCE] [TARGET]
Include the files in the SOURCE directory into the
Target directory in the final initramfs.
If SOURCE is a file, it will be installed to TARGET
in the final initramfs.
-I, --install
[LIST] Install the space separated list of files into the
initramfs.
--gzip Compress the generated initramfs using gzip.
This will be done by default, unless another
compression option or --no-compress is passed.
--bzip2 Compress the generated initramfs using bzip2.
Make sure your kernel has bzip2 decompression support
compiled in, otherwise you will not be able to boot.
--lzma Compress the generated initramfs using lzma.
Make sure your kernel has lzma support compiled in,
otherwise you will not be able to boot.
--xz Compress the generated initramfs using xz.
Make sure that your kernel has xz support compiled
in, otherwise you will not be able to boot.
--compress [COMPRESSION] Compress the generated initramfs with the
passed compression program. Make sure your kernel
knows how to decompress the generated initramfs,
otherwise you will not be able to boot.
--no-compress Do not compress the generated initramfs. This will
override any other compression options.
--list-modules List all available dracut modules.
-M, --show-modules Print included module's name to standard output during
build.
--keep Keep the temporary initramfs for debugging purposes
--printsize Print out the module install size
--sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module)
If
[LIST] has multiple arguments, then you have to put these in quotes.
For example:
# dracut --add-drivers "module1 module2" ...
Se avete visto la lista dei comandi, vi accorgerete che è proprio succulenta.
Mi soffermo su quelli più interessanti e che sicuramente useranno tutti:
--force ( o -f) :
Necessario per sovrascrivere l'initramfs nel caso in cui ne fosse già presente una con lo stesso nome in /boot
--modules (o -m) :
Usato per indicare a dracut dei moduli specifici da caricare per l'initramfs, i moduli forniti da dracut si trovano in /usr/lib/dracut/modules.d. Per indicare più moduli si usa la sintassi "modulo1 modulo2 ... modulo48489865514548974"
--omit (-o):
Uno dei comandi (se non IL comando) più usato. Esso permette infatti di omettere dei moduli dall'initramfs. Infatti Dracut non farà alcun controllo dei moduli necessari, dovete quindi essere voi a dire cosa mettere o meno, altrimenti riempie l'initramfs, creando un camaleonte
--bzip2 --gzip --lzma --xz:
Permettono di comprimere l'initramfs rispettivamente in bzip2, gzip, lzma, xz. Di default, se non date nessuna opzione, dracut comprimerà l'immagine in gzip. Dai miei test il miglior metodo, come spazio occupato, è risultato xz, che però comprime parecchio, quindi si perderà molto tempo per la decompressione. Motivo per cui ho preferito il più veloce, perchè anche se occupa 3MB in più rende l'avvio più veloce di 1 secondo. Questa opzione equivale a --compress-algoritmo_di_compressione
Per il momento mi fermo con la scrittura delle opzioni e domani spiegherò TUTTI i metodi e le opzioni messi a disposizione. Ora spiego solo quelli che ho omesso IO.
lvm:
Serve per la gestione dei volumi logici virtuali, creati con lo scopo di sopperire al problema del MBR dei BIOS classici (L'UEFI supporta anche GPT che sopperisce a questo problema), che consente la creazione di 4 partizioni massime per disco (sia esso fisico o RAID). Quindi se il disco di avvio della vostra distro ha 5 partizioni o più e condividete l'HDD in dual boot con Windows XP/Vista/7 state usando LVM, in ogni caso consiglio sempre di controllare con un nuon programma/LiveCD di partizionamento
mdraid:
Uno dei tanti sistemi per lo sfruttamento del RAID su linux. MD corrisponde a Multiple Devices, è uno dei sistemi non standard per creare, monitrare e cancellare RAID 10 (o 1 + 0, fate voi, la sostanza è sempre quella). Se avete un RAID o lo in futuro credete di volerlo creare è da tenere, altrimenti no.
dm:
Permette di utilizzare su kernel Linux i RAID creati tramite il BIOS attraverso l'utility fakeraid (che l'utente ovviamente non vede). La maggiorparte dei radi creati dalle schede madri appartiene a questo tipo, in quanto i RAID standard non sono supportati da Windows. In pratica il controller crea un RAID finto (you don't say?) per permettere a Windows di riconoscerlo. La situazione con quell'OS potrebbe comunque essere migliorata.
Una lsita dei controller che sfruttano fakeraid è disponibile qui: Breve guida a DMRAID - Slacky.eu . Conseguentemente se avete un RAID (o avete intenzione di farlo o monitorarlo) questo modulo è da mantenere, altrimenti dritto nel cestino
Una lsita dei controller che sfruttano fakeraid è disponibile qui: Breve guida a DMRAID - Slacky.eu . Conseguentemente se avete un RAID (o avete intenzione di farlo o monitorarlo) questo modulo è da mantenere, altrimenti dritto nel cestino
crypt:
Come dice il nome serve per gestire le partizioni (e dischi) criptate. Usa le specifiche LUKS per controllare i dischi criptati. Come al solito, è necessario se avete dei dispositivi criptati o volete/dovrete gestirne in futuro.
virtfs:
E' un modulo che permette di avere dei file system virtuali su linux. Si trovano in genere sotto /home/virtfs, sono accessibili solo da remoto e eliminarli in locale significa generalmente compromettere l'intero sistema. Come avrete intuito è destinato ai server, se non sfruttate sistemi di questo tipo è totalmente inutile.
fcoe:
Sinonimo di Fibre Channel Over Ethernet, è un protocollo usato in ambito server che ha poco a che vedere con la fibra ottica. Serve a trasportare pacchetti Fibre Channel tramite ethernet (yds again?) alla velocità massima di 10 gigabite al secondo. Necessita di costose schede di rete e appositi switch. Inoltre non è consentita la perdita di pacchetti. Completamente eliminabile in ambito domestico.
iscsi
Modulo che permette la gestione di dischi SCSI tramite Internet. Se sfruttate questo tipo di connessioni attraverso la rete (ad esempio gestite un server che si appoggia a quest'interfaccia) è da tenere assoolutamente, altrimenti è eliminabile. In ogni caso dai miei test l'eliminazione AUMENTA le dimensioni dell'initramfs, anche se di poco.
Usare Dracut
Usare Dracut è molto semplice, per richiamarlo da terminale basta il comando
Che però, se non viene configurato il file di configurazione rimanda al manuale (equivale a "dracut --help").
Per le prove ci avvarremo quindi delle opzioni messe a disposizione da questo affascianante progetto. Il comando da dare è
Innanzitutto notare il sudo: è necessario perchè va a scrivere file all'ESTERNO della nostra home, precisamente andremo a scrivere l'initramfs in /boot, dato che all'esterno è inutile. Consiglio di non utilizzare il nome "initramfs-linux" perchè altrimenti dovrete forzare l'operazione e in caso di problemi o usate l'initramfs fallback (che non scriveremo per ovvi motivi) oppure sarete fregati e dovrete sovrascrivere i file da un OS esterno. Va dato l'intero percorso, quindi dovrete dare /boot/foo.img (sostituite foo con un nome di vostra scelta. poi segnatevelo o ricordatelo). Se il file esiste e quindi va sovrascritto aggiungete --force al termine del comando.
Consiglio comunque di tenere di initramfs, una standard e una custom, andando a riscrivere sempre quest'ultima.
Nome kernel si riferisce al solo nome che ha la cartella contenente i moduli del kernel sotto /lib/modules. Quindi se la cartella si chiama 3.4.4-2-ARCH (come nel mio caso) dovrete scrivere SOLO il nome della cartella, non tutto il percorso
Tramite il comando:
Con questo comando diremo a dracut di: comprimere l'immagine in gzip (--gzip, dracut lo farebbe di default, ma è sempre meglio essere chiari), scriverla in /boot con il nome "initramfs-linus.img" e di prendere i moduli del kernel necessari da /lib/modules/3.4.4-2-ARCH e omettere (non mettere) i moduli relativi al fakeraid, al raid, ai volumi logici, al criptaggio, ai file system virtuali e al Fibre Channel via Ethernet.
Per ora la guida si ferma qui, in quanto l'ora è tarda, continerò domani (probabilmente di sera, di giorno mi attendono i libri), spero di completarla conseguentemente.
Posto intanto i miei risultati. Sicuramente, studiando al meglio i moduli forniti è possibile fare di meglio.
La mia situazione di base era un'immagine creata con mkinitcpio (il modo standard di arch per initramfs) con una leggerissima ottimizzazione, in quanto ho eliminato il supporto a scsi e pata (in quanto la mobo non li supporta). La compressione era in gzip.
Il tempo di caricamento l'ho misurato a mano (con lo smartphone) fino alla visualizzazione del desktop di KDE, notoriamente abbastanza pesante all'avvio. Considerate quindi il tempo come maggiorato di qualcosa compreso tra 0,2 e 0,5 secondi (il tempo di coordinazione occhio-mano), quindi al massimo togliete un minimo di tempo.
Situazione base: peso di 2.9 MB e tempo di circa 28,8 secondi.
xz : peso di 18 MB e tempo di circa 30,2 secondi. (xz è una compressione pesante e lenta da decomprimere)
gzip : peso di 20.3 MB e tempo di circa 28,5 secondi.
lzma : peso di 17,4 MB e tempo di circa 29.5 secondi (come potete vedere è il più leggero ma non è velocissimo)
bzip2 : peso di 19.6 MB e tempo di circa 30.3 secondi
Da qui in poi, vista l'indubbia convenienza di gzip, i test sono stati fatti solo con gzip ed eliminando vari moduli.
Togliendo "lvm", "mdraid", "dm" e "crypt": peso di 17.8 MB e tempo di 27.5 secondi.
Togliendo "lvm", "mdraid", "dm", "crypt", "virtfs" e "fcoe": peso di 14.0 MB e tempo di 27 secondi.
Tutti i test sono fatti con partizione di boot formattata in etx2, quindi probabilmente con ext4 probabilmente il boot è più veloce, conseguentemente il guadagno potrebbe essere più risicato.
Che dite ne vale la pena? Senza sforzi abbiamo ottenuto 2 secondi in meno al boot, con un (forse) ampio margine d'azione ancora possibile e riducibili ulteriormente ottimizzando il sistema di init (magari usando anche l'ottimo systemd).
Codice:
[SIZE=2]d[/SIZE]racut
Che però, se non viene configurato il file di configurazione rimanda al manuale (equivale a "dracut --help").
Per le prove ci avvarremo quindi delle opzioni messe a disposizione da questo affascianante progetto. Il comando da dare è
Codice:
[SIZE=2]s[/SIZE]udo [SIZE=2]d[/SIZE]racut <cartella_dove_scrivere_initramfs_e_nome> <nome kernel>
Innanzitutto notare il sudo: è necessario perchè va a scrivere file all'ESTERNO della nostra home, precisamente andremo a scrivere l'initramfs in /boot, dato che all'esterno è inutile. Consiglio di non utilizzare il nome "initramfs-linux" perchè altrimenti dovrete forzare l'operazione e in caso di problemi o usate l'initramfs fallback (che non scriveremo per ovvi motivi) oppure sarete fregati e dovrete sovrascrivere i file da un OS esterno. Va dato l'intero percorso, quindi dovrete dare /boot/foo.img (sostituite foo con un nome di vostra scelta. poi segnatevelo o ricordatelo). Se il file esiste e quindi va sovrascritto aggiungete --force al termine del comando.
Consiglio comunque di tenere di initramfs, una standard e una custom, andando a riscrivere sempre quest'ultima.
Nome kernel si riferisce al solo nome che ha la cartella contenente i moduli del kernel sotto /lib/modules. Quindi se la cartella si chiama 3.4.4-2-ARCH (come nel mio caso) dovrete scrivere SOLO il nome della cartella, non tutto il percorso
Tramite il comando:
Codice:
sudo dracut --gzip /boot/initramfs-linus.img 3.4.4-2-ARCH -o "lvm mdraid dm crypt virtfs fcoe"
Con questo comando diremo a dracut di: comprimere l'immagine in gzip (--gzip, dracut lo farebbe di default, ma è sempre meglio essere chiari), scriverla in /boot con il nome "initramfs-linus.img" e di prendere i moduli del kernel necessari da /lib/modules/3.4.4-2-ARCH e omettere (non mettere) i moduli relativi al fakeraid, al raid, ai volumi logici, al criptaggio, ai file system virtuali e al Fibre Channel via Ethernet.
Per ora la guida si ferma qui, in quanto l'ora è tarda, continerò domani (probabilmente di sera, di giorno mi attendono i libri), spero di completarla conseguentemente.
Posto intanto i miei risultati. Sicuramente, studiando al meglio i moduli forniti è possibile fare di meglio.
La mia situazione di base era un'immagine creata con mkinitcpio (il modo standard di arch per initramfs) con una leggerissima ottimizzazione, in quanto ho eliminato il supporto a scsi e pata (in quanto la mobo non li supporta). La compressione era in gzip.
Il tempo di caricamento l'ho misurato a mano (con lo smartphone) fino alla visualizzazione del desktop di KDE, notoriamente abbastanza pesante all'avvio. Considerate quindi il tempo come maggiorato di qualcosa compreso tra 0,2 e 0,5 secondi (il tempo di coordinazione occhio-mano), quindi al massimo togliete un minimo di tempo.
Situazione base: peso di 2.9 MB e tempo di circa 28,8 secondi.
xz : peso di 18 MB e tempo di circa 30,2 secondi. (xz è una compressione pesante e lenta da decomprimere)
gzip : peso di 20.3 MB e tempo di circa 28,5 secondi.
lzma : peso di 17,4 MB e tempo di circa 29.5 secondi (come potete vedere è il più leggero ma non è velocissimo)
bzip2 : peso di 19.6 MB e tempo di circa 30.3 secondi
Da qui in poi, vista l'indubbia convenienza di gzip, i test sono stati fatti solo con gzip ed eliminando vari moduli.
Togliendo "lvm", "mdraid", "dm" e "crypt": peso di 17.8 MB e tempo di 27.5 secondi.
Togliendo "lvm", "mdraid", "dm", "crypt", "virtfs" e "fcoe": peso di 14.0 MB e tempo di 27 secondi.
Tutti i test sono fatti con partizione di boot formattata in etx2, quindi probabilmente con ext4 probabilmente il boot è più veloce, conseguentemente il guadagno potrebbe essere più risicato.
Che dite ne vale la pena? Senza sforzi abbiamo ottenuto 2 secondi in meno al boot, con un (forse) ampio margine d'azione ancora possibile e riducibili ulteriormente ottimizzando il sistema di init (magari usando anche l'ottimo systemd).
Modificare il bootloader
C'era davvero qualuno che credeva che non avremmo modificato un file del bootloader? :asd:
A parte gli scherzi non è niente di difficile, in quanto modificheremo un semplicissimo file di testo.
Utilizzando GRUB 0.97 (o Legacy che dir voglia) il file da modificare è /boot/grub/menu.lst (è il file che contiene le varie voci che visualizzate nel bootloader). Modifichiamo la linea come segue:
Spieghiamo un po' come utilizzarla al meglio.
La linea:
Il numero 1 indica la posizione che occuperà nel bootloader, in questo caso la seconda (ricordate che in informatica il primo numero è SEMPRE lo 0, a meno di scelte progettuali diverse del programmatore). Arch Linux Dracut in questa riga non ha nessuna importanza, serve solo a noi per quando modifichiamo il file, in modo da sapere che nelle righe sotto si hanno i file creati con Dracut. Il bootloader IGNORA questa linea in quanto commentata (contiene # all'inizio) ed è bene che rimanga tale. Insomma, potete chiamarla anche pippo (o pippa) non cambierà niente al bootloader.
Questo è il nome della linea che vedrete in GRUB. Come sopra chiamarla in modo diverso non cambia niente, ma dato che è ciò che vedremo al boot è sempre meglio dargli un nome che sia riconoscibile al volo no?
A parte gli scherzi non è niente di difficile, in quanto modificheremo un semplicissimo file di testo.
Utilizzando GRUB 0.97 (o Legacy che dir voglia) il file da modificare è /boot/grub/menu.lst (è il file che contiene le varie voci che visualizzate nel bootloader). Modifichiamo la linea come segue:
Codice:
[CENTER]# (1) Arch Linux Dracut
title Arch Linux Dracut
root (hd0,2)
kernel /vmlinuz-linux root=/dev/sda4 ro
initrd /initramfs-linus.img[/CENTER]
Spieghiamo un po' come utilizzarla al meglio.
La linea:
Codice:
#(1) Arch Linux Dracut
Il numero 1 indica la posizione che occuperà nel bootloader, in questo caso la seconda (ricordate che in informatica il primo numero è SEMPRE lo 0, a meno di scelte progettuali diverse del programmatore). Arch Linux Dracut in questa riga non ha nessuna importanza, serve solo a noi per quando modifichiamo il file, in modo da sapere che nelle righe sotto si hanno i file creati con Dracut. Il bootloader IGNORA questa linea in quanto commentata (contiene # all'inizio) ed è bene che rimanga tale. Insomma, potete chiamarla anche pippo (o pippa) non cambierà niente al bootloader.
Codice:
title Arch Linux Dracut
Questo è il nome della linea che vedrete in GRUB. Come sopra chiamarla in modo diverso non cambia niente, ma dato che è ciò che vedremo al boot è sempre meglio dargli un nome che sia riconoscibile al volo no?
Codice:
[CENTER]root (hd0,2)[/CENTER]
Se la cartella /boot si trova all'interno della stessa partizione di root ovviamente metterete quel numero. Per controllare il numero della partizione e in che disco si trova potete usare un programma di partizionamento come Ggparted o KDE Partition manager, oppure un metodo più veloce e comunque sicuro è controllare le altre voci in questo menu, dato che automaticamente la distro rileva in che partizione si trova /boot
Codice:
[CENTER]kernel /vmlinuz-linux root=/dev/sda4 ro[/CENTER]
Indica il nome che ha il kernel nella partizione di boot (non c'entra con l'initramfs), nel caso in cui avete un kernel diverso da quello di Arch dovrà prendere, ovviamente, il nome che gli avrete dato. Per controllare basta andare in /boot. Nel caso di un kernel con patch di con kolivas, ad esempio, potrebbe chiamarsi vmlinux-linux-ck.
root=/dev/sda4 ro indica che la partizione di root si trova nel disco sda (se connesso tramite sata, altrimenti sarà diverso, ad esempio hda).
Ricordate la teoria dello 0 come primo numero? Bene, scordatela (per ora ;) ). I progettisti hanno deciso che per gestire le partizioni su connessione sata era meglio iniziare con il numero 1. Quindi la 4a partizione corrisponde a sda4.
"ro" al termine indica che il kernel deve essere aperto con permessi di sola lettura (a cosa serve avere il kernel con permessi di scrittura per il funzionamento del PC?).
Bene, ora passiamo all'ultima linea:
Codice:
initrd /initramfs-linus.img
Questa è la riga che ci interessa di più, infatti se per le altre linee un copia incolla da un'altra voce presente in quel file è più che sufficente, per questa dovrete inserire il nome che avrete deciso di dare all'initramfs tramite dracut.
Io che l'ho chiamata initramfs-linus.img (ricordate che l'originale era linux, ho cambiato la "x" con "s" perchè molti che sentono "linux" chiedono se si tratti di un DJ. :D ).
Configurare dracut.rc
Il file dracut.rc si trova all'interno /etc. L'altra opzione che abbiamo è creare più profili e inserirli in /etc/dracut.conf.d . Badate bene che i file di configurazione all'interno della cartella /etc/dracut.con.d quando verrà lanciato il programma "sovrascriveranno" le impostazioni del dracut.rc "standard". In questo modo potete creare una sola configurazione di base e delle configurazioni minori che apporteranno solo qualche modifica.
Cosa possiamo impostare da dracut.conf:
1 - La riduzione dell'initramfs per far sì che sia più leggera e che contenga file relativi solo al nostro PC. è possibile ridurre più di 12 MB in questo modo.
2 - Impostare le interfacce che useremo per connetterci a Internet e il metodo utilizzato. Es: eth0 e dhcp. E' altresì possibile impostare il mac address
3 - Le impostazioni della lingua, dato che di base dracut le include tutte, risparmieremo circa 700kb di spazio con questo metodo. Dracut funziona lo stesso senza impostazioni, ma mentre crea l'initramfs darà un avvertimento. Possono anche essere impostate cose esotiche come il font della console e la mappatura sia della tastiera che del tipo di codifica utilizzata. Per comodità utilizzeremo la codifica Unicode.Cosa possiamo impostare da dracut.conf:
1 - La riduzione dell'initramfs per far sì che sia più leggera e che contenga file relativi solo al nostro PC. è possibile ridurre più di 12 MB in questo modo.
2 - Impostare le interfacce che useremo per connetterci a Internet e il metodo utilizzato. Es: eth0 e dhcp. E' altresì possibile impostare il mac address
4 - Omettere o aggiungere moduli di dracut o propri, sia del kernel che del firmware, qualora quest'ultimo sia installato.
...To be continued
Note di Licenza
Questa guida è rilasciata con licenza Creative Commons attribution non commercial share alike 3.0 (CC BY-NC-SA 3.0).
E' possibile copiare, modificare, e ripostare la guida con scopi non commerciali a patto che venga citato l'autore della guida, con annesso link a codesta guida.
Ogni abuso sarà punibile.

Dracut, creatore di initramfs by winebar is licensed under a Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported License
Ultima modifica: