Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Conoscenza base Kernel

  1. #1

    Conoscenza base Kernel

    Mi stava sorgendo la malsana idea di aggiornare il Kernel ad una versione più recente e mi sono reso conto di non capirci una cippa....

    - Ovviamente avrò attualmente caricato dei moduli, come faccio a sapere quali ?
    - Come faccio a caricarli sul nuovo Kernel ?
    - I moduli vanno reinstallati ?
    - Lo devo fare in fase di compilazione del Kernel o posso farlo dopo ?
    - Ho sentito che si possono caricare staticamente o dinamicamente.... che significa ?
    - Ho dato un'occhiata in rete per cercare qualche guida ma partono dal presupposto che il lettore i Kernel se li mangi a colazione, qualcuno sa linkarmi una guida base, anche senza procedura d'installazione passo-passo, che mi spieghi qualcosa in termini comprensibili a un comune mortale ?
    - Se qualcosa va storto e il sistema non parte più, c'è modo di recuperare senza reinstallare tutto ?

    ....per il momento credo che basti, naturalmente se mi vengono altri dubbi indovinate un po' a chi chiedo

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746

    Re: Conoscenza base Kernel

    1. tramite lsmod
    2. per caricarli all'avvio, puoi usare /etc/modules (certo, non è l'unica possibilità, ma è sicuramente la più comoda); per caricarli a runtime, dai un'occhiata a modprobe , insmod , rmmod
    3. ovvio dato che i moduli - sia quelli del kernel, sia molti di quelli di terze parti (tipo nvidia, ati)- vengono compilati insieme al kernel e non sono riconosciuti da altri kernel*/possono causare malfunzionamenti
    4. una volta configurato e compilato il kernel puoi installare quello che vuoi: solo l'immagine, solo i moduli (ma, in linea generale, non è che queste due possibilità abbiano molto senso...visto che puoi compilare anche solo i moduli, solo l'immagine, ecc.), tutto...
    5.
    a) i moduli compilati nel kernel (opzione y in fase di configurazione) vengono caricati staticamente e non possono essere rimossi (significa che sono sempre lì, pronti all' I/O): sono utili per le cose di cui non puoi fare a meno (tipo fs, chipset, ecc...dipende dal tuo sistema) o che non funzionerebbero altrimenti (tipo il bootsplash). Fanno parte dell'immagine del kernel (quella in /boot, per intenderci)
    b) i moduli propriamente detti (quelli dinamici, opzione m in fase di configurazione) vengono caricati quando se ne ha bisogno e possono essere rimossi quando niente/nessuno li sta usando: possono essere utilizzati per cose che non sono vitali al kernel (tipo il supporto alle periferiche usb, alcune schede video, stampanti, il supporto per il loop fs)...ma anche questo dipende dal tuo sistema (da quello che intendi farci). Li trovi in /lib/modules/$(uname -r) e sottocartelle
    6. mmh, non saprei...i sorgenti del kernel sono molto ben documentati, e quasi tutte le opzioni vengono brevemente spiegate durante la configurazione.
    7. beh, non rimuovere il vecchio kernel...mettilo come altra opzione al boot mentre riconfiguri il bootloader e lasciacelo almeno finchè non sei sicuro che il nuovo kernel funzioni correttamente (molti tengono svariati kernel...personalmente, nella distro da cui sto scrivendo ne ho 3)

    spero di esserti stato utile



    ¹

  3. #3
    dipende anche dalla distro che usi poi ( la tecnica di compilazione varia )

    nelle guide in alto nel forum trovi delle guide anche se un po obsolete per aggiornarlo

    molte distro ( quelle rpm ) sono piu complesse nell'aggiornamento del kernel e spesso conviene cercare i precompilati

  4. #4
    Perciò se ho ben capito dovrei vedere /etc/modules per sapere quali vengono caricati, poi procurarmi i sorgenti e ricompilarli assieme al nuovo kernel....
    ma come faccio a sapere quali vanno installati con y e quali con m ?

    P.S. Una buona guida sull'installazione del Kernel la conosce nessuno ?

  5. #5
    guide particolareggiate non ne ho mai viste

    semmai devi guardare quali sono i tuoi moduli caricati con lsmod e in base a quelli vedere cosa inserire nel kernel
    adesso avrai senz'altro un kernel modulare precompilato che usa initrd per caricare anche i moduli di base
    se compili in kernel manualmente come linea di massima devi mettere i moduli di sistema statici (y) e i moduli delle periferiche modulari (m)

    per moduli di base si intendono il gruppo processore i filesystem i chipset della scheda madre

    i moduli delle scheda audio video e varie periferiche esterne è consigliabile metterli modulari per allegerire il kernel e anche perche' possono essere gestiti manualmente
    in genere carica da se i moduli del tuo harware
    non so che distro usi
    con debian slack gentoo puoi avere anche 50 kernel installati e caricabili dal bootloader
    puoi fare tutte le prove che vuoi senza toccare il kernel attuale
    basta naruralmente che il kernel sia diverso dall'attuale

  6. #6
    I moduli integrati nel kernel vanno compilati assieme allo stesso ? Se si come ?
    E quelli caricati dinamicamente come si installano ?

    lsmod mi dà una lista di moduli, sono quelli integrati nel kernel o è una lista che comprende tutti i moduli caricati in quel momento ("dinamici" inclusi) ?
    Immagino che la maggior parte di questi si trovino nei sorgenti del kernel, come faccio a saperlo per poter eventualmente cercarli se non ci sono ?

    guide particolareggiate non ne ho mai viste
    Chissà poi perchè con tutta la documentazione su Linux che si trova in rete, proprio l'elemento più importante (il kernel) sia lasciato un po' da parte (domanda al 90% retorica)

  7. #7
    quando dai make menuconfig devi sfogliare sezione per sezione ed inserire i vari moduli

    ad esempio questa è la sezione dei filesystem

    <*> Second extended fs support │ │
    │ │ [ ] Ext2 extended attributes │ │
    │ │ [ ] Ext2 execute in place support │ │
    │ │ <*> Ext3 journalling file system support │ │
    │ │ [ ] Ext3 extended attributes │ │
    │ │ [ ] JBD (ext3) debugging support │ │
    │ │ <*> Reiserfs support

    <*> significa che sono compilati staticamente ( cioe' che sono interni al kernel ed il sistema come si presenta una partizione reiserfs riconosce da se il filesystem

    questa invece è la sezione usb ad esempio
    <M> UHCI HCD (most Intel and VIA) support │ │
    │ │ < > SL811HS HCD support │ │
    │ │ --- USB Device Class drivers │ │
    │ │ < > USB Modem (CDC ACM) support │ │
    │ │ <M> USB Printer support │ │
    │ │ --- NOTE: USB_STORAGE enables SCSI,

    qui sono inseriti modulari ad esempio e il sistema puo' anche non caricare il driver della stampante ( spesso ) se non glielo indichi

    i moduli sono come driver esterni al kernel che una volta caricati indicano al sistema come riconoscere ed usare quella paricolare periferica

    poi una volta salvato il config uscendo da make menuconfig il comando make compila il kernel creando i moduli ( in /lib/modules ) e inserendo le informazioni necessarie all'utilizzo dei driver inseriti staticamente

    il comando make install installa i moduli in /lib/modules e il comando
    make install ( non con tutte le distro funziona ) installa il kernel e crea il /boot/vmlinuz-xxx che aggiunto con una sezione apposita nella configurazione del bootloader avvia il kernel

    una guida per il kernel sarebbe utile ma è complesso farla
    ogni macchina ha esigenze particolari e di driver nel kernel ce ne sono a migliaia
    l'help del kernel da diverse informazioni una volta che ci hai preso confidenza
    poi ogniuno ha le proprie teorie
    a parte i santoni che conoscono con esattezza tutto si rischierebbe di scrivere delle inesattezze pesanti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.