PIeni Kernel Projekti

/*best.c*/

#include "best.h"
#include

char* who = "jape";

extern char* whoisbest()
{
return who;
}

EXPORT_SYMBOL_GPL(who);
EXPORT_SYMBOL_GPL(whoisbest);




MODULE_LICENSE ("GPL");

/*best.h*/

#include

extern char* whoisbest(void);
extern char* who;


/*compile*/

make -I./ -Wimplicit-int -Wstrict-prototypes -C /usr/src/linuz -C ./ M=/home/jani/lkmssyscall modules

/*japevalue.c*/

#include
#include
#include


#define MAX_TRY 1024;

MODULE_LICENSE ("GPL");
static int __init my_init (void)
{
printk("%ld", (long)japeflag);
return 0;

}

static void my_exit (void)
{
printk("%ld", (long)japeflag);

}

module_init(my_init);
module_exit(my_exit);

/*kerlo.c*/

#include
#include
#include
#include
#include "best.h"

int japeflag=15;

#define MAX_TRY 1024;

MODULE_LICENSE ("GPL");

static int __init my_init (void)
{
printk("%ld", (long)jiffies);
return 0;

}





static void my_exit (void)
{
printk("%ld", (const unsigned int)jiffies msecs_to_jiffies);
printk(whoisbest());

}

module_init(my_init);
module_exit(my_exit);

/*Makefile*/

obj-m = kerlo.o best.o
885
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

ohjelman käynnistys: sudo insmod kerlo.ko sitten sudo insmod best.ko
ohjelman gui: sudo dmesg | tail
ohjelman sammutus: rmmod kerlo.ko sitten rmmod best.ko

Äänestä

a.c:1: error: stray '\302' in program
a.c:1: error: stray '#' in program
a.c:1: error: expected '=', ',', ';', 'asm' or '__attribute__' at end of input
WYSE_SX0 embedded@krisu-desktop:~/scripts$

Äänestä

niin, kaikkien noiden kääntö pysähtyy virheeseen, koska #include on virheellinen.
mitä lienee muita merkkejä tämä chatti imaissut. :)

Äänestä

nää puuttuu includien perästä: linux/module.h linux/kernel.h linux/init.hlinux/ jiffies.h linux/vermagic.h linux/compiler.h "best.h"

Äänestä

noi vielä nuoli oikealle ja nuoli vasemmalle merkkien sisään niin bueno.

Äänestä

tai siis korjaan otsikkotiedostot nuoli vasemmalle ja nuoli oikealle merkkien sisään ja tuo linuz on dynaaminen linkki asennetun kernelin versiota vastaaviin headersseihin (otsikkotiedostot the symbols)

Äänestä

tiedostoon kerlo korvaa lähes samankaltainen rivi tällä: printk("%lu", (long unsigned int) (jiffies+msecs_to_jiffies));

Äänestä

kohtaan ohjelman käynnistys vaihda järjestys: ensin insmod best.ko sitten insmod kerlo.ko näin symbol not found ilmoitusta ei ilmene

Äänestä

Kommentoi aloitusta


funkyubuntu kirjoitti:

/*best.c*/

#include "best.h"
#include

char* who = "jape";

extern char* whoisbest()
{
return who;
}

EXPORT_SYMBOL_GPL(who);
EXPORT_SYMBOL_GPL(whoisbest);




MODULE_LICENSE ("GPL");

/*best.h*/

#include

extern char* whoisbest(void);
extern char* who;


/*compile*/

make -I./ -Wimplicit-int -Wstrict-prototypes -C /usr/src/linuz -C ./ M=/home/jani/lkmssyscall modules

/*japevalue.c*/

#include
#include
#include


#define MAX_TRY 1024;

MODULE_LICENSE ("GPL");
static int __init my_init (void)
{
printk("%ld", (long)japeflag);
return 0;

}

static void my_exit (void)
{
printk("%ld", (long)japeflag);

}

module_init(my_init);
module_exit(my_exit);

/*kerlo.c*/

#include
#include
#include
#include
#include "best.h"

int japeflag=15;

#define MAX_TRY 1024;

MODULE_LICENSE ("GPL");

static int __init my_init (void)
{
printk("%ld", (long)jiffies);
return 0;

}





static void my_exit (void)
{
printk("%ld", (const unsigned int)jiffies msecs_to_jiffies);
printk(whoisbest());

}

module_init(my_init);
module_exit(my_exit);

/*Makefile*/

obj-m = kerlo.o best.o

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu