Errore Gentoo CONFIG_DEVTMPFS=y is required

Dopo l’ultimo aggiornamento della mia gentoo mi son ritrovato davanti al seguente errore subito dopo aver riavviato il pc

* CONFIG_DEVTMPFS=y is required in your kernel configuration
 * for this version of udev to run successfully.
 * This requires immediate attention.
 * ERROR: udev-mount failed to start
 * ERROR: cannot start udev as udev-mount would not start

Ovviamente questo messaggio di errore non permetteva il boot e quindi il pc era diventato inutilizzabile. La soluzione a questo problema è abbastanza semplice. In partica implica che nel kernel non è stata abilitata una opzione necessaria alla nuova versione di udev per funzionare. Quindi per risolverlo dobbiamo prima in qualche modo accedere al sistema, per fare questo scarichiamoci dal sito gentoo una iso del sistema minimale (quella che si usa normalmente per effettuare l’installazione va benissimo).

Poi una volta scaricata e masterizzata sul pc (ovviamente questo implica di avere o un pc con dual boot oppure avere comunque una macchina utilizzabile per scaricare la iso 🙂 ) riavviamo il pc bloccato con il cd appena masterizzato. Una volta caricato il sistema live,  dobbiamo prima di tutto chrootarci nel sistema non funzionante.

Per chi non lo sappesse chroot serve per cambiare la root del sistema, con una cartella specificata dall’utente. Per farlo dobbiamo nell’ordine:

  • Montare la partizione root del sistema linux installato
  • Montare eventuali partizioni di boot (se è separata dalla root, assicuratevi di montarla che è necessaria più avanti).
  • Collegare i filesystem speciali del sistema  (dev e proc)
  • Ifine effettuare il chroot.
Se non sapete bene come è strutturato il vostro disco o non lo ricordate, usate il comando cfdisk per aiutarvi, dando:
cfdisk /dev/sdX
dove X è la lettera del device del disco con la partizione (in alcuni casi potreste avere anche hdX, vedete voi). Da li dovreste riuscire a capire meglio la geometria del vostro disco. Altrimenti potete sempre provare guardando come è strutturato il file /etc/fstab, li dovreste trovate tutte le informazioni sulle partizioni e i relativi mountpointassociati. Quindi nel mio caso dove sda era il device principale, e le partizioni erano così strutturate:
  • sda5   root /
  • sda3  /boot
  • sda6  /home (che non utilizzerò)
ho dato i seguenti comandi:
mkdir /mnt/restore
mount /dev/sda5 /mnt/restore
mount /dev/sda3 /mnt/restore/boot
mount -o bind /proc /mnt/restore/proc/
mount -o bind /dev  /mnt/restore/dev
chroot /mnt/restore

Dove il primo è servito solo per creare una cartella dove montare le partizioni che ci servon. Il secondo comando monta la root del sistema che non funziona, il terzo fa lo stesso per la boot (notate bene che il terzo si monta in una sottocartella del filesystem appena montato in restore), il terzo e quarto invece legano gli attuali filesystem speciali  dev e proc del sistema live di gentoo all’interno delle rispettive sottocartelle di /mnt/resotre. Infine tutto è pronto per effettuare il chroot.

A questo punto dobbiamo ricompilare il kernel, portiamoci in /usr/src/linux (o la cartella del kernel che state correntemente utilizzando) e date:

make menuconfig

A questo punto navigate in:

  • Device Drivers
    • Generic Driver Options
E attivate le due opzioni evidenziate in rosso nella figura sottostante:
  • Maintain a devtmpfs filesystem to mount at /dev
  • Automount devtmpfs at /dev after the kernel mounted on the rootfs

Uscite e salvate, poi date il comando:

make bzImage

(o la versione che utilizzate voi, tipo make -j5 bzImage).

Al termine della compilazione copiate il bzImage file in arch/x86/boot/ in /boot (ricordate che siete chrootati, quindi effettivamente lo state copiando nella /boot del vostro sistema e non del live!) o gli date lo stesso nome del vecchio kernel non funzionante, o gli date un altro nome, ma poi dovete aggiornare il file /boot/grub/grub.conf.

Fatto questo, riavviate e il problema dovrebbe essere risolto 🙂

5 thoughts on “Errore Gentoo CONFIG_DEVTMPFS=y is required”

  1. Ciao. In effetti, gli sviluppaori hanno subito lanciato l'avviso tramite le news di portage.
    Probabilmente hai fatto l'upgrade senza accorgerti della nuova news in arrivo.
    Potevano stare più attenti gli sviluppatori, ogni tanto fanno un pò di casino e noi siam lì a tentare di far ripartire il sistema senza dover passare dal ripristino (efficace ma noioso).
    Ecco l'header della news. Per chi non è abituato a leggerle, suggerisco di tenere gli occhi aperti durante la procedura di update degli ebuilds (ovvero emerge –sync per intenderci) e, se ci dovessero essere novità, è sempre importantissimo leggerle tramite "eselect news list" e poi, scelta la news, "eselect news read #n°" , dove di solito #n° è l'ultima nell'elenco.

    2013-01-23-udev-upgrade
    Title Upgrading udev from 171 (or older) to 197.
    Author Samuli Suominen <ssuominen@gentoo.org>.
    Posted 2013-01-23.
    Revision 1.

    Saluti a tutti I fan di Gentoo! 😀 Siam pochi ma buoni.

  2. In effetti, quando è successo questo ho detto: cavolo mi sa che dovevo leggere le news! Lo ammetto non sempre lo faccio 🙂 Quindi di frotne al problema verificato mi son dovuto arrangiare in qualche modo 🙂 E quella era la soluzione che ho trovato 🙂

    1. Ma tanto, alla fine sono capitato pure io in questo tuo post proprio perchè nemmeno gli sviluppatori sono stati molto chiari! C'erano 2 voci da abilitare e ancora non ho capito se abilitarle entrambe o solo la prima. Il fatto dell'automount non viene specificato da nessuna parte..
      Vabbè, tanto quello che passiamo con gentoo lo sappiamo solo noi :D. Ma l'amiamo lo stesso.
      L'importante è farsi sempre un pò di backup..
      Se ti interessa, anche se non abbiamo più il tempo di curarlo, il sito mio e di alcuni amici (che era http://www.desfa.it/org) è ora desfa.altervista.org .
      Magari puoi prendere spunto per qualche nuovo articolo e aggiornare un pò la comunità di linuxiani!
      Ciao!

    2. ehehe ottimo 🙂 Vuol dire che l'articolo sta generando visite 😛
      Come te pure io alla fine ho optato per l'opzione più veloce, ovvero quella di abilitare tutte e due le opzioni. E così sono sicuro che ha funzionato. Magari la prossima volta che devo ricompilare il kernel provo a disabilitare l'automount e vedo che succede.

      Cmq è vero, ogni tanto noi linuxiani, e principalmente gentooisti dobbiamo scontrarci con queste cose. Ma penso pure che ci permette di imparare molto di più sul nostro sistema operativo 🙂 Io tipo fino a che non ho messo gentoo, non ero solito ricompilare il kernel, ora invece ogni paio di settimane mi capita di doverlo ricompilare. Sicuramente ci darò un occhiata, un peccato che non lo aggiornate più.

Leave a Reply

Your email address will not be published. Required fields are marked *