Moduly KERNELu

Teodor

Re:Moduly KERNELu
« Odpověď #15 kdy: 05. 07. 2016, 17:56:32 »
No, podle prvního příkladu mi gcc hlásí tuhle hlášku:

make: uname-r: Command not found

Pokud nerozumíte ani této hlášce (příkaz nenalezen), mám obavu, že se pouštíte do něčeho, na co nemáte.

make -C /lib/modules//build M=/home/teodor/Plocha/pokus modules
make: *** /lib/modules//build: Adresář nebo soubor neexistuje.  Stop.

Chybí vám hlavičkové soubory jádra popř. zdroják jádra. Logicky pokud chcete kompilovat, musíte mít zdrojáky/hlavičky. Tohle patří k základním znalostem.

make: *** [all] Error 2


Kde dělám chybu?

V tom, že neposloucháte rady... Dostal jste 3:

1. se učit
2. se učit
3. se učit

Ani jednu jste neposlechl :). Neumíte ani kompilovat, nevíte, že potřebujte dev balíčky, hlavičkové soubory ap. a už chcete dělat vlastní modul do jádra. Opravdu se vám to zdá dobrý nápad?

Jinak ano, jde o to napsat si svuj vlastní modul pro HW komunikační převodník. Mne jde jen o to, pochopit princip na jednoduchém příkladu a vyvarovat se chyb...

No moc se vám vyvarovat chyb nedaří. Nejdříve si nastudujte základní věci a pak se pouštějte do složitých věcí.

V pohodě, chybu jsem měl v odsazení uname -r ;) Tak se zase můžeme držet tématu.


Teodor

Re:Moduly KERNELu
« Odpověď #16 kdy: 05. 07. 2016, 18:01:30 »
testmodule.c
Kód: [Vybrat]
#include <linux/module.h>

MODULE_LICENSE("GPL");

static void __exit testmodule_exit(void)
{
printk(KERN_DEBUG "testmodule removed\n");
return;
}

static int __init testmodule_init(void)
{
printk(KERN_DEBUG "testmodule loaded\n");
return 0;
}

module_exit(testmodule_exit);
module_init(testmodule_init);

Makefile
Kód: [Vybrat]
ifneq ($(KERNELRELEASE),)
obj-m += testmodule.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default:
$(MAKE) -C $(KERNELDIR) M=$(PWD)

clean:
$(MAKE) -C $(KERNELDIR) M=$(PWD) clean

endif

Hodně štěstí. Hlavně ten modul piště v nějakém virtuálu, jinak to v životě pořádně neodladíte a můžete si kvůli tomu usmrtit produkční stroj. Mimochodem, fakt je nutné to řešit jadeným modulem a ne nějakým programem pro userspace?

Díky, už se mi to povedlo rozběhnout, neměl jsem správně odsazený uname -r.
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.
Takže jediná varianta je napsat si svuj modul pro HW převodník. Usmrcení stroje? No, dobrá noční můra..Zatím používám svůj soukromý laptop.

Neviditelný

Re:Moduly KERNELu
« Odpověď #17 kdy: 05. 07. 2016, 18:18:13 »
A nebylo by jednodušší ten modul od výrobce opravit, než to psát celé od píky? V Mintu je možná novější jádro, než se kterým výrobce počítal a protože Linux nemá stabilní jaderné API, mohlo se v novějším jádře něco změnit a modul kvůli tomu nejde buildnout. Rozjet existující modul dá mnohonásobně méně práce, než ho vymýšlet celý odznovu.

Teodor

Re:Moduly KERNELu
« Odpověď #18 kdy: 05. 07. 2016, 18:25:06 »
A nebylo by jednodušší ten modul od výrobce opravit, než to psát celé od píky? V Mintu je možná novější jádro, než se kterým výrobce počítal a protože Linux nemá stabilní jaderné API, mohlo se v novějším jádře něco změnit a modul kvůli tomu nejde buildnout. Rozjet existující modul dá mnohonásobně méně práce, než ho vymýšlet celý odznovu.
Jj, to si taky myslím, že je to verzí jádra. Protože výrobce zdrojáky uvolnil už v roce 2012.
No, to je ta lehčí varianta o kterou se pokusím ve čtvrtek upravit původní kódy od výrobce, horší varianta je si to napsat sám.
Já se přiznám, že tohle je pro mne nová věc, po šesti letech v Linuxu, tohle dělám poprvé, ještě chybí začít kompilovat KERNEL...

Jenda

Re:Moduly KERNELu
« Odpověď #19 kdy: 05. 07. 2016, 18:36:00 »
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.

A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Moduly KERNELu
« Odpověď #20 kdy: 05. 07. 2016, 18:59:24 »
A proc to nejde? Nejake hlasky?

Teodor

Re:Moduly KERNELu
« Odpověď #21 kdy: 05. 07. 2016, 19:11:40 »
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.

A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?

autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?

Teodor

Re:Moduly KERNELu
« Odpověď #22 kdy: 05. 07. 2016, 19:14:18 »
A proc to nejde? Nejake hlasky?

Většina hlášek směrovala k souborům include, nemohlo si to najít cestu.
další bylo pak k pointrům v kódu.
Ovšem jen u jednoho souboru, ten když jsem skompiloval solo, tak chtěl jen dva icnlude soubory.

ByCzech

  • *****
  • 1 870
    • Zobrazit profil
    • E-mail
Re:Moduly KERNELu
« Odpověď #23 kdy: 05. 07. 2016, 20:05:42 »
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.

A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?

autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?


Co takhle poslat celý tarball se zdrojákem?

Teodor

Re:Moduly KERNELu
« Odpověď #24 kdy: 05. 07. 2016, 20:09:17 »
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.

A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?

autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?


Co takhle poslat celý tarball se zdrojákem?


Rád, ovšem uniklo mi jak sem dostat přílohu...

Neviditelný

Re:Moduly KERNELu
« Odpověď #25 kdy: 05. 07. 2016, 20:28:31 »
Stačí poslat odkaz, my si to stáhnout dovedeme sami:)

ByCzech

  • *****
  • 1 870
    • Zobrazit profil
    • E-mail
Re:Moduly KERNELu
« Odpověď #26 kdy: 05. 07. 2016, 20:41:06 »
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.

A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?

autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?


Co takhle poslat celý tarball se zdrojákem?


Rád, ovšem uniklo mi jak sem dostat přílohu...

To je dneska mládež, ani neví, jak se na lopatě sedí! :-D

Teodor

Re:Moduly KERNELu
« Odpověď #27 kdy: 05. 07. 2016, 20:56:55 »
Stačí poslat odkaz, my si to stáhnout dovedeme sami:)

http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=54&type_id=9

Je to verze Linux 3.x x86.

Teodor

Re:Moduly KERNELu
« Odpověď #28 kdy: 05. 07. 2016, 20:58:14 »
No, těžko říct, stáhl jsem si zdrojáky, které jsem chtěl zkompilovat přes svatou trojici, nicméně to nejde, protože výrobce to sprasil.

A nechybí tam jenom configure/makefile třeba proto, že to vyžaduje autotools/cmake?

autotools/cmake je co??
No, v readme se o tom nezmiňují.
Já sem klidně postnu kód Makefile nebo co bude potřeba?


Co takhle poslat celý tarball se zdrojákem?


Rád, ovšem uniklo mi jak sem dostat přílohu...

To je dneska mládež, ani neví, jak se na lopatě sedí! :-D

jo, trochu jsem zaspal :D

flack

Re:Moduly KERNELu
« Odpověď #29 kdy: 05. 07. 2016, 21:08:15 »
Len pre info ja som narazil na https://github.com/rchovan/npreal2 tak sa zda ze sa v tom niekto uz vrtal ver1.18.33 Build 14060316