Forum » Programiranje » Kompajlanje Linux kernela - patch
Kompajlanje Linux kernela - patch
darkolord ::
Na kateregakoli od recent Linux kernelov bi rad naložil tale patch - podpora za LZMA kompresijo v JFFS2 FS.
Kar sem naredil, je, da sem v Ubuntu 20.04:
- stankal kernel source (npr. 5.7.5),
- applyal patch (brez konfliktov),
- pognal menuconfig in vklopil JFFS2 in LZMA podporo
- pognal make
Kernel se očitno skompajla, pri "mojem" modulu pa javi tale error:
Metode, zaradi katerih se pritožuje, so v lzma modulu, ki ga očitno je skompajlal (vrstica pred errorjem).
Jasno mi je, da nekaj z referencami ne štima, ampak ne štekam čisto teh Makefile include-ov. V Makefile od "jffs" modula je očitno includan compr_lzma.o in mapici include/linux ter lib/lzma.
Kakšna ideja?
Kar sem naredil, je, da sem v Ubuntu 20.04:
- stankal kernel source (npr. 5.7.5),
- applyal patch (brez konfliktov),
- pognal menuconfig in vklopil JFFS2 in LZMA podporo
- pognal make
Kernel se očitno skompajla, pri "mojem" modulu pa javi tale error:
Metode, zaradi katerih se pritožuje, so v lzma modulu, ki ga očitno je skompajlal (vrstica pred errorjem).
Jasno mi je, da nekaj z referencami ne štima, ampak ne štekam čisto teh Makefile include-ov. V Makefile od "jffs" modula je očitno includan compr_lzma.o in mapici include/linux ter lib/lzma.
Kakšna ideja?
- spremenilo: darkolord ()
WhiteAngel ::
Nekaj je z linkanjem. Na koncu vse .o fajle združi v .ko in še kakšno knjižnico .a statično vkompajla v .ko. Tu se nekaj zalomi.
Mogoče rabiš -dev paketke od liblzma?
Mogoče rabiš -dev paketke od liblzma?
Zgodovina sprememb…
- spremenil: WhiteAngel ()
kow ::
v resnic se ne razumem lih velik, ampak ce bi ugibal:
- linker ne najde simbola v object fileu (skompajlani kodi) oz. ali ne includea samega objekta ali pa simbol/funkcija ni vidna ali pa ga ni notri
- ne spomnim se vec na pamet katere toole uporabiti (recimo objdump ipd.)
Probaj z nm - list symbols from object files
- linker ne najde simbola v object fileu (skompajlani kodi) oz. ali ne includea samega objekta ali pa simbol/funkcija ni vidna ali pa ga ni notri
- ne spomnim se vec na pamet katere toole uporabiti (recimo objdump ipd.)
Probaj z nm - list symbols from object files
Zgodovina sprememb…
- spremenil: kow ()
darkolord ::
Hvala za odgovore.
Izgleda mi je uspelo.
Za metode na zgornjem seznamu, za katere se je pritoževal, sem v source pod implementacijo dodal EXPORT_SYMBOL(ime_metode), pa je šlo skozi.
Izgleda mi je uspelo.
Za metode na zgornjem seznamu, za katere se je pritoževal, sem v source pod implementacijo dodal EXPORT_SYMBOL(ime_metode), pa je šlo skozi.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Router] Asus WL500g Premium FAQ (strani: 1 2 3 4 … 10 11 12 13 )Oddelek: Omrežja in internet | 83330 (15091) | brez-imenko |
» | Asus WL500gP, dd-wrt, printer and disk sharingOddelek: Omrežja in internet | 6820 (3224) | coyotee |
» | [Naloga] : Max kompresija testne datotekeOddelek: Programiranje | 3112 (2036) | StratOS |
» | Linux bo morda pospešil delo računalniških forenzikovOddelek: Novice / Ostala programska oprema | 27512 (25922) | poweroff |
» | Problem Linksys WRT54GOddelek: Omrežja in internet | 1282 (1190) | OldSkul |