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

    compilare modulo ubuntu

    Ciao a tutti, con ubuntu ho il seguente problema. Ho creato un modulo list.c
    "
    #include <linux/kernel.h>
    #include <linux/module.h>
    #include <linux/init.h>
    #include <linux/sched.h>

    static int __init list_init(void)
    {
    struct task_struct *task;
    printk("Inizio lista di processi:\n");
    for_each_process(tasks)
    {
    printk("%s [%d]\n",task->comm , task->pid);
    }
    printk("Fine lista dei processi.");
    return 0;
    }

    static void __exit list_exit(void)
    {
    printk(KERN_INFO "Fine modulo Process list.");
    }

    module_init(list_init);
    module_exit(list_exit);
    "
    per la compilazione dei moduli faccio cosi:
    "creo una directory; all'interno della directory, inserisco il mio file list.c. Creo quindi il Makefile, contenente solo questa riga:
    obj-m := list.o

    kbuild viene invocato eseguendo make con alcuni parametri; visto che si tratta di una operazione comune per i driver esterni, creo uno script che automatizza il tutto. Creo quindi lo script kbuild, contenente queste righe:

    #!/bin/bash
    KDIR=/lib/modules/`uname -r`/build
    make -C $KDIR M=`pwd` $@"

    preso da qui:http://www.hwupgrade.it/forum/archiv...t-851881.html.

    Finchè utilizzo il modulo in una delle due versioni del kernel standard di ubuntu tt ok.Le versioni del kernel sono (2.6.20).
    Ho installato il kernel 2.6.22.1 seguendo questa guida: http://wiki.ubuntu-it.org/CompilazioneKernel.
    Se entro nel nuovo kernel e provo a compilare nuovamente il modulo mi da errori.

    Che succede??

  2. #2

  3. #3
    tutto risolto, Facevo un errore quando compilavo il kernel nn avevo messo fakeroot.

    Grazie lo stesso.

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