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

  1. 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 :)


  2. by Ubermensch Wed, 7 Oct 2009

    Propio un bell'articolo....penso che aspetterò ila nuova release stable .32 XD


  3. by ugaciaka Wed, 7 Oct 2009

    Ti perdi nelle cagate ma poi fai queste cose! Comunque domanda: il punto 3 è proprio necessario?


Please insert the result of the arithmetical operation from the following image:

Please insert the result of the arithmetical operation from this image. =