Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Kernel Newbie chiede aiuto

    Dopo un po' che uso Linux ho deciso di capire come funziona la compilazione del kernel, ho installato una distro "cavia" su una partizione libera è ho cominciato a documentarmi.....

    La prima difficoltà è trovare una guida abbastanza esaustiva da spiegarmi cosa sto facendo e perchè dovrei farlo ed allo stesso tempo abbastanza semplice da essere capita da un niubbo.....
    Quelle che ho trovato sono:
    - estrai il contenuto del .tar.gz, spostati nella directory taldeitali, poi configura con menuconfig, poi make clean dep bzImage modules modules_install e il Kernel è pronto, aggiungilo a Lilo/Grub e riavvia, oppure....
    - 340 pagine (in inglese) che spiegano come è strutturato un kernel Linux e come gestisce diosolosaquali funzioni della CPU.

    Io vorrei semplicemente capire come si configura un Kernel, che faccio installo moduli a casaccio ? Come faccio a sapere quali miservono per gestire il mio hardware e quali posso scartare ?
    Ad esempio GENERIC_IOMAP che fa ? E CONFIG_SYSCTL ?
    E come faccio a sapere quali moduli devo includere per gestire il mio Hardware ? Come si chiama il modulo per l'USB, quale installo per il S-ATA dei 4 disponibili ?

    E per il modulo della scheda video ? Se installo un nuovo Kernel dovrò reinstallare anche il modulo, si può includere in fase di compilazione Kernel o devo reinstallare a parte ?

    Un'altra cosa, magari mi servirà quando avrò un po' di pratica ma intanto metto le mani avanti....
    So che esistono innumerevoli Kernel Patchati inclusi in alcune Distro e nella stragrande maggioranza dei casi le patches possono essere scaricate a parte e applicate al Kernel in fase di compilazione....
    Come si applica una Patch esterna ?

  2. #2
    installa una debian o ubuntu se vuoi imparare a compilare il kernel
    quella guida che stai seguendo è riferita ad un kernel 2.4 e non va bene
    scarica l'ultimo kernel da kernel.org e scompattalo in /usr/src

    poi puoi fare tutte le prove che vuoi senza fare danni

    il kernel si compila dopo avere fatto make menuconfig con i comandi
    make
    make modules_install
    e make install per installarlo
    e se hai grub che punta di default a /boot/vmlinuz non devi nemmeno correggerlo ( assicurati di avere anche le voci che puntano al kernel attuale in /boot/grub/menu.lst

    per i moduli io le prime volte leggevo gli help dei vari moduli
    il kernel mette solo poche cose di default e devi aggiungere tutto te la prima volta
    calcola comunque che le mettendo le periferiche di sistema ( processore filesystem chipset della mobo ( da ata/atapi ) in modo statico (*) e le periferiche audio video usb etc come modulo (M) hai buone speranze di vederlo partire
    conoscere tutti i moduli è una impresa
    per il sata ( dificile da trovare ad esempio) devi mettere statici i moduli che trovi nella sezione scsi nella sotto sezione low level driver )

  3. #3
    aggiungo che praticamente nessuno, nemmeno gli sviluppatori del kernel, sa con precisione cosa facciano tutti i moduli, perchè nessuno ha un vero interesse a conoscerli tutti

    se vuoi sapere con precisione cosa fa una funzione con un help incomprensibile chiedi a google, ma non è comunque necessario

    tu devi operare a rovescio, ovvero tirarti giù una lista delle caratteristiche del tuo hardware e trovare cosa sia necessario perchè il kernel funzioni con esso

    in linea di massima con lspci -v hai una buona lista da dove iniziare

    le patch si applicano con l'omonimo comando patch, tendenzialmente in ognuna di esse è presente un readme coi parametri da passare
    Sotto la panza la mazza avanza.

  4. #4
    Utente di HTML.it L'avatar di GunMan
    Registrato dal
    Dec 2005
    Messaggi
    2,645
    Originariamente inviato da Caleb
    aggiungo che praticamente nessuno, nemmeno gli sviluppatori del kernel, sa con precisione cosa facciano tutti i moduli, perchè nessuno ha un vero interesse a conoscerli tutti

    (cut)
    nella mia ignoranza... questo non è un pò inquietante?

    avere moduli nel kernel di cui non si conosce lo scopo ne l'utilizzo può portare al fatto che essi vengano implementati nella nuova versione semplicemente perchè c'erano in quella vecchia e non è il caso di metterci le mani?

    se ho detto troppe sciocchezze scusatemi, ma è una curiosità che mi è sorta leggendo

    Chaos A.D. Disorder unleashed.
    Starting to burn. Starting to lynch.
    Silence means death. Stand on your feet.
    Inner fear. Your worst enemy.

    Refuse / Resist

  5. #5
    quella guida che stai seguendo è riferita ad un kernel 2.4 e non va bene
    Considerando che c'è scritto "Guida alla compilazione del Kernel 2.6.x" siamo a cavallo

    installa una debian o ubuntu se vuoi imparare a compilare il kernel
    Ho installato una Slackware.... per fare pratica non mi costa niente provare e riprovare su diverse distro

    per il sata ( dificile da trovare ad esempio) devi mettere statici i moduli che trovi nella sezione scsi nella sotto sezione low level driver )
    Fino a ieri avrei riso in faccia a chiunque mi avesse detto che il S-ATA si trovava nella sezione SCSI :master:

    praticamente nessuno, nemmeno gli sviluppatori del kernel, sa con precisione cosa facciano tutti i moduli
    Se non proprio inquietante, se è realmente così, lascia quantomeno perplessi

    tu devi operare a rovescio, ovvero tirarti giù una lista delle caratteristiche del tuo hardware e trovare cosa sia necessario perchè il kernel funzioni con esso
    Anche così però è un casino apocalittico.....
    che modulo mi serve per la periferica X ? E quale per la scheda Y ?

    Grazie comunque per le info.....
    se avete altre dritte non vergognatevi a darmele

  6. #6
    Originariamente inviato da GunMan
    avere moduli nel kernel di cui non si conosce lo scopo ne l'utilizzo può portare al fatto che essi vengano implementati nella nuova versione semplicemente perchè c'erano in quella vecchia e non è il caso di metterci le mani?
    infatti accade spessissimo, non è che a ogni release venga aggiornato l'intero kernel; semplicemente si verifica che il modulo tal dei tali funzioni con la versione corrente

    per l'utente non è mai stato un problema, proprio perchè trattandosi di struttura modulare usi solo quello che serve

    dal punto di vista dello sviluppatore, se un modulo inizia a presentare i suoi limiti perchè non tiene il passo con l'hardware o è bacato lo si aggiorna e morta lì, senza danno per nessuno
    Sotto la panza la mazza avanza.

  7. #7
    Utente di HTML.it L'avatar di GunMan
    Registrato dal
    Dec 2005
    Messaggi
    2,645
    grazie per la risposta caleb, in effetti per l'utente finale non credo faccia alcuna differenza, mi stupiva un pò lo scenario che hai dipinto ma penso sia perfettamente normale vista la mole dei moduli presenti in un kernel attuale.

    Chaos A.D. Disorder unleashed.
    Starting to burn. Starting to lynch.
    Silence means death. Stand on your feet.
    Inner fear. Your worst enemy.

    Refuse / Resist

  8. #8
    Originariamente inviato da Sachertorte
    Fino a ieri avrei riso in faccia a chiunque mi avesse detto che il S-ATA si trovava nella sezione SCSI :master:
    il kernel di linux tratta i sata come se fossero scsi

    Se non proprio inquietante, se è realmente così, lascia quantomeno perplessi
    uno sviluppatore di un modulo deve conoscere come le sue tasche il kernel, non i moduli altrui

    Anche così però è un casino apocalittico.....
    che modulo mi serve per la periferica X ? E quale per la scheda Y ?
    tanta pazienza e ricerca; dopo un po' ti trovi a imparare a memoria i nomi dei moduli più comuni

    pianta in google "linux schedaX" e ravana da lì
    Sotto la panza la mazza avanza.

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 © 2020 vBulletin Solutions, Inc. All rights reserved.