devtmpfs questo sconosciuto: boot rapido
Nella ultima realease unstable del kernel cioè la 2.6.32 è stato reintrodotto devtmpfs. Perchè re-introdotto? Perchè devtmpfs è l’erede di devfs utilizzato nell’ormai lontana serie 2.4 del kernel linux.
Questa nuova o se preferite vecchia feature è stata reintrodotta per sostituire udev durante l’avvio del sistema. Solitamente infatti dopo aver caricato il kernel in ram, udev si occupa della creazione dei nodi di tutti i dispositivi riconosciuti al momento del boot, o successivamente collegati al pc.
Ovviamente la creazione di tutti i nodi da parte di udev richiede diversi secondi durante il boot ed è necessaria per procedere con le operazioni di check e montaggio delle partizioni.
Per velocizzare sensibilmente i tempi di avvio è stato reintrodotto devfs il quale si occupa di creare la lista dei nodi di ciascun dispositivo sotto /dev, partendo dai device rilevati dal kernel durante il boot.
Essendo incluso direttamente nel kernel richiede un tempo irrisorio che permette di procedere rapidamente al check e al montaggio delle partizioni, nonchè al caricamento dell’intero sistema.
Come implementare devtmpfs in archlinux?
1. Prima di tutto occorre ricompilare il kernel selezionando staticamente l’opzione:
CONFIG_DEVTMPFS
Non selezionate l’opzione per l’automount.
2. Ora occorre modificare il file /etc/rc.sysinit aggiungendo alla riga n.21 il montaggio di devtmpfs in /dev
/bin/mount -n -t devtmpfs none /dev -o mode=0755
3. Spostate i blocchi di codice relativi a udevd —daemon, udevadm trigger e udevadm settle da /etc/rc.sysinit in /etc/rc.local.
4. Modificate /etc/rc.multi alla riga n.24 aggiungendo una & per eseguire rc.local in parallelo in questo modo:
/etc/rc.local &
A questo punto velocizzerete sensibilmente il boot eseguendo udev in parallelo dopo il caricamento del sistema e l’avvio dei demoni.
Per ora questo resta un metodo sperimentale che dalla prossima release stable del kernel si rivelerà di estrema importanza in quick-init poichè garantisce maggiore sicurezza nella creazione dei nodi dei dischi e quindi nell’avvio rapido di Xorg.
3 comments
by adriano Fri, 9 Oct 2009
grazie :) ugaciaka se non lo fai non ottieni praticamente nulla perchè avvii progressivamente udev durante i boot e i tempi di attesa non cambiano :)
by Ubermensch Wed, 7 Oct 2009
Propio un bell'articolo....penso che aspetterò ila nuova release stable .32 XD
by ugaciaka Wed, 7 Oct 2009
Ti perdi nelle cagate ma poi fai queste cose! Comunque domanda: il punto 3 è proprio necessario?