Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] kompilacja modułu jądra z poziomu ebuilda
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Instalacja i sprzęt
View previous topic :: View next topic  
Author Message
n3rd
Guru
Guru


Joined: 30 Apr 2005
Posts: 328

PostPosted: Fri Mar 09, 2012 9:17 pm    Post subject: [SOLVED] kompilacja modułu jądra z poziomu ebuilda Reply with quote

Witam,

Mam moduł jądra, który chcę instalować z poziomu ebuild. Makefile wygląda tak:

Code:
KERNELDIR := /lib/modules/`uname -r`/build
obj-m := nazwa_mod.o
default:
        $(MAKE) -C $(KERNELDIR) M=`pwd` modules


I kiedy chcę to skompilować wszystko działa prawidłowo:

Code:
$ make
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make[1]: Entering directory `/usr/src/linux-3.2.9-hardened'
  CC [M]  /home/danice/mod/nazwa_mod.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/danice/mod/nazwa_mod.mod.o
  LD [M]  /home/danice/mod/nazwa_mod.ko
make[1]: Leaving directory `/usr/src/linux-3.2.9-hardened'


I zabrałem się do przygotowanie do tego ebuildu ale dostaję coś takiego:

Code:
>>> Compiling source in /var/tmp/portage/dev-util/modtest-0.1/work ...
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make[1]: Entering directory `/usr/src/linux-3.2.9-hardened'
Makefile:610: /usr/src/linux-3.2.9-hardened/arch/amd64/Makefile: No such file or directory
make[1]: *** No rule to make target `/usr/src/linux-3.2.9-hardened/arch/amd64/Makefile'.  Stop.
make[1]: Leaving directory `/usr/src/linux-3.2.9-hardened'
make: *** [default] Error 2


I teraz o co chodzi z tą linią 610:

Code:
$ sed -n 607,612p /lib/modules/3.2.9-hardened/build/Makefile
endif
endif

include $(srctree)/arch/$(SRCARCH)/Makefile

ifneq ($(CONFIG_FRAME_WARN),0)


Wygląda na to, że problem jest z tym, jak w zmiennych definiowana jest SRCARCH. Przypuszczalnie portage ustawia tę zmienną na "amd64" a niestety jądro ma to ustawione albo na x86 albo x86_64 (dlatego nie znajduje 'amd64').

Czy ktoś może ma pomysł w jaki sposób można rozwiązać ten problem?

Pozdrawiam,
daniel
_________________
"Jeśli coś jest niemożliwe do zrobienia, przychodzi ktoś kto o tym nie wie i robi to."
-- Albert Einstein

Zanim zadasz pytanie na forum, wykonaj: /etc/init.d/brain.


Last edited by n3rd on Sat Mar 10, 2012 1:04 pm; edited 2 times in total
Back to top
View user's profile Send private message
SlashBeast
Retired Dev
Retired Dev


Joined: 23 May 2006
Posts: 2922

PostPosted: Fri Mar 09, 2012 11:27 pm    Post subject: Reply with quote

Mozesz sprobowac przekazac poprawne SRCARCH do Make, poinienes tez przekazac KERNELDIR poniewaz uzywanie 'uname -r' to naprawde zly pomysl.

Jednak najpierw radzil bym Ci sprawdzenie czy mozesz uzyc linux-mod eclass. Przykladowy ebuild z acpI_call:

Code:

EAPI=3
EGIT_REPO_URI="git://github.com/mkottman/acpi_call.git"
inherit git-2 linux-info linux-mod
DESCRIPTION="A kernel module that enables you to call ACPI methods"
HOMEPAGE="http://github.com/mkottman/acpi_call"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE=""
CONFIG_CHECK="ACPI"
MODULE_NAMES="acpi_call(misc:${S})"
BUILD_TARGETS="clean default"


Wszystkie funkcje wywola eclass.
Back to top
View user's profile Send private message
n3rd
Guru
Guru


Joined: 30 Apr 2005
Posts: 328

PostPosted: Sat Mar 10, 2012 1:03 pm    Post subject: Reply with quote

Dzięki! Przerobiłem Makefile bazując na acpi_call oraz dodałem zmiany w ebuild i teraz wszystko działa znakomicie :)

Swoją drogą, to nie wiem, czy kiedyś nie warto w gentoo zrobić globalnego porządku z tym, aby oznaczenie architektury 64-bitowej było zgodne z oznaczeniem używanym w jądrze, czyli x86_64 zamiast amd64.

Pozdrawiam
_________________
"Jeśli coś jest niemożliwe do zrobienia, przychodzi ktoś kto o tym nie wie i robi to."
-- Albert Einstein

Zanim zadasz pytanie na forum, wykonaj: /etc/init.d/brain.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Instalacja i sprzęt All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum