Come abilitare il supporto a Ext4 in openSUSE 11.1


Solo pochi giorni fa, in occasione dell’installazione di openSUSE 11.2 Milestone 5 e a causa di problemi riscontrati a fine installazione che impedivano l’avvio della distribuzione, mi sono cimentato nella compilazione di un nuovo Kernel abilitando il supporto a EXT4  in openSUSE 11.1 al fine di accedere alle partizioni della Milestone 5.
Perchè EXT4? La risposta è semplice: durante la fase di installazione della Milestone 5 ho adottato come filesystem il prestante EXT4 e considerando il fatto che openSUSE 11.1 non include di default il supporto a EXT4 mi sono avventurato nella sua abilitazione.
Vediamo dunque come procedere per abilitare il supporto in lettura e scrittura al filesystem EXT4 in openSUSE 11.1 che attualmente utilizza il Kernel 2.6.27.23-0.1.

Questa guida è valida per qualsiasi altra operazione relativa a un Kernel che richiede l’abilitazione, o in caso contrario la disabilitazione, di un modulo.
E’ sempre bene agire con prudenza e nel pieno delle proprie conoscenze: una configurazione errata potrebbe danneggiare il sistema rendendolo instabile e/o inutilizzabile.

Innanzitutto è bene attrezzare il sistema affinchè il processo di configurazione e di compilazione del nuovo Kernel volga al termine senza problemi. Aprire una console e ricorrendo all’utilizzo di zypper digitare:

sudo zypper in qt3-devel kconfigeditor ncurses-devel make

Effettuare il download della versione più recente del Kernel da questo indirizzo. Nel mio caso mi sono servito della versione 2.6.30.4.

Aprire una console, acquisire i privilegi di root, entrare nella directory contenente i sorgenti del Kernel utilizzando il comando "cd nome_directory" ed estrarre l’archivio compresso precedentemente scaricato (nel mio caso linux-2.6.30.4.tar.bz) badando bene a destinare il suo contenuto nella directory /usr/src/.

tar -xvf linux-2.6.30.4.tar.bz2 -C /usr/src/

Entrare nella directory contenente i files generatasi in seguito all’estrazione dell’archivio dei sorgenti del Kernel:

cd /usr/src/linux-2.6.30.4/

A questo punto è necessario modificare la configurazione di default del Kernel in uso affinché il successivo processo di compilazione dia vita ad un Kernel con tanto di supporto il lettura e scrittura al files system EXT4. Aprire una console e impartire il seguente comando:

make xconfig

Prima di procedere è fortemente consigliato effettuare una copia di backup del file di configurazione al fine di evitare future problematiche legate sopratutto a settaggi azzardati o poco adatti all’hardware in uso. Certo non è il nostro caso, ma una copia di sicurezza della configurazione originale o di default non fa mai male!!

Kernel xconfig | Crismon's Blog

Dalla finestra principale –> File –> Save As.. –> Selezionare la directory in cui si desidera salvare il file .config e premere sul bottone Save per confermare.

E’ giunto il momento di selezionare il modulo EXT4 al fine di includerlo nelle features di quello che sarà il nostro nuovo Kernel. Dalla finestra principale –> Edit –> Find –> Ext4 –> Selezionare le seguenti voci:

  • Ext4 extended attributes (NEW);
  • The extended 4 (Ext4) filesystem;
  • Enable Ext4dev compatibility (NEW);
  • Ext4 POSIX Access Control Lists;
  • Ext4 Security Labels.

…come in figura:

Kernel xconfig - Find Ext4 | Crismon's Blog

Chiudere la finestra nella quale abbiamo selezionato le nuove features premendo l’apposito pulsante contrassegnato dalla X e salvare il file di configurazione.

E’ giunto il momento di creare il pacchetto Rpm corrispondente al nuovo Kernel con tanto di supporto al filesystem EXT4 e dunque impartire il seguente comando:

make rpm

Terminato il processo di creazione del pacchetto, che a seconda della macchina in uso e delle sue potenzialità impiegherà più o meno tempo, occorre installare il pacchetto Rpm.

N.B: per installare la nuova versione del Kernel è bene impartire il comando rpm -ivh che installa la nuova versione del pacchetto e non rpm -Uvh che andrebbe ad aggiornare e quindi a sovrascrivere il Kernel in uso.

Entrare nella directory /usr/src/packages/RPMS/i386 digitando:

cd /usr/src/packages/RPMS/i386

Installare il pacchetto Rpm, nel mio caso denominato kernel-2.6.30.40.1default-1.i386.rpm, con il comando:

rpm -ivh kernel-2.6.30.40.1default-1.i386.rpm

Successivamente impartire il comando:

mkinitrd

…che nel mio caso restituisce il seguente l’output:

Kernel image:   /boot/vmlinuz-2.6.27.23-0.1-default
Initrd image:   /boot/initrd-2.6.27.23-0.1-default
Root device:    /dev/disk/by-id/ata-Maxtor_6L160P0_L42R7CSG-part2 (/dev/sda2) (mounted on / as ext3)
Resume device:  /dev/disk/by-id/ata-Maxtor_6L160P0_L42R7CSG-part1 (/dev/sda1)
Kernel Modules: hwmon thermal_sys processor thermal dock scsi_mod libata ata_piix ata_generic ide-core piix ide-pci-generic fan jbd mbcache ext3 edd crc-t10dif sd_mod usbcore ohci-hcd uhci-hcd ehci-hcd ff-memless hid usbhid
Features:       block usb resume.userspace resume.kernel
Bootsplash:     openSUSE (1280x1024)
23123 blocks
 
Kernel image:   /boot/vmlinuz-2.6.30.4-0.1-default
Initrd image:   /boot/initrd-2.6.30.4-0.1-default
Root device:    /dev/disk/by-id/ata-Maxtor_6L160P0_L42R7CSG-part2 (/dev/sda2) (mounted on / as ext3)
Resume device:  /dev/disk/by-id/ata-Maxtor_6L160P0_L42R7CSG-part1 (/dev/sda1)
Kernel Modules: hwmon thermal_sys processor thermal scsi_mod libata ata_piix ata_generic ide-core piix ide-pci-generic fan jbd mbcache ext3 edd crc-t10dif sd_mod usbcore ohci-hcd uhci-hcd ehci-hcd hid usbhid
Features:       block usb resume.userspace resume.kernel
Bootsplash:     openSUSE (1280x1024)
50532 blocks

Tale output è necessario al fine di riconfigurare Grub o il bootloader in uso in quanto contiene le informazioni relative all’avvio del nuovo Kernel.

Per prevenire qualsiasi tipo di problema consiglio di effettuare una copia di backup del file di configurazione del bootloader in uso e successivamente eseguire le operazioni di integrazione del nuovo Kernel.

Nel caso in cui, per esigenza o per curiosità, si presenti la necessità di convertire un filesystem EXT3 in EXT4 consultare questo articolo.

Articoli correlati:

,

Segnala questo articolo: Queste icone linkano i siti di social bookmarking sui quali i lettori possono condividere e trovare nuove pagine web.
  • Facebook
  • del.icio.us
  • Digg
  • Reddit
  • StumbleUpon
  • Technorati
  • OKnotizie
  • Google Bookmarks
  • TwitThis
  • Upnews
  • Segnalo

  1. #1 by xeniga on 6 settembre 2009

    ho guardato tra i moduli facendo make xconfig e ho notato che esiste un modulo apposito per questa nuava serie di schede wireless per 5000 family 6000 6050…
    però mi tocca ricompilarlo…pazienza…
    ma almeno avrò tutto sistemato dopo…

    ma si posso abilitare dei moduli post installazione?

  2. #2 by Crismon on 6 settembre 2009

    Ovvero? Durante l'installazione diel sistema operativo?

  3. #3 by xeniga on 6 settembre 2009

    durante ma anke dopo aver installato il sistema..nel mio caso mi sarebbe servito abilitare un modulo dopo aver già installato il nuovo kernel..
    sarebbe comodo se esistesse un modo…

  4. #4 by xeniga on 6 settembre 2009

    ad esempio se abilitassi solo i moduli che servono al mio hardware avrei un sistema veramente addatto alla macchina in uso…
    sarebbe utile avere un opzione simile durante l installazione,anche durante l installazione del sistema operativo magari solo per utenti + smaliziati…così si toglierebbero i moduli che non servono e si alleggerirebbe il cuore del sitema…

  5. #5 by Crismon on 6 settembre 2009

    Esiste una modalità avanzata per quanto riguarda l'installazione ma ad essere sincero non ricordo se si possono gestire questo genere di opzioni.
    Un modulo lo puoi installare anche senza ricompilare il kernel…compilando il codice sorgente di un determinato driver che appunto contiene il modulo di cui hai bisogno.

  6. #6 by xeniga on 7 settembre 2009

    stamattina ho scoperto che non mi rileva neache la webcam?
    dovrei ricompilare da capo??

    ho una webcam integrata…il vecchio kernel me la rileva il nuovo no…dovrei attivare qualche altro modulo?

  7. #7 by Crismon on 7 settembre 2009

    Temo proprio che tu devva controllare che il modulo necessario all'utilizzo della webcam sia caricato correttamente nel casi sia presente nel nuovo kernel.
    Altrimenti, anzichè perdere altro tempo e rieseguire l'intera procedura di compilazione del kernel ti consiglio di scaricare i sorgenti del driver per la tua webcam e compilarli.

  8. #8 by Giuseppe Salinaro on 7 settembre 2009

    Questo intendevo….quando parlavo dei problemi dell'installazione del kernel nuovo….i driver XD

    <<ad esempio se abilitassi solo i moduli che servono al mio hardware avrei un sistema veramente addatto alla macchina in uso…>> questa funzione esiste già nell'installazione di debian lenny….risparmi mooolti secondi al momento del boot….sembra quasi il boot dell'ubuntu XD

  9. #9 by xeniga on 7 settembre 2009

    non riesco a capire una cosa se col vecchio kernel la webcam funziona dovrebbe esserci per forza il modulo anche nel nuovo kernel…non riesco neanche a capire quale driver usa questa webcam su vista vedo ke il driver è sonix chicony qualcosa del genere..

    mi manca solo far andare la webcam e sarebbe tutto perfetto…

  10. #10 by Crismon on 7 settembre 2009

    Marca e modello della tua webcam?

    Prova a dare il comando (da root) “lspci” e posta l'output.

  11. #11 by xeniga on 8 settembre 2009

    perfetto ho risolto….ho dovuto ricompilare e attivare il modulo…era il modulo uvcvideo..
    di default nn era marcato..
    adesso anche la webcam funziona…
    almeno così conosco tutto il necessario per far funzionare il mio hardware in aso di compilazione…
    prossimamente proverò a snellire…proverò in caso quando uscirà il kernel 2.6.31….
    comunque grazie per il supporto….non riuscivo a ricordare il comando ispc…
    spero si possa scegliere nellla futura opensuse 11.1 per il kernel-desktop/server…

  12. #12 by Alfred on 8 settembre 2009

    lspci = Lspci… La prima lettera è una L non una i ;)
    Mi metto all'opera anche io vediamo che combino! :D

I commenti sono chiusi.

blog comments powered by Disqus