From: alberteerj <alb...@ya...> - 2008-12-30 04:05:48
|
Hi all, I'm new to Gumstix-OE and C++. Now i'm trying to compile a module file for ARMv5 with vermagic: 2.6.21preempt mod_unload ARMv5. I have no idea what to set or type in .BB file as it's not mentioned the helloworld tutorial. Can anyone teach me what to set in the .BB file ? I have uploaded the .c file here http://www.nabble.com/file/p21212895/pxa_opwm.c pxa_opwm.c Anyone feel free to help me compile it into a pxa_opwm.ko module with vermagic: 2.6.21preempt mod_unload ARMv5? Thanks. Albert -- View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p21212895.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Dave H. <dhy...@gm...> - 2008-12-30 04:31:35
|
Hi Albert, > I'm new to Gumstix-OE and C++. > > Now i'm trying to compile a module file for ARMv5 with vermagic: > 2.6.21preempt mod_unload ARMv5. > I have no idea what to set or type in .BB file as it's not mentioned the > helloworld tutorial. > > Can anyone teach me what to set in the .BB file ? Not exactly (I'm not familiar with .bb files yet). But what I can say is that you generally don't compile a module with a particular vermagic, You build the module using the same toolchain and kernel that you're running on your board. All modules that are built with the same toolchain, kernel and kernel configuration will automatically have the correct vermagic to work with the kernel running on your board. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Chris D. <chr...@gm...> - 2008-12-30 04:47:32
|
You can take a look at gumstix-oe/com.gumstix.collection/packages/gpio-event/gpio-event.bb for an example of building an external kernel module. That particular bitbake recipe has some tasks that aren't specific to building kernel modules (more dealing with the source packaging and making it bitbake friendly) but it should give you an idea of what is required. Chris On Mon, Dec 29, 2008 at 9:31 PM, Dave Hylands <dhy...@gm...> wrote: > Hi Albert, >> I'm new to Gumstix-OE and C++. >> >> Now i'm trying to compile a module file for ARMv5 with vermagic: >> 2.6.21preempt mod_unload ARMv5. >> I have no idea what to set or type in .BB file as it's not mentioned the >> helloworld tutorial. >> >> Can anyone teach me what to set in the .BB file ? > > Not exactly (I'm not familiar with .bb files yet). But what I can say > is that you generally don't compile a module with a particular > vermagic, You build the module using the same toolchain and kernel > that you're running on your board. All modules that are built with the > same toolchain, kernel and kernel configuration will automatically > have the correct vermagic to work with the kernel running on your > board. > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > ------------------------------------------------------------------------------ > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: alberteerj <alb...@ya...> - 2008-12-30 08:30:23
|
Chris Dollar wrote: > > You can take a look at > gumstix-oe/com.gumstix.collection/packages/gpio-event/gpio-event.bb > for an example of building an external kernel module. That particular > bitbake recipe has some tasks that aren't specific to building kernel > modules (more dealing with the source packaging and making it bitbake > friendly) but it should give you an idea of what is required. > > Chris > Ihave looked through the .bb file that you suggested and i tried to modify the contents DESCRIPTION = "PWM/PPM signal generator for PXA255/PXA270 GPIO" PRIORITY = "optional" SECTION = "base" LICENSE = "GPL" DEPENDS = "" PR = "r0" SRC_URI = " \ file://pxa_opwm.c \ " S = "${WORKDIR}" do_compile () { ${CC} ${CFLAGS} ${LDFLAGS} -o pxa_opwm pxa_opwm.c } do_install () { # install programs to bindir install -m 0755 -d ${D}${bindir} install -m 0755 ${S}/pxa_opwm ${D}${bindir} } PACKAGES = "${PN}" FILES_${PN} = "${bindir}/pxa_opwm" FILES_${PN} = "${bindir}/pxa_opwm.ko" and tried to compile my own module but it failed. NOTE: package pxa-opwm-r0: task do_compile: started ERROR: function do_compile failed ERROR: log data follows (/home/ken/gumstix/gumstix-oe/tmp/work/armv5te-angstrom-linux-gnueabi/pxa-opwm-r0/temp/log.do_compile.4313) | pxa_opwm.c:22:26: error: linux/module.h: No such file or directory | pxa_opwm.c:25:29: error: linux/interrupt.h: No such file or directory | pxa_opwm.c:26:24: error: linux/init.h: No such file or directory | pxa_opwm.c:27:24: error: linux/slab.h: No such file or directory | pxa_opwm.c:28:25: error: asm/uaccess.h: No such file or directory | pxa_opwm.c:29:25: error: linux/delay.h: No such file or directory | pxa_opwm.c:30:26: error: linux/device.h: No such file or directory | pxa_opwm.c:33:24: error: asm/system.h: No such file or directory | pxa_opwm.c:34:26: error: asm/hardware.h: No such file or directory | pxa_opwm.c:35:27: error: asm/mach/time.h: No such file or directory | pxa_opwm.c:36:31: error: asm/arch/pxa-regs.h: No such file or directory | pxa_opwm.c:37:28: error: asm/cacheflush.h: No such file or directory | pxa_opwm.c:39:25: error: pxa_rtsched.h: No such file or directory | pxa_opwm.c:44: error: expected ')' before 'int' | pxa_opwm.c:45: error: expected ')' before string constant | pxa_opwm.c:68: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'val_t' | pxa_opwm.c:79: error: expected specifier-qualifier-list before 'pxa_rtc_t' | pxa_opwm.c:104: error: expected declaration specifiers or '...' before string constant | pxa_opwm.c:104: warning: data definition has no type or storage class | pxa_opwm.c:105: error: expected declaration specifiers or '...' before string constant | pxa_opwm.c:105: warning: data definition has no type or storage class | pxa_opwm.c:106: error: expected declaration specifiers or '...' before string constant | pxa_opwm.c:106: warning: data definition has no type or storage class | pxa_opwm.c:109: error: expected ')' before 'int' | pxa_opwm.c:110: error: expected ')' before string constant | pxa_opwm.c:113: error: expected ')' before 'int' | pxa_opwm.c:114: error: expected ')' before string constant | pxa_opwm.c:117: error: expected ')' before 'int' | pxa_opwm.c:118: error: expected ')' before string constant | pxa_opwm.c:121: error: expected ')' before 'int' . . . I notice that the .bb file is trying to compile the module for my computer kernel. But what i really want is to compile pxa_opwm.c into pxa_opwm.ko with vermagic: 2.6.21preempt mod_unload ARMv5 and then load the .ko into gumstix and insmod inside it. So, does the settings for compile a gumstix module different from desktop module ? thanks -- View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p21214342.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Chris D. <chr...@gm...> - 2008-12-30 17:24:45
Attachments:
pxarc_1.2.bb
pxarc-makefile.patch
|
The issue here is in the do_compile() function where you are treating the call to the compiler as compiling a userspace program rather than a kernel module. In the case of the opwm driver there is already a makefile that you can use to compile the code, which would be a better starting point than trying to do it all in the bitbake recipe. Attached is a bitbake recipe for Pascal's pxarc code which will build the driver. There is also a patch needed for the Makefile, which is also attached. The structure of the recipe should look like this in you gumstix-oe user.collection: <gumstix-oe>/user.collection/packages/pxarc/pxarc_1.2.bb <gumstix-oe>/user.collection/packages/pxarc/pxarc/pxarc-makefile.patch I'll try to explain a bit of what is going on. First in the .bb file we are downloading the sources from pabr.org rather than putting them directly in our recipe folder. The helloworld tutorial doesn't cover this, but if you look at 99% of the bitbake recipes you'll see it done this way. Next it applies a patch to the Makefile since the Makefile was written for buildroot and has some hardcoded values that we don't need (if you look at the patch you'll see where all its doing is removing those variable values that are not needed). Next in the .bb file we set the "S" variable to "${WORKDIR}/pxarc-${PV}/src". In the bitbake/OE world there are a number of variables that are often used. PV in this case is 1.2 since that is the version of pxarc that we are building, and bitbake gets it from the recipe name (pxarc_1.2.bb). Under most circumstances you wouldn't have to explicitly set the S variable, but since the sources for pxarc are in a /src folder and not in the main pxarc-1.2 folder we have to set it here. Moving further down you see the "inherit module-base" line. This is another OE-ism that is needed since we are building a kernel module. There are a number of things that a recipe can inherit, such as "inherit autotools" for a package that you would typically build with a configure script, etc. If you look at some of the existing .bb recipes you'll see what I mean, and as you use OE more these variables will be more familiar to you. Next we set the "EXTRA_OEMAKE" variable. If you go back and look at the variables we removed from the Makefile in the patch you'll notice that we are setting values for those variables here in EXTRA_OEMAKE. These get substituted when we run oe_runmake. The values we are setting those variables to (${CC}, ${CROSS_COMPILE}, ${KERNEL_SOURCE}) come from standard OE variables that are available for every build. Finally we create our do_compile() function and all we need to do is tell it to call oe_runmake, which will build the Makefile (well, actually we use UNSET to unset some variables first... I've only ever had to do this for kernel-type builds, and I suspect its not needed with later versions of bitbake, but the build would not complete for me without at least unsetting the LDFLAGS variable, and unsetting the others does no harm). The install and files portion of the recipe is just like the helloworld tutorial. The learning curve for OE is a bit steep, but it is actually quite intuitive and once you've used it a bit it will all become second nature for you. If any of the explanation above doesn't make sense let me know and I'll try to elaborate. Chris On Tue, Dec 30, 2008 at 1:30 AM, alberteerj <alb...@ya...> wrote: > > > Chris Dollar wrote: >> >> You can take a look at >> gumstix-oe/com.gumstix.collection/packages/gpio-event/gpio-event.bb >> for an example of building an external kernel module. That particular >> bitbake recipe has some tasks that aren't specific to building kernel >> modules (more dealing with the source packaging and making it bitbake >> friendly) but it should give you an idea of what is required. >> >> Chris >> > > Ihave looked through the .bb file that you suggested and i tried to modify > the contents > > DESCRIPTION = "PWM/PPM signal generator for PXA255/PXA270 GPIO" > PRIORITY = "optional" > SECTION = "base" > LICENSE = "GPL" > DEPENDS = "" > > PR = "r0" > > SRC_URI = " \ > file://pxa_opwm.c \ > " > > S = "${WORKDIR}" > > do_compile () { > ${CC} ${CFLAGS} ${LDFLAGS} -o pxa_opwm pxa_opwm.c > } > > do_install () { > # install programs to bindir > install -m 0755 -d ${D}${bindir} > install -m 0755 ${S}/pxa_opwm ${D}${bindir} > } > > PACKAGES = "${PN}" > FILES_${PN} = "${bindir}/pxa_opwm" > FILES_${PN} = "${bindir}/pxa_opwm.ko" > > and tried to compile my own module but it failed. > > NOTE: package pxa-opwm-r0: task do_compile: started > ERROR: function do_compile failed > ERROR: log data follows > (/home/ken/gumstix/gumstix-oe/tmp/work/armv5te-angstrom-linux-gnueabi/pxa-opwm-r0/temp/log.do_compile.4313) > | pxa_opwm.c:22:26: error: linux/module.h: No such file or directory > | pxa_opwm.c:25:29: error: linux/interrupt.h: No such file or directory > | pxa_opwm.c:26:24: error: linux/init.h: No such file or directory > | pxa_opwm.c:27:24: error: linux/slab.h: No such file or directory > | pxa_opwm.c:28:25: error: asm/uaccess.h: No such file or directory > | pxa_opwm.c:29:25: error: linux/delay.h: No such file or directory > | pxa_opwm.c:30:26: error: linux/device.h: No such file or directory > | pxa_opwm.c:33:24: error: asm/system.h: No such file or directory > | pxa_opwm.c:34:26: error: asm/hardware.h: No such file or directory > | pxa_opwm.c:35:27: error: asm/mach/time.h: No such file or directory > | pxa_opwm.c:36:31: error: asm/arch/pxa-regs.h: No such file or directory > | pxa_opwm.c:37:28: error: asm/cacheflush.h: No such file or directory > | pxa_opwm.c:39:25: error: pxa_rtsched.h: No such file or directory > | pxa_opwm.c:44: error: expected ')' before 'int' > | pxa_opwm.c:45: error: expected ')' before string constant > | pxa_opwm.c:68: error: expected '=', ',', ';', 'asm' or '__attribute__' > before 'val_t' > | pxa_opwm.c:79: error: expected specifier-qualifier-list before 'pxa_rtc_t' > | pxa_opwm.c:104: error: expected declaration specifiers or '...' before > string constant > | pxa_opwm.c:104: warning: data definition has no type or storage class > | pxa_opwm.c:105: error: expected declaration specifiers or '...' before > string constant > | pxa_opwm.c:105: warning: data definition has no type or storage class > | pxa_opwm.c:106: error: expected declaration specifiers or '...' before > string constant > | pxa_opwm.c:106: warning: data definition has no type or storage class > | pxa_opwm.c:109: error: expected ')' before 'int' > | pxa_opwm.c:110: error: expected ')' before string constant > | pxa_opwm.c:113: error: expected ')' before 'int' > | pxa_opwm.c:114: error: expected ')' before string constant > | pxa_opwm.c:117: error: expected ')' before 'int' > | pxa_opwm.c:118: error: expected ')' before string constant > | pxa_opwm.c:121: error: expected ')' before 'int' > . > . > . > > > I notice that the .bb file is trying to compile the module for my computer > kernel. > But what i really want is to compile pxa_opwm.c into pxa_opwm.ko with > vermagic: 2.6.21preempt mod_unload ARMv5 and then load the .ko into gumstix > and insmod inside it. > So, does the settings for compile a gumstix module different from desktop > module ? > > thanks > -- > View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p21214342.html > Sent from the Gumstix mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: alberteerj <alb...@ya...> - 2008-12-31 03:30:57
|
Chris, First of all, i'm greatly appreciated the detailed explanations and the pxarc_1.2.bb that you provided. It helps me to gain lot more understanding and more clearer how does the OE environment works right now. And i have tried to bitbake it using the .bb and patch file you provided. But it seems to have an error in patching the Makefile. The error is as following: [ken@localhost ~]$ bitbake pxarc NOTE: Handling BitBake files: / (4958/4958) [100 %] NOTE: Parsing finished. 4722 cached, 0 parsed, 236 skipped, 0 masked. NOTE: build 200812311106: started OE Build Configuration: BB_VERSION = "1.8.10" OE_REVISION = "<unknown>" TARGET_ARCH = "arm" TARGET_OS = "linux-gnueabi" MACHINE = "gumstix-custom-connex" DISTRO = "angstrom" DISTRO_VERSION = "2007.9-test-20081231" TARGET_FPU = "soft" NOTE: Resolving any missing task queue dependencies NOTE: preferred version 2.5 of glibc not available (for item virtual/arm-angstrom-linux-gnueabi-libc-for-gcc) NOTE: Preparing runqueue NOTE: Executing runqueue NOTE: Running task 278 of 310 (ID: 8, /home/ken/gumstix/gumstix-oe/user.collection/packages/pxarc/pxarc_1.2.bb, do_patch) NOTE: package pxarc-1.2: started NOTE: package pxarc-1.2-r0: task do_patch: started NOTE: Applying patch 'pxarc-makefile.patch' ERROR: Error in executing: ERROR: Exception:<class 'CmdError'> Message:Command Error: exit status: 1 Output: Applying patch pxarc-makefile.patch patching file Makefile patch: **** malformed patch at line 24: @@ -46,8 +30,8 @@ Patch pxarc-makefile.patch does not apply (enforce with -f) ERROR: Printing the environment of the function ERROR: Error in executing: ERROR: Exception:<class 'CmdError'> Message:Command Error: exit status: 1 Output: Applying patch pxarc-makefile.patch patching file Makefile patch: **** malformed patch at line 24: @@ -46,8 +30,8 @@ Patch pxarc-makefile.patch does not apply (enforce with -f) ERROR: Printing the environment of the function ERROR: Error in executing: ERROR: Exception:<class 'CmdError'> Message:Command Error: exit status: 1 Output: Applying patch pxarc-makefile.patch patching file Makefile patch: **** malformed patch at line 24: @@ -46,8 +30,8 @@ Patch pxarc-makefile.patch does not apply (enforce with -f) ERROR: Printing the environment of the function ERROR: Build of /home/ken/gumstix/gumstix-oe/user.collection/packages/pxarc/pxarc_1.2.bb do_patch failed Traceback (most recent call last): File "/home/ken/gumstix/gumstix-oe/bitbake/bin/bitbake", line 134, in <module> main() File "/home/ken/gumstix/gumstix-oe/bitbake/bin/bitbake", line 131, in main cooker.cook() File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/cooker.py", line 601, in cook return self.buildTargets(pkgs_to_build) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/cooker.py", line 517, in buildTargets failures = rq.execute_runqueue() File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/runqueue.py", line 650, in execute_runqueue self.execute_runqueue_internal() File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/runqueue.py", line 767, in execute_runqueue_internal self.cooker.tryBuild(fn, False) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/cooker.py", line 136, in tryBuild return self.tryBuildPackage(fn, item, self.configuration.cmd, the_data, build_depends) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/cooker.py", line 109, in tryBuildPackage bb.build.exec_task('do_%s' % task, the_data) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 303, in exec_task execute(None, task) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 292, in execute exec_func(item, localdata) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 106, in exec_func exec_func_python(func, d) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 128, in exec_func_python utils.better_exec(comp,g,tmp, bb.data.getVar('FILE',d,1)) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/utils.py", line 144, in better_exec exec code in context File "do_patch", line 4, in <module> File "do_patch", line 2, in do_patch File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 106, in exec_func exec_func_python(func, d) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 128, in exec_func_python utils.better_exec(comp,g,tmp, bb.data.getVar('FILE',d,1)) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/utils.py", line 144, in better_exec exec code in context File "base_do_patch", line 4, in <module> File "base_do_patch", line 2, in base_do_patch File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 106, in exec_func exec_func_python(func, d) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 128, in exec_func_python utils.better_exec(comp,g,tmp, bb.data.getVar('FILE',d,1)) File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/utils.py", line 144, in better_exec exec code in context File "patch_do_patch", line 100, in <module> File "patch_do_patch", line 98, in patch_do_patch File "<bb>", line 339, in Resolve __builtin__.CmdError: Command Error: exit status: 1 Output: Applying patch pxarc-makefile.patch patching file Makefile patch: **** malformed patch at line 24: @@ -46,8 +30,8 @@ Patch pxarc-makefile.patch does not apply (enforce with -f) ERROR: Task 8 (/home/ken/gumstix/gumstix-oe/user.collection/packages/pxarc/pxarc_1.2.bb, do_patch) failed NOTE: Tasks Summary: Attempted 277 tasks of which 277 didn't need to be rerun and 1 failed. ERROR: '/home/ken/gumstix/gumstix-oe/user.collection/packages/pxarc/pxarc_1.2.bb' failed Lastly, it's there anyway i could reach you besides through this forum. Maybe messenger? Thanks for the help in advance! -- View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p21226791.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: Chris D. <chr...@gm...> - 2008-12-31 15:53:42
|
Hmm.... it builds fine for me here. Mabye someone else can give me a sanity check on the recipe? I'm pretty sure I uploaded the correct files. I typically hang out in the #gumstix IRC channel (I'm scruggs). Chris On Tue, Dec 30, 2008 at 8:30 PM, alberteerj <alb...@ya...> wrote: > > Chris, > > First of all, i'm greatly appreciated the detailed explanations and the > pxarc_1.2.bb that you provided. > It helps me to gain lot more understanding and more clearer how does the OE > environment works right now. > > And i have tried to bitbake it using the .bb and patch file you provided. > But it seems to have an error in patching the Makefile. > The error is as following: > > [ken@localhost ~]$ bitbake pxarc > NOTE: Handling BitBake files: / (4958/4958) [100 %] > NOTE: Parsing finished. 4722 cached, 0 parsed, 236 skipped, 0 masked. > NOTE: build 200812311106: started > > OE Build Configuration: > BB_VERSION = "1.8.10" > OE_REVISION = "<unknown>" > TARGET_ARCH = "arm" > TARGET_OS = "linux-gnueabi" > MACHINE = "gumstix-custom-connex" > DISTRO = "angstrom" > DISTRO_VERSION = "2007.9-test-20081231" > TARGET_FPU = "soft" > > NOTE: Resolving any missing task queue dependencies > NOTE: preferred version 2.5 of glibc not available (for item > virtual/arm-angstrom-linux-gnueabi-libc-for-gcc) > NOTE: Preparing runqueue > NOTE: Executing runqueue > NOTE: Running task 278 of 310 (ID: 8, > /home/ken/gumstix/gumstix-oe/user.collection/packages/pxarc/pxarc_1.2.bb, > do_patch) > NOTE: package pxarc-1.2: started > NOTE: package pxarc-1.2-r0: task do_patch: started > NOTE: Applying patch 'pxarc-makefile.patch' > ERROR: Error in executing: > ERROR: Exception:<class 'CmdError'> Message:Command Error: exit status: 1 > Output: > Applying patch pxarc-makefile.patch > patching file Makefile > patch: **** malformed patch at line 24: @@ -46,8 +30,8 @@ > > Patch pxarc-makefile.patch does not apply (enforce with -f) > ERROR: Printing the environment of the function > ERROR: Error in executing: > ERROR: Exception:<class 'CmdError'> Message:Command Error: exit status: 1 > Output: > Applying patch pxarc-makefile.patch > patching file Makefile > patch: **** malformed patch at line 24: @@ -46,8 +30,8 @@ > > Patch pxarc-makefile.patch does not apply (enforce with -f) > ERROR: Printing the environment of the function > ERROR: Error in executing: > ERROR: Exception:<class 'CmdError'> Message:Command Error: exit status: 1 > Output: > Applying patch pxarc-makefile.patch > patching file Makefile > patch: **** malformed patch at line 24: @@ -46,8 +30,8 @@ > > Patch pxarc-makefile.patch does not apply (enforce with -f) > ERROR: Printing the environment of the function > ERROR: Build of > /home/ken/gumstix/gumstix-oe/user.collection/packages/pxarc/pxarc_1.2.bb > do_patch failed > Traceback (most recent call last): > File "/home/ken/gumstix/gumstix-oe/bitbake/bin/bitbake", line 134, in > <module> > main() > File "/home/ken/gumstix/gumstix-oe/bitbake/bin/bitbake", line 131, in main > cooker.cook() > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/cooker.py", line 601, in > cook > return self.buildTargets(pkgs_to_build) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/cooker.py", line 517, in > buildTargets > failures = rq.execute_runqueue() > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/runqueue.py", line 650, > in execute_runqueue > self.execute_runqueue_internal() > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/runqueue.py", line 767, > in execute_runqueue_internal > self.cooker.tryBuild(fn, False) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/cooker.py", line 136, in > tryBuild > return self.tryBuildPackage(fn, item, self.configuration.cmd, the_data, > build_depends) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/cooker.py", line 109, in > tryBuildPackage > bb.build.exec_task('do_%s' % task, the_data) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 303, in > exec_task > execute(None, task) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 292, in > execute > exec_func(item, localdata) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 106, in > exec_func > exec_func_python(func, d) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 128, in > exec_func_python > utils.better_exec(comp,g,tmp, bb.data.getVar('FILE',d,1)) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/utils.py", line 144, in > better_exec > exec code in context > File "do_patch", line 4, in <module> > File "do_patch", line 2, in do_patch > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 106, in > exec_func > exec_func_python(func, d) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 128, in > exec_func_python > utils.better_exec(comp,g,tmp, bb.data.getVar('FILE',d,1)) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/utils.py", line 144, in > better_exec > exec code in context > File "base_do_patch", line 4, in <module> > File "base_do_patch", line 2, in base_do_patch > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 106, in > exec_func > exec_func_python(func, d) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/build.py", line 128, in > exec_func_python > utils.better_exec(comp,g,tmp, bb.data.getVar('FILE',d,1)) > File "/home/ken/gumstix/gumstix-oe/bitbake/lib/bb/utils.py", line 144, in > better_exec > exec code in context > File "patch_do_patch", line 100, in <module> > File "patch_do_patch", line 98, in patch_do_patch > File "<bb>", line 339, in Resolve > __builtin__.CmdError: Command Error: exit status: 1 Output: > Applying patch pxarc-makefile.patch > patching file Makefile > patch: **** malformed patch at line 24: @@ -46,8 +30,8 @@ > > Patch pxarc-makefile.patch does not apply (enforce with -f) > ERROR: Task 8 > (/home/ken/gumstix/gumstix-oe/user.collection/packages/pxarc/pxarc_1.2.bb, > do_patch) failed > NOTE: Tasks Summary: Attempted 277 tasks of which 277 didn't need to be > rerun and 1 failed. > ERROR: > '/home/ken/gumstix/gumstix-oe/user.collection/packages/pxarc/pxarc_1.2.bb' > failed > > > Lastly, it's there anyway i could reach you besides through this forum. > Maybe messenger? > Thanks for the help in advance! > > -- > View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p21226791.html > Sent from the Gumstix mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: alberteerj <alb...@ya...> - 2008-12-31 18:15:53
|
Chris Dollar wrote: > > Hmm.... it builds fine for me here. Mabye someone else can give me a > sanity check on the recipe? I'm pretty sure I uploaded the correct > files. > > I typically hang out in the #gumstix IRC channel (I'm scruggs). > > Chris > > Hmm.....Chris, did you write the .bb file and the patch file by your own ? What linux dist you are using ? Because i'm using fedora 8 and don't know it will cause problem with it or not. By the way, what is " @@ -46,8 +30,8 @@ " in the patch file means? Maybe the values went wrong and cause compile error ?? Albert -- View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p21235288.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: alberteerj <alb...@ya...> - 2009-01-01 07:48:34
|
Chris Dollar wrote: > > Hmm.... it builds fine for me here. Mabye someone else can give me a > sanity check on the recipe? I'm pretty sure I uploaded the correct > files. > > I typically hang out in the #gumstix IRC channel (I'm scruggs). > > Chris > Hey chris, You said you manage to build the modules. Could you just upload the module files (pxa_rtsched.ko, pxa_opwm.ko , pxa_ipwm.ko ) that you have compiled to me. If only the modules that you compile is with vermagic: 2.6.21 preempt mod_unload ARMv5 by doing modinfo . Thanks -- View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p21239730.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: alberteerj <alb...@ya...> - 2009-01-01 16:00:19
|
Hey chris, You said you manage to build the modules. Could you just upload the module files (pxa_rtsched.ko, pxa_opwm.ko , pxa_ipwm.ko ) that you have compiled to me. If only the modules that you compile is with vermagic: 2.6.21 preempt mod_unload ARMv5 by doing modinfo . Thanks -- View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p21242315.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: lshashi_cedt <ls...@in...> - 2009-04-14 12:07:02
|
Hello, I have 2.6.27-omap1 kernel on my overo. I have followed the following steps to get a helloworld module. In the kernel folder; 1) make CROSS_COMPILE=arm-angstrom-linux-gnueabi- overo_defconfig 2)make CROSS_COMPILE=arm-angstrom-linux-gnueabi- modules In folder havin Make file & hello.c 3)make - Hello.c --------------- #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); /*from linux device drivers v3*/ int hello_init(void) { printk(KERN_ALERT "Hello, Kernal World\n"); return 0; } void hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel kernal world\n"); } module_init(hello_init); module_exit(hello_exit); ----------- Makefile ----------------------- obj-m := hello.o all: hello.c make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- -C ~/Desktop/linux/linux-omap-2.6.git M=$(PWD) modules clean: rm *.ko *.o Module.symvers hello.mod.c ------------------- Module compiles. But upon INSMOD i get ------------------------ hello: no symbol version for struct_module insmod: error inserting 'hello.ko': -1 Invalid module format --------------------------- I think err is with Modversions. Can u suggest somethin to avoid tis error Thanks in advance. -- View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p23038219.html Sent from the Gumstix mailing list archive at Nabble.com. |
From: lshashi_cedt <ls...@in...> - 2009-04-17 11:10:43
|
I have compiled using the same kernel source tree. modinfo of an existing module(ipv6) and the one i am trying to insert is as shown below. I have the CONFIG_MODVERSION=y in config file. I cant figure out y I am getting this error. Kindly indicate if anyone has a solution for this. Thanks, Shashi ---------------------------------------------------------------------------------------------------------- root@overo:~# modinfo hello.ko filename: hello.ko license: GPL srcversion: 396CC9DB858F504E586E19C depends: vermagic: 2.6.27-omap1 mod_unload modversions ARMv7 root@overo:~# modinfo ipv6 filename: /lib/modules/2.6.27-omap1/kernel/net/ipv6/ipv6.ko alias: net-pf-10 license: GPL description: IPv6 protocol stack for Linux author: Cast of dozens srcversion: BE2B3BB7D1DBD8A20E0B93D depends: vermagic: 2.6.27-omap1 mod_unload modversions ARMv7 root@overo:~# insmod hello.ko hello: no symbol version for struct_module insmod: error inserting 'hello.ko': -1 Invalid module format ------------------------------------------------------------------------------------------------------------- lshashi_cedt wrote: > > Hello, > I have 2.6.27-omap1 kernel on my overo. I have followed the following > steps to get a helloworld module. > > In the kernel folder; > 1) make CROSS_COMPILE=arm-angstrom-linux-gnueabi- overo_defconfig > 2)make CROSS_COMPILE=arm-angstrom-linux-gnueabi- modules > > In folder havin Make file & hello.c > > 3)make > - > Hello.c > --------------- > #include <linux/init.h> > #include <linux/kernel.h> > #include <linux/module.h> > MODULE_LICENSE("Dual BSD/GPL"); > /*from linux device drivers v3*/ > int hello_init(void) > { > printk(KERN_ALERT "Hello, Kernal World\n"); > return 0; > } > void hello_exit(void) > { > printk(KERN_ALERT "Goodbye, cruel kernal world\n"); > } > module_init(hello_init); > module_exit(hello_exit); > ----------- > > Makefile > ----------------------- > > obj-m := hello.o > > all: hello.c > make ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- -C > ~/Desktop/linux/linux-omap-2.6.git M=$(PWD) modules > > clean: > > rm *.ko *.o Module.symvers hello.mod.c > > ------------------- > Module compiles. But upon INSMOD i get > ------------------------ > hello: no symbol version for struct_module > insmod: error inserting 'hello.ko': -1 Invalid module format > > --------------------------- > I think err is with Modversions. > > Can u suggest somethin to avoid tis error > > Thanks in advance. > > > -- View this message in context: http://www.nabble.com/How-to-compile-.ko-module-file-using-OE----tp21212895p23095530.html Sent from the Gumstix mailing list archive at Nabble.com. |