Skip to contentSkip to conversation

racehound: fix kernel module compile

PATCH New Peter Seiderer 4 participants 4 messages Jul 16, 2015 – Jul 26, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 racehound: fix kernel module compile

- check for linux kernel >= 3.14
- add cross compile enviornment for linux kernel compile
- add additional kernel config hint (CONFIG_KALLSYMS_ALL)
- fix kernel module install path

---
 ...install-path-lib-instead-of-usr-lib-prefi.patch | 26 ++++++++++++++++++++++
 package/racehound/Config.in                        |  5 ++++-
 package/racehound/racehound.mk                     |  7 +++++-
 3 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 package/racehound/0001-Fix-module-install-path-lib-instead-of-usr-lib-prefi.patch
package/racehound/0001-Fix-module-install-path-lib-instead-of-usr-lib-prefi.patch new file +26 -0
new file mode 100644
index 0000000..6cac55d
@@ -0,0 +1,26 @@
+From 4f8ed39ddaf17c7dd4ddbdb88e67097f00c98173 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <[email protected]>
+Date: Thu, 16 Jul 2015 23:11:25 +0200
+Subject: [PATCH] Fix module install path (/lib instead of /usr/lib prefix)
+
+Signed-off-by: Peter Seiderer <[email protected]>
+---
+ cmake/modules/path_prefixes.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/modules/path_prefixes.cmake b/cmake/modules/path_prefixes.cmake
+index 3cb1fe2..9dc50a4 100644
+--- a/cmake/modules/path_prefixes.cmake
++++ b/cmake/modules/path_prefixes.cmake
+@@ -113,7 +113,7 @@ set(RH_INSTALL_PREFIX_DOC
+ # Set derivative prefixes
+ 
+ # additional, 1
+-set(RH_INSTALL_PREFIX_KMODULE "${RH_INSTALL_PREFIX_LIB}/modules/${KBUILD_VERSION_STRING}/misc")
++set(RH_INSTALL_PREFIX_KMODULE "/lib/modules/${KBUILD_VERSION_STRING}/misc")
+ # Another variant
+ #"${RH_INSTALL_PREFIX_LIB}/modules/${KBUILD_VERSION_STRING}/extra")
+ # additional, 2
+-- 
+2.1.4
+
package/racehound/Config.in +4 -1
index f0a8565..e8872c5 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_RACEHOUND
 	bool "racehound"
 	select BR2_PACKAGE_ELFUTILS
 	depends on BR2_LINUX_KERNEL
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR # elfutils
 	depends on !BR2_STATIC_LIBS # elfutils
@@ -18,12 +19,14 @@ config BR2_PACKAGE_RACEHOUND
 	  - CONFIG_SYSFS
 	  - CONFIG_DEBUG_FS
 	  - CONFIG_KALLSYMS
+	  - CONFIG_KALLSYMS_ALL
 	  - CONFIG_KPROBES
 
 	  https://github.com/winnukem/racehound
 
-comment "racehound needs an Linux kernel to be built"
+comment "racehound needs an Linux kernel >= 3.14 to be built"
 	depends on !BR2_LINUX_KERNEL
+	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
 	depends on BR2_i386 || BR2_x86_64
 
 comment "racehound needs a toolchain w/ C++, wchar, dynamic library"
package/racehound/racehound.mk +6 -1
index f77e5f3..26b429b 100644
@@ -12,10 +12,15 @@ RACEHOUND_SUPPORTS_IN_SOURCE_BUILD = NO
 
 RACEHOUND_DEPENDENCIES = elfutils linux
 
+# overwrite auto detection (uses host parameters, not cross compile ready)
 RACEHOUND_CONF_OPTS += \
 	-DKERNEL_VERSION_OK=YES \
 	-DMODULE_BUILD_SUPPORTED=YES \
 	-DKERNEL_CONFIG_OK=YES \
-	-DKBUILD_BUILD_DIR=$(LINUX_DIR)
+	-DKBUILD_BUILD_DIR=$(LINUX_DIR) \
+	-DKBUILD_VERSION_STRING=$(LINUX_VERSION_PROBED)
+
+# cross compile environment for linux kernel module
+RACEHOUND_MAKE_ENV=$(LINUX_MAKE_FLAGS)
 
 $(eval $(cmake-package))
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 racehound: fix kernel module compile

Peter, All,

On 2015-07-16 23:24 +0200, Peter Seiderer spake thusly:

Quoted 4 lines

- check for linux kernel >= 3.14
- add cross compile enviornment for linux kernel compile
- add additional kernel config hint (CONFIG_KALLSYMS_ALL)
- fix kernel module install path

Could you see if it were possible to use the newly introduced kernel-module infrastructure to build this kernel module, please?

http://nightly.buildroot.org/#_infrastructure_for_packages_building_kernel_modules

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#2 lore raw

PATCH 1/1 racehound: fix kernel module compile

In reply to Peter Seiderer

Hi Peter,

package/racehound/Config.in config BR2_PACKAGE_RACEHOUND · line 30

Quoted 5 lines · Peter Seiderer
package/racehound/Config.in +2 -1
-comment "racehound needs an Linux kernel to be built"
+comment "racehound needs an Linux kernel >= 3.14 to be built"
 	depends on !BR2_LINUX_KERNEL
+	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
 	depends on BR2_i386 || BR2_x86_64

Should be:

   depends on !BR2_LINUX_KERNEL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#3 lore raw

PATCH 1/1 racehound: fix kernel module compile

In reply to Peter Seiderer

Dear Peter Seiderer,

Quoted 5 lines · Peter Seiderer

- check for linux kernel >= 3.14
- add cross compile enviornment for linux kernel compile
- add additional kernel config hint (CONFIG_KALLSYMS_ALL)
- fix kernel module install path

Quoted 7 lines
---
 ...install-path-lib-instead-of-usr-lib-prefi.patch | 26 ++++++++++++++++++++++
 package/racehound/Config.in                        |  5 ++++-
 package/racehound/racehound.mk                     |  7 +++++-
 3 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 package/racehound/0001-Fix-module-install-path-lib-instead-of-usr-lib-prefi.patch

Applied with some changes:

[Thomas:
- fix Config.in dependency logic for the comment on the kernel version, as noticed by Baruch.
- minor improvements in the .mk file.]

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com