Skip to contentSkip to conversation

Pull request for branch xenomai-rtai

GIT PULL New Thomas Petazzoni 5 participants 30 messages Sep 17, 2011 – Nov 14, 2011

lore
Share & tools
lore
#0 lore raw

Hello,

Here is a patch set that adds the Xenomai and RTAI real-time extensions of the Linux kernel. The Xenomai patches come from Thomas de Schampheleire, who himself took them from Beno?t Mauduit. Those patches have been improved further, taking into account comments from Arnout, and adding some more features (ability to remove test programs, RT-CAN programs, Analogy programs, and select which skins should be installed).

The RTAI real-time extension is also added. It is not well supported on architectures others than x86/x86-64, but can be useful on those architectures. However, its integration required a small change in the package infrastructure, described in detail in its commit log.

Regards,

Thomas

The following changes since commit 16d6e9b3420e78a89960b8b68202ea46a618810d:

Makefile.autotools.in: fix autoreconf libtool patching after libtool move (2011-09-17 14:16:42 +0200)

are available in the git repository at:
http://free-electrons.com/~thomas/buildroot.git xenomai-rtai

Thomas De Schampheleire (2):
linux: Add Linux Kernel extensions menu Add xenomai real-time Framework to buildroot

Thomas Petazzoni (6):
xenomai: add support to keep or remove testsuite programs
xenomai: add support to keep or remove RT-CAN utilities
xenomai: add support to keep or remove Analogy utilities and libs
xenomai: add support to keep or remove skins
package: change ordering of steps
Add support for the RTAI real-time extension

 linux/Config.ext.in                                |   31 ++++
 linux/Config.in                                    |    4 +
 linux/linux-ext-rtai.mk                            |   47 ++++++
 linux/linux-ext-xenomai.mk                         |   30 ++++
 linux/linux.mk                                     |    2 +
 package/Config.in                                  |    5 +
 package/Makefile.package.in                        |    6 +-
 package/rtai/Config.in                             |    2 +
 package/rtai/rtai.mk                               |   16 ++
 package/xenomai/Config.in                          |  159 ++++++++++++++++++++
 .../xenomai/xenomai-do-not-install-devices.patch   |   11 ++
 package/xenomai/xenomai.mk                         |  159 ++++++++++++++++++++
 target/generic/device_table_dev.txt                |    5 +
 13 files changed, 474 insertions(+), 3 deletions(-)
 create mode 100644 linux/Config.ext.in
 create mode 100644 linux/linux-ext-rtai.mk
 create mode 100644 linux/linux-ext-xenomai.mk
 create mode 100644 package/rtai/Config.in
 create mode 100644 package/rtai/rtai.mk
 create mode 100644 package/xenomai/Config.in
 create mode 100644 package/xenomai/xenomai-do-not-install-devices.patch
 create mode 100644 package/xenomai/xenomai.mk

Thanks,

Signature · 1 line
Thomas Petazzoni
#1 lore raw

PATCH 1/8 linux: Add Linux Kernel extensions menu

From: Thomas De Schampheleire <[email protected]>

Add a kernel sub-menu (called "Linux Kernel Extensions"), which makes possible to patch it or tweak the kernel build step.

* All linux/linux-ext-*.mk files will be read by the make process.
* The menu can be customized in "linux/Config.ext.in".

---
 linux/Config.ext.in |    3 +++
 linux/Config.in     |    4 ++++
 linux/linux.mk      |    2 ++
 3 files changed, 9 insertions(+), 0 deletions(-)
 create mode 100644 linux/Config.ext.in
linux/Config.ext.in new file +3 -0
new file mode 100644
index 0000000..50e801d
@@ -0,0 +1,3 @@
+menu "Linux Kernel Extensions"
+
+endmenu
linux/Config.in +4 -0
index 537cb54..7852408 100644
@@ -176,6 +176,10 @@ config BR2_LINUX_KERNEL_INSTALL_TARGET
 	  /boot in the target root filesystem, as is typically done on
 	  x86/x86_64 systems.
 
+
+# Linux extensions (Xenomai)
+source "linux/Config.ext.in"
+
 endif # BR2_LINUX_KERNEL
 
 endmenu
linux/linux.mk +2 -0
index d289b28..f249d96 100644
@@ -177,6 +177,8 @@ define LINUX_INSTALL_TARGET_CMDS
 	fi
 endef
 
+include linux/linux-ext-*.mk
+
 $(eval $(call GENTARGETS,,linux))
 
 linux-menuconfig linux-xconfig linux-gconfig linux-nconfig linux26-menuconfig linux26-xconfig linux26-gconfig linux26-nconfig: dirs $(LINUX_DIR)/.stamp_configured
Signature · 1 line
1.7.4.1
#2 lore raw

PATCH 1/8 linux: Add Linux Kernel extensions menu

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> From: Thomas De Schampheleire <[email protected]> Thomas> Add a kernel sub-menu (called "Linux Kernel Extensions"), which makes Thomas> possible to patch it or tweak the kernel build step.

Thomas> * All linux/linux-ext-*.mk files will be read by the make process. Thomas> * The menu can be customized in "linux/Config.ext.in".

Thomas> +# Linux extensions (Xenomai)
Thomas> +source "linux/Config.ext.in"

That comments doesn't belong here if we want it to be a generic extension support.

Other than that it looks good - Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 2/8 Add xenomai real-time Framework to buildroot

In reply to Thomas Petazzoni

From: Thomas De Schampheleire <[email protected]>

[Fixes by Thomas, including comments from Arnout:
* Use AUTOTARGETS instead of GENTARGETS

* Use $(KERNEL_ARCH) instead of $(BR2_ARCH) as argument to the prepare-kernel.sh script. This allows the arch name to be fixed with the usual sed expressions and the quotes to be stripped.

* Add the --verbose option to prepare-kernel.sh. This allows to get some clear error message when no Xenomai patch has been found for the current kernel version.

* Improve the help texts as suggested by Arnout, and remove the now useless README file.

* Add a BR2_PACKAGE_XENOMAI_SMP option, instead of poking inside the kernel configuration to find out whether SMP is enabled or not. This cannot work because: 1) the kernel might be built outside of Buildroot and 2) if the kernel is built inside Buildroot, it is built *after* Xenomai, so the kernel configuration file is typically not yet present.

* Simplify the ARM subarchitecture selection as suggested by Arnout.

* Remove the documentation and development files according to Buildroot standards (using BR2_HAVE_DOCUMENTATION and BR2_HAVE_DEVFILES).

* Simplify the /etc/ld.so.conf modification logic.
]

---
 linux/Config.ext.in                                |   15 +++
 linux/linux-ext-xenomai.mk                         |   30 ++++++
 package/Config.in                                  |    4 +
 package/xenomai/Config.in                          |  106 ++++++++++++++++++++
 .../xenomai/xenomai-do-not-install-devices.patch   |   11 ++
 package/xenomai/xenomai.mk                         |   99 ++++++++++++++++++
 target/generic/device_table_dev.txt                |    5 +
 7 files changed, 270 insertions(+), 0 deletions(-)
 create mode 100644 linux/linux-ext-xenomai.mk
 create mode 100644 package/xenomai/Config.in
 create mode 100644 package/xenomai/xenomai-do-not-install-devices.patch
 create mode 100644 package/xenomai/xenomai.mk
linux/Config.ext.in +15 -0
index 50e801d..fc37d23 100644
@@ -1,3 +1,18 @@
 menu "Linux Kernel Extensions"
 
+# Xenomai
+config BR2_LINUX_KERNEL_EXT_XENOMAI
+	bool "Adeos/Xenomai Real-time patch"
+  	select BR2_PACKAGE_XENOMAI
+	help
+	  Xenomai Kernel part.
+
+config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
+	depends on BR2_LINUX_KERNEL_EXT_XENOMAI
+	string "Path for Adeos patch file"
+	help
+	  Optionally, explicitly specify the Adeos patch to use.
+	  Download it at http://download.gna.org/adeos/patches/v2.6/$(ARCH)/
+	  and verify that your kernel version in buildroot matches.
+
 endmenu
linux/linux-ext-xenomai.mk new file +30 -0
new file mode 100644
index 0000000..0db685a
@@ -0,0 +1,30 @@
+##################################################
+# Linux Adeos/Xenomai extensions
+#
+# Patch the linux kernel with xenomai extension
+##################################################
+
+ifeq ($(BR2_LINUX_KERNEL_EXT_XENOMAI),y)
+# Add dependency to xenomai (user-space) which provide ksrc part
+LINUX_DEPENDENCIES += xenomai
+
+# Adeos patch version
+XENOMAI_ADEOS_PATCH = $(call qstrip,$(BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH))
+ifeq ($(XENOMAI_ADEOS_PATCH),)
+XENOMAI_ADEOS_OPT = --default
+else
+XENOMAI_ADEOS_OPT = --adeos=$(XENOMAI_ADEOS_PATCH)
+endif
+
+# Prepare kernel patch
+define XENOMAI_PREPARE_KERNEL
+	$(XENOMAI_DIR)/scripts/prepare-kernel.sh \
+		--linux=$(LINUX_DIR) \
+		--arch=$(KERNEL_ARCH) \
+		$(XENOMAI_ADEOS_OPT)		  \
+		--verbose
+endef
+
+LINUX_POST_EXTRACT_HOOKS += XENOMAI_PREPARE_KERNEL
+
+endif #BR2_LINUX_EXT_XENOMAI
package/Config.in +4 -0
index d95e7b5..efb266a 100644
@@ -487,6 +487,10 @@ source "package/rpm/Config.in"
 endif
 endmenu
 
+menu "Real-Time"
+source "package/xenomai/Config.in"
+endmenu
+
 menu "Shell and utilities"
 source "package/at/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
package/xenomai/Config.in new file +106 -0

106 lines not on this page · raw message

package/xenomai/xenomai-do-not-install-devices.patch new file +11 -0
new file mode 100644
index 0000000..348abee
@@ -0,0 +1,11 @@
+--- a/Makefile.in	2011-06-24 16:11:23.591449817 +0200
++++ b/Makefile.in	2011-06-24 16:20:29.638129633 +0200
+@@ -719,7 +719,7 @@
+ 	  $$sudo mknod -m 666 $(DESTDIR)/dev/rtheap c 10 254 ; \
+ 	fi
+ 
+-install-exec-local: devices
++install-exec-local:
+ 
+ install-user:
+ 	$(MAKE) SUDO=false install
package/xenomai/xenomai.mk new file +99 -0

99 lines not on this page · raw message

target/generic/device_table_dev.txt +5 -0
index a3d53d4..71cd083 100644
@@ -141,3 +141,8 @@
 
 # I2C device nodes
 /dev/i2c-	c	666	0	0	89	0	0	1	4
+
+# Xenomai
+#/dev/rtheap     c       666     0       0       10      254     0       0       -
+#/dev/rtscope    c       666     0       0       10      253     0       0       -
+#/dev/rtp        c       666     0       0       150     0       0       1       32
Signature · 1 line
1.7.4.1
#4 lore raw

PATCH 2/8 Add xenomai real-time Framework to buildroot

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> From: Thomas De Schampheleire <[email protected]> Thomas> [Fixes by Thomas, including comments from Arnout:
Thomas> * Use AUTOTARGETS instead of GENTARGETS

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 3/8 xenomai: add support to keep or remove testsuite programs

In reply to Thomas Petazzoni
---
 package/xenomai/Config.in  |    5 +++++
 package/xenomai/xenomai.mk |   17 +++++++++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)
package/xenomai/Config.in +5 -0
index b5737b8..26c6b51 100644
@@ -103,4 +103,9 @@ config BR2_PACKAGE_XENOMAI_CPU_TYPE
 	default "mx3"         if BR2_PACKAGE_XENOMAI_CPU_MX3
 	default "s3c2410"     if BR2_PACKAGE_XENOMAI_CPU_S3C2410
 
+config BR2_PACKAGE_XENOMAI_TESTSUITE
+       bool "Install testsuite"
+       help
+         This option allows to install the Xenomai test programs.
+
 endif
package/xenomai/xenomai.mk +17 -0
index 8f78333..cb73740 100644
@@ -62,6 +62,23 @@ endef
 XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_DEVFILES
 endif
 
+ifeq ($(BR2_PACKAGE_XENOMAI_TESTSUITE),)
+define XENOMAI_REMOVE_TESTSUITE
+	rm -rf $(TARGET_DIR)/usr/xenomai/share/xenomai/testsuite/
+	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/xenomai/share/xenomai/
+	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/xenomai/share/
+	for i in klatency rtdm xeno xeno-load check-vdso \
+		irqloop cond-torture-posix switchtest arith \
+		sigtest clocktest cyclictest latency wakeup-time \
+		xeno-test cond-torture-native mutex-torture-posix \
+		mutex-torture-native ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \
+	done
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE
+endif
+
 define XENOMAI_ADD_LD_SO_CONF
 	# Add /usr/xenomai/lib in the library search path
 	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
Signature · 1 line
1.7.4.1
#6 lore raw

PATCH 3/8 xenomai: add support to keep or remove testsuite programs

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#7 lore raw

PATCH 4/8 xenomai: add support to keep or remove RT-CAN utilities

In reply to Thomas Petazzoni
---
 package/xenomai/Config.in  |    5 +++++
 package/xenomai/xenomai.mk |   11 +++++++++++
 2 files changed, 16 insertions(+), 0 deletions(-)
package/xenomai/Config.in +5 -0
index 26c6b51..6ba9f8b 100644
@@ -108,4 +108,9 @@ config BR2_PACKAGE_XENOMAI_TESTSUITE
        help
          This option allows to install the Xenomai test programs.
 
+config BR2_PACKAGE_XENOMAI_RTCAN
+       bool "RTCan utilities"
+       help
+         This option allows to install the Xenomai RT-CAN utilities.
+
 endif
package/xenomai/xenomai.mk +11 -0
index cb73740..36e2e44 100644
@@ -79,6 +79,17 @@ endef
 XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_TESTSUITE
 endif
 
+ifeq ($(BR2_PACKAGE_XENOMAI_RTCAN),)
+define XENOMAI_REMOVE_RTCAN_PROGS
+	for i in rtcanrecv rtcansend ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \
+	done
+	rm -f $(TARGET_DIR)/usr/xenomai/sbin/rtcanconfig
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS
+endif
+
 define XENOMAI_ADD_LD_SO_CONF
 	# Add /usr/xenomai/lib in the library search path
 	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
Signature · 1 line
1.7.4.1
#8 lore raw

PATCH 4/8 xenomai: add support to keep or remove RT-CAN utilities

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#9 lore raw

PATCH 5/8 xenomai: add support to keep or remove Analogy utilities and libs

In reply to Thomas Petazzoni
---
 package/xenomai/Config.in  |    6 ++++++
 package/xenomai/xenomai.mk |   13 +++++++++++++
 2 files changed, 19 insertions(+), 0 deletions(-)
package/xenomai/Config.in +6 -0
index 6ba9f8b..3749a60 100644
@@ -113,4 +113,10 @@ config BR2_PACKAGE_XENOMAI_RTCAN
        help
          This option allows to install the Xenomai RT-CAN utilities.
 
+config BR2_PACKAGE_XENOMAI_ANALOGY
+       bool "Analogy libs and utils"
+       help
+         This option allows to install the Xenomai Analogy utilities
+         and libraries
+
 endif
package/xenomai/xenomai.mk +13 -0
index 36e2e44..fff2c5d 100644
@@ -90,6 +90,19 @@ endef
 XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_RTCAN_PROGS
 endif
 
+ifeq ($(BR2_PACKAGE_XENOMAI_ANALOGY),)
+define XENOMAI_REMOVE_ANALOGY
+	for i in cmd_bits cmd_read cmd_write insn_write \
+		insn_bits insn_read ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/bin/$$i ; \
+	done
+	rm -f $(TARGET_DIR)/usr/xenomai/sbin/analogy_config
+	rm -f $(TARGET_DIR)/usr/xenomai/lib/libanalogy.*
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
+endif
+
 define XENOMAI_ADD_LD_SO_CONF
 	# Add /usr/xenomai/lib in the library search path
 	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
Signature · 1 line
1.7.4.1
#10 lore raw

PATCH 5/8 xenomai: add support to keep or remove Analogy utilities and libs

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#11 lore raw

PATCH 6/8 xenomai: add support to keep or remove skins

In reply to Thomas Petazzoni
---
 package/xenomai/Config.in  |   37 +++++++++++++++++++++++++++++++++++++
 package/xenomai/xenomai.mk |   19 +++++++++++++++++++
 2 files changed, 56 insertions(+), 0 deletions(-)
package/xenomai/Config.in +37 -0
index 3749a60..cfeaa04 100644
@@ -119,4 +119,41 @@ config BR2_PACKAGE_XENOMAI_ANALOGY
          This option allows to install the Xenomai Analogy utilities
          and libraries
 
+config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
+       bool "Native skin library"
+       default y
+       help
+	 This option allows to install the Native Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_POSIX_SKIN
+       bool "POSIX skin library"
+       default y
+       help
+	 This option allows to install the POSIX Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
+       bool "VX-Works skin library"
+       help
+	 This option allows to install the VX-Works Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_PSOS_SKIN
+       bool "PSOS skin library"
+       help
+	 This option allows to install the PSOS Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_RTAI_SKIN
+       bool "RTAI skin library"
+       help
+	 This option allows to install the RTAI Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_UITRON_SKIN
+       bool "uiTron skin library"
+       help
+	 This option allows to install the uiTron Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_VRTX_SKIN
+       bool "VRTX skin library"
+       help
+	 This option allows to install the VRTX Xenomai skin
+
 endif
package/xenomai/xenomai.mk +19 -0
index fff2c5d..52e0b4e 100644
@@ -103,6 +103,25 @@ endef
 XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY
 endif
 
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,native)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx)
+
+define XENOMAI_REMOVE_SKINS
+	for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \
+		rm -f $(TARGET_DIR)/usr/xenomai/lib/lib$$i.* ; \
+		if [ $$i == "posix" ] ; then \
+			rm -f $(TARGET_DIR)/usr/xenomai/lib/posix.wrappers ; \
+		fi ; \
+	done
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS
+
 define XENOMAI_ADD_LD_SO_CONF
 	# Add /usr/xenomai/lib in the library search path
 	grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
Signature · 1 line
1.7.4.1
#12 lore raw

PATCH 6/8 xenomai: add support to keep or remove skins

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#13 lore raw

PATCH 6/8 xenomai: add support to keep or remove skins

In reply to Thomas Petazzoni

Hi,

Quoted 51 lines · Thomas Petazzoni

---
?package/xenomai/Config.in ?| ? 37 +++++++++++++++++++++++++++++++++++++ ?package/xenomai/xenomai.mk | ? 19 +++++++++++++++++++
?2 files changed, 56 insertions(+), 0 deletions(-)

package/xenomai/Config.in +0 -0
index 3749a60..cfeaa04 100644
@@ -119,4 +119,41 @@ config BR2_PACKAGE_XENOMAI_ANALOGY

? ? ? ? ?This option allows to install the Xenomai Analogy utilities ? ? ? ? ?and libraries

package/xenomai/Config.in +37 -0
+config BR2_PACKAGE_XENOMAI_NATIVE_SKIN
+ ? ? ? bool "Native skin library"
+ ? ? ? default y
+ ? ? ? help
+ ? ? ? ?This option allows to install the Native Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_POSIX_SKIN
+ ? ? ? bool "POSIX skin library"
+ ? ? ? default y
+ ? ? ? help
+ ? ? ? ?This option allows to install the POSIX Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_VXWORKS_SKIN
+ ? ? ? bool "VX-Works skin library"
+ ? ? ? help
+ ? ? ? ?This option allows to install the VX-Works Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_PSOS_SKIN
+ ? ? ? bool "PSOS skin library"
+ ? ? ? help
+ ? ? ? ?This option allows to install the PSOS Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_RTAI_SKIN
+ ? ? ? bool "RTAI skin library"
+ ? ? ? help
+ ? ? ? ?This option allows to install the RTAI Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_UITRON_SKIN
+ ? ? ? bool "uiTron skin library"
+ ? ? ? help
+ ? ? ? ?This option allows to install the uiTron Xenomai skin
+
+config BR2_PACKAGE_XENOMAI_VRTX_SKIN
+ ? ? ? bool "VRTX skin library"
+ ? ? ? help
+ ? ? ? ?This option allows to install the VRTX Xenomai skin
+
Quoted 1 line

?endif

Maybe it should be clarified somewhere that this only impacts the inclusion of the userspace skin library. To be able to use a particular skin, you still need to enable it in the kernel configuration.

Or maybe it's better to make these options have impact on the linux configuration as well ?

Quoted 38 lines
package/xenomai/xenomai.mk +0 -0
index fff2c5d..52e0b4e 100644
@@ -103,6 +103,25 @@ endef

?XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_ANALOGY ?endif

package/xenomai/xenomai.mk +19 -0
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_NATIVE_SKIN),,native)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_POSIX_SKIN),,posix)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VXWORKS_SKIN),,vxworks)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_PSOS_SKIN),,psos)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_RTAI_SKIN),,rtai)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_UITRON_SKIN),,uitron)
+XENOMAI_REMOVE_SKIN_LIST += $(if $(BR2_PACKAGE_XENOMAI_VRTX_SKIN),,vrtx)
+
+define XENOMAI_REMOVE_SKINS
+ ? ? ? for i in $(XENOMAI_REMOVE_SKIN_LIST) ; do \
+ ? ? ? ? ? ? ? rm -f $(TARGET_DIR)/usr/xenomai/lib/lib$$i.* ; \
+ ? ? ? ? ? ? ? if [ $$i == "posix" ] ; then \
+ ? ? ? ? ? ? ? ? ? ? ? rm -f $(TARGET_DIR)/usr/xenomai/lib/posix.wrappers ; \
+ ? ? ? ? ? ? ? fi ; \
+ ? ? ? done
+endef
+
+XENOMAI_POST_INSTALL_TARGET_HOOKS += XENOMAI_REMOVE_SKINS
+

?define XENOMAI_ADD_LD_SO_CONF
? ? ? ?# Add /usr/xenomai/lib in the library search path ? ? ? ?grep -q "^/usr/xenomai/lib" $(TARGET_DIR)/etc/ld.so.conf || \
--
1.7.4.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#14 lore raw

PATCH 6/8 xenomai: add support to keep or remove skins

Le Mon, 19 Sep 2011 10:24:27 +0200,
Thomas De Schampheleire <[email protected]> a ?crit :

Quoted 4 lines

Maybe it should be clarified somewhere that this only impacts the inclusion of the userspace skin library. To be able to use a particular skin, you still need to enable it in the kernel configuration.

Yes, correct, I'll add that.

Quoted 2 lines

Or maybe it's better to make these options have impact on the linux configuration as well ?

I don't like too much having packages that interfere with the kernel configuration, because it's a nightmare: when iptables is compiled, we would need to ensure that kernel support is available, same for xfsprogs, for v4l-utils, for input-tools, etc ?

Our policy has been that the user needs to be aware of what (s)he is doing, especially when it comes to making sure that the kernel configuration appropriately matches the requirement of userspace applications and libraries.

Regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#15 lore raw

PATCH 6/8 xenomai: add support to keep or remove skins

Quoted 9 lines · Thomas Petazzoni

Le Mon, 19 Sep 2011 10:24:27 +0200,
Thomas De Schampheleire <[email protected]> a ?crit :

Quoted 4 lines

Maybe it should be clarified somewhere that this only impacts the inclusion of the userspace skin library. To be able to use a particular skin, you still need to enable it in the kernel configuration.

Yes, correct, I'll add that.

Ok, thanks.

Quoted 9 lines
Quoted 3 lines

Or maybe it's better to make these options have impact on the linux configuration as well ?

I don't like too much having packages that interfere with the kernel configuration, because it's a nightmare: when iptables is compiled, we would need to ensure that kernel support is available, same for xfsprogs, for v4l-utils, for input-tools, etc ?

Quoted 4 lines

Our policy has been that the user needs to be aware of what (s)he is doing, especially when it comes to making sure that the kernel configuration appropriately matches the requirement of userspace applications and libraries.

I understand. That's fine with me..

Best regards,
Thomas

#16 lore raw

PATCH 7/8 package: change ordering of steps

In reply to Thomas Petazzoni

Currently, the dependency chain is :

configure -> patch
patch -> extract
extract -> depends
depends -> source + dependencies ready

This is a problem for RTAI, as :

* In linux/linux-ext-rtai.mk, we need the RTAI source code to be extracted/patched by the RTAI package, so we need to have a dependency on RTAI.

* The RTAI package cannot have its configure step executed before the Linux kernel is built, because it needs the kernel source code to be extracted and configured.

Therefore, we have a sort of circular dependency. We solve this circular dependency by having the RTAI kernel part depending on rtai-patch, and having the RTAI userspace part depending on the linux package. However, for this to work, we have to modify the dependency chain to:

configure -> patch + depends
patch -> extract
extract -> source
depends -> dependencies ready

Which means that dependencies are guaranteed to be built not when the package is extracted, but when the package is configured. Which is technically more correct that what we were doing in the past.

---
 package/Makefile.package.in |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
package/Makefile.package.in +3 -3
index 0751144..66be0a2 100644
@@ -487,15 +487,15 @@ $(1)-install-host:      $(1)-build $$($(2)_TARGET_INSTALL_HOST)
 $(1)-build:		$(1)-configure \
 			$$($(2)_TARGET_BUILD)
 
-$(1)-configure:		$(1)-patch \
+$(1)-configure:		$(1)-patch $(1)-depends \
 			$$($(2)_TARGET_CONFIGURE)
 
 $(1)-patch:		$(1)-extract $$($(2)_TARGET_PATCH)
 
-$(1)-extract:		$(1)-depends \
+$(1)-extract:		$(1)-source \
 			$$($(2)_TARGET_EXTRACT)
 
-$(1)-depends:		$(1)-source $$($(2)_DEPENDENCIES)
+$(1)-depends:		$$($(2)_DEPENDENCIES)
 
 $(1)-show-depends:
 			@echo $$($(2)_DEPENDENCIES)
Signature · 1 line
1.7.4.1
#17 lore raw

PATCH 7/8 package: change ordering of steps

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Currently, the dependency chain is :

 Thomas>  configure -> patch
 Thomas>  patch -> extract
 Thomas>  extract -> depends
 Thomas>  depends -> source + dependencies ready

Thomas> This is a problem for RTAI, as :

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#18 lore raw

PATCH 7/8 package: change ordering of steps

In reply to Thomas Petazzoni

Hi,

Quoted 42 lines · Thomas Petazzoni

Currently, the dependency chain is :

?configure -> patch
?patch -> extract
?extract -> depends
?depends -> source + dependencies ready

This is a problem for RTAI, as :

?* In linux/linux-ext-rtai.mk, we need the RTAI source code to be ? extracted/patched by the RTAI package, so we need to have a ? dependency on RTAI.

?* The RTAI package cannot have its configure step executed before the ? Linux kernel is built, because it needs the kernel source code to ? be extracted and configured.

Therefore, we have a sort of circular dependency. We solve this circular dependency by having the RTAI kernel part depending on rtai-patch, and having the RTAI userspace part depending on the linux package. However, for this to work, we have to modify the dependency chain to:

?configure -> patch + depends
?patch -> extract
?extract -> source
?depends -> dependencies ready

Which means that dependencies are guaranteed to be built not when the package is extracted, but when the package is configured. Which is technically more correct that what we were doing in the past.

---
?package/Makefile.package.in | ? ?6 +++---
?1 files changed, 3 insertions(+), 3 deletions(-)

package/Makefile.package.in +0 -0
index 0751144..66be0a2 100644

package/Makefile.package.in $(1)-install-host: ? ? ?$(1)-build $$($(2)_TARGET_INSTALL_HOST) · line 491

Quoted 6 lines
package/Makefile.package.in +1 -1
@@ -487,15 +487,15 @@ $(1)-install-host: ? ? ?$(1)-build $$($(2)_TARGET_INSTALL_HOST)
 ?$(1)-build: ? ? ? ? ? ?$(1)-configure \
 ? ? ? ? ? ? ? ? ? ? ? ?$$($(2)_TARGET_BUILD)
 
-$(1)-configure: ? ? ? ? ? ? ? ?$(1)-patch \
+$(1)-configure: ? ? ? ? ? ? ? ?$(1)-patch $(1)-depends \
 ? ? ? ? ? ? ? ? ? ? ? ?$$($(2)_TARGET_CONFIGURE)

I'm experiencing a problem now with Xenomai:
* First of all, there was no dependencies to linux anymore in the Xenomai .mk file, which caused incorrect ordering of builds. To address this, I copied the approach of RTAI that Thomas added (add a linux dependency to xenomai-patch and add a xenomai dependency to linux).

* after this, I stumbled upon another problem: if I removed both the linux and the xenomai output directories, and ran make, then linux was the first to come into play. After extraction of linux, the PRE_PATCH hook of xenomai is executed, but Xenomai is not yet extracted! Indeed, the current dependency tree does not enforce this.
I can fix my scenario by changing the order of -patch and -depends :

-$(1)-configure: $(1)-patch $(1)-depends \
+$(1)-configure: $(1)-depends $(1)-patch \

but I'm not sure whether this breaks other cases... What do you think?

Best regards,
Thomas

Quoted 20 lines
package/Makefile.package.in +2 -2
 ?$(1)-patch: ? ? ? ? ? ?$(1)-extract $$($(2)_TARGET_PATCH)
 
-$(1)-extract: ? ? ? ? ?$(1)-depends \
+$(1)-extract: ? ? ? ? ?$(1)-source \
 ? ? ? ? ? ? ? ? ? ? ? ?$$($(2)_TARGET_EXTRACT)
 
-$(1)-depends: ? ? ? ? ?$(1)-source $$($(2)_DEPENDENCIES)
+$(1)-depends: ? ? ? ? ?$$($(2)_DEPENDENCIES)
 

?$(1)-show-depends:
? ? ? ? ? ? ? ? ? ? ? ?@echo $$($(2)_DEPENDENCIES) --
1.7.4.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#19 lore raw

PATCH 7/8 package: change ordering of steps

Le Wed, 28 Sep 2011 16:13:00 +0200,
Thomas De Schampheleire <[email protected]> a ?crit :

Quoted 6 lines

I'm experiencing a problem now with Xenomai:
* First of all, there was no dependencies to linux anymore in the Xenomai .mk file, which caused incorrect ordering of builds. To address this, I copied the approach of RTAI that Thomas added (add a linux dependency to xenomai-patch and add a xenomai dependency to linux).

Normally, the Xenomai package in package/xenomai/ does not depend on Linux being extracted/configured/compiled. It's the opposite: the Linux build process depends on the Xenomai package to be extracted, so that the package can be applied.

The case of RTAI is different, because the kernel modules of RTAI are built by package/rtai/, so RTAI depends on Linux.

Could you expand on which problem you have when the Xenomai package in package/xenomai does not depend on Linux ?

Quoted 7 lines

* after this, I stumbled upon another problem: if I removed both the linux and the xenomai output directories, and ran make, then linux was the first to come into play. After extraction of linux, the PRE_PATCH hook of xenomai is executed, but Xenomai is not yet extracted! Indeed, the current dependency tree does not enforce this.
I can fix my scenario by changing the order of -patch and -depends :

Quoted 5 lines

-$(1)-configure: $(1)-patch $(1)-depends \
+$(1)-configure: $(1)-depends $(1)-patch \

but I'm not sure whether this breaks other cases... What do you think?

Aaaah, yes, dammit. Technically speaking, it's a bit ugly that the patch step of one package depends on the dependencies being available. This needs some more thought I guess...

Regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#20 lore raw

PATCH 7/8 package: change ordering of steps

Quoted 15 lines · Thomas Petazzoni

Le Wed, 28 Sep 2011 16:13:00 +0200,
Thomas De Schampheleire <[email protected]> a ?crit :

Quoted 6 lines

I'm experiencing a problem now with Xenomai:
* First of all, there was no dependencies to linux anymore in the Xenomai .mk file, which caused incorrect ordering of builds. To address this, I copied the approach of RTAI that Thomas added (add a linux dependency to xenomai-patch and add a xenomai dependency to linux).

Normally, the Xenomai package in package/xenomai/ does not depend on Linux being extracted/configured/compiled. It's the opposite: the Linux build process depends on the Xenomai package to be extracted, so that the package can be applied.

Quoted 5 lines

The case of RTAI is different, because the kernel modules of RTAI are built by package/rtai/, so RTAI depends on Linux.

Could you expand on which problem you have when the Xenomai package in package/xenomai does not depend on Linux ?

On second thought, you're right. I was still thinking too much in terms of my old xenomai.mk file where kernel and userspace were combined.

Quoted 11 lines
Quoted 11 lines

* after this, I stumbled upon another problem: if I removed both the linux and the xenomai output directories, and ran make, then linux was the first to come into play. After extraction of linux, the PRE_PATCH hook of xenomai is executed, but Xenomai is not yet extracted! Indeed, the current dependency tree does not enforce this.
I can fix my scenario by changing the order of -patch and -depends :

-$(1)-configure: ? ? ? ? ? ? ? ?$(1)-patch $(1)-depends \
+$(1)-configure: ? ? ? ? ? ? ? ?$(1)-depends $(1)-patch \

Quoted 6 lines
Quoted 2 lines

but I'm not sure whether this breaks other cases... What do you think?

Aaaah, yes, dammit. Technically speaking, it's a bit ugly that the patch step of one package depends on the dependencies being available. This needs some more thought I guess...

Ok.
One solution would be to first extract all packages, and then do all the rest, but I guess you don't think this is cleaner...

~Thomas

#21 lore raw

PATCH 7/8 package: change ordering of steps

Quoted 13 lines · Thomas De Schampheleire
Quoted 13 lines
Quoted 12 lines

* after this, I stumbled upon another problem: if I removed both the linux and the xenomai output directories, and ran make, then linux was the first to come into play. After extraction of linux, the PRE_PATCH hook of xenomai is executed, but Xenomai is not yet extracted! Indeed, the current dependency tree does not enforce this.
I can fix my scenario by changing the order of -patch and -depends :

-$(1)-configure: $(1)-patch $(1)-depends \
+$(1)-configure: $(1)-depends $(1)-patch \

but I'm not sure whether this breaks other cases... What do you think?

Quoted 7 lines
Quoted 3 lines

Aaaah, yes, dammit. Technically speaking, it's a bit ugly that the patch step of one package depends on the dependencies being available. This needs some more thought I guess...

Ok.
One solution would be to first extract all packages, and then do all the rest, but I guess you don't think this is cleaner...

Or you could split the depends step in a depends-extract and depends-install
step. A package's extract step would then depend on the extracts of all the packages it depends on. Or am I completely confused now? :-)

Regards,
Arnout

Signature · 9 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110928/2117e4a1/attachment-0002.html>
#22 lore raw

PATCH 7/8 package: change ordering of steps

All,

Quoted 39 lines · Arnout Vandecappelle
Quoted 35 lines · Thomas De Schampheleire
Quoted 26 lines
Quoted 16 lines

* after this, I stumbled upon another problem: if I removed both the

linux and the xenomai output directories, and ran make, then linux was

the first to come into play. After extraction of linux, the PRE_PATCH

hook of xenomai is executed, but Xenomai is not yet extracted! Indeed,

the current dependency tree does not enforce this.

I can fix my scenario by changing the order of -patch and -depends :

-$(1)-configure: ? ? ? ? ? ? ? ?$(1)-patch $(1)-depends \

Quoted 7 lines

+$(1)-configure: ? ? ? ? ? ? ? ?$(1)-depends $(1)-patch \

but I'm not sure whether this breaks other cases...

What do you think?

Quoted 5 lines

Aaaah, yes, dammit. Technically speaking, it's a bit ugly that the

patch step of one package depends on the dependencies being available.

This needs some more thought I guess...

Ok.

Quoted 7 lines
Quoted 3 lines

One solution would be to first extract all packages, and then do all

the rest, but I guess you don't think this is cleaner...

Or you could split the depends step in a depends-extract and depends-install step. A package's extract step would then depend on the extracts of all the packages it depends on. Or am I completely confused now? :-)

This bug is still hanging around, and can manifest itself when selecting xenomai, which is now in 2011.11-rc1.

The patch proposed above (change order of depend and patch steps) is working fine, and does not look 'ugly' to me. Since it fixes a bug, I think we should apply it anyway.
If later, someone would like to make a change that would not require the patch step of linux to depend on the xenomai package, we can do that then. However, I'm not sure if that is at all possible, unless you want to move the xenomai kernel patches to the buildroot sources (which I don't think is maintainable and uglier than the patch above).

Best regards,
Thomas

#23 lore raw

PATCH 8/8 Add support for the RTAI real-time extension

In reply to Thomas Petazzoni
---
 linux/Config.ext.in     |   13 +++++++++++++
 linux/linux-ext-rtai.mk |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 package/Config.in       |    1 +
 package/rtai/Config.in  |    2 ++
 package/rtai/rtai.mk    |   16 ++++++++++++++++
 5 files changed, 79 insertions(+), 0 deletions(-)
 create mode 100644 linux/linux-ext-rtai.mk
 create mode 100644 package/rtai/Config.in
 create mode 100644 package/rtai/rtai.mk
linux/Config.ext.in +13 -0
index fc37d23..bbbe612 100644
@@ -15,4 +15,17 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
 	  Download it at http://download.gna.org/adeos/patches/v2.6/$(ARCH)/
 	  and verify that your kernel version in buildroot matches.
 
+# RTAI
+config BR2_LINUX_KERNEL_EXT_RTAI
+       bool "RTAI Real-time patch"
+       select BR2_PACKAGE_RTAI
+       help
+         RTAI Kernel part.
+
+config BR2_LINUX_KERNEL_EXT_RTAI_PATCH
+       depends on BR2_LINUX_KERNEL_EXT_RTAI
+       string "Path for RTAI patch file"
+       help
+         Optionally, explicitly specify the RTAI patch to use.
+
 endmenu
linux/linux-ext-rtai.mk new file +47 -0

47 lines not on this page · raw message

package/Config.in +1 -0
index efb266a..451b271 100644
@@ -489,6 +489,7 @@ endmenu
 
 menu "Real-Time"
 source "package/xenomai/Config.in"
+source "package/rtai/Config.in"
 endmenu
 
 menu "Shell and utilities"
package/rtai/Config.in new file +2 -0
new file mode 100644
index 0000000..d08e4cb
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_RTAI
+        bool "rtai"
package/rtai/rtai.mk new file +16 -0
new file mode 100644
index 0000000..2f67cc0
@@ -0,0 +1,16 @@
+RTAI_VERSION = 3.8.1
+RTAI_SOURCE  = rtai-$(RTAI_VERSION).tar.bz2
+RTAI_SITE    = http://www.rtai.org/RTAI/
+
+RTAI_DEPENDENCIES = linux
+
+RTAI_CONF_OPT = \
+	--with-linux-dir=$(LINUX_DIR) 	\
+	--disable-leds		      	\
+	--disable-rtailab		\
+	--with-module-dir=/lib/modules/$(LINUX_VERSION_PROBED)/kernel/rtai
+
+RTAI_MAKE = $(MAKE1)
+
+$(eval $(call AUTOTARGETS,package,rtai))
+
Signature · 1 line
1.7.4.1
#24 lore raw

PATCH 8/8 Add support for the RTAI real-time extension

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Signed-off-by: Thomas Petazzoni <[email protected]> Thomas> ---

 Thomas>  linux/Config.ext.in     |   13 +++++++++++++
 Thomas>  linux/linux-ext-rtai.mk |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 Thomas>  package/Config.in       |    1 +
 Thomas>  package/rtai/Config.in  |    2 ++
 Thomas>  package/rtai/rtai.mk    |   16 ++++++++++++++++
 Thomas>  5 files changed, 79 insertions(+), 0 deletions(-)
 Thomas>  create mode 100644 linux/linux-ext-rtai.mk
 Thomas>  create mode 100644 package/rtai/Config.in
 Thomas>  create mode 100644 package/rtai/rtai.mk

Thomas> +++ b/package/rtai/Config.in
Thomas> @@ -0,0 +1,2 @@
Thomas> +config BR2_PACKAGE_RTAI
Thomas> + bool "rtai"

Wrong indentation, no help text and should depend on BR2_LINUX_KERNEL_EXT_RTAI.

I've fixed that and committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#25 lore raw

PATCH 8/8 Add support for the RTAI real-time extension

Quoted 1 line · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]>

Quoted 18 lines · writes:

Thomas> Signed-off-by: Thomas Petazzoni
<[email protected]> Thomas> ---

 Thomas>  linux/Config.ext.in     |   13 +++++++++++++
 Thomas>  linux/linux-ext-rtai.mk |   47
+++++++++++++++++++++++++++++++++++++++++++++++ Thomas>  package/Config.in
      |    1 +
 Thomas>  package/rtai/Config.in  |    2 ++
 Thomas>  package/rtai/rtai.mk    |   16 ++++++++++++++++
 Thomas>  5 files changed, 79 insertions(+), 0 deletions(-)
 Thomas>  create mode 100644 linux/linux-ext-rtai.mk
 Thomas>  create mode 100644 package/rtai/Config.in
 Thomas>  create mode 100644 package/rtai/rtai.mk

Thomas> +++ b/package/rtai/Config.in
Thomas> @@ -0,0 +1,2 @@
Thomas> +config BR2_PACKAGE_RTAI
Thomas> + bool "rtai"

Quoted 4 lines

Wrong indentation, no help text and should depend on BR2_LINUX_KERNEL_EXT_RTAI.

I've fixed that and committed, thanks.

Since the option is not user selectable (due to select BR2_PACKAGE_RTAI in
the BR2_LINUX_KERNEL_EXT_RTAI), it doesn't make sense to have a user visible config option here. I guess Thomas's mistake was not to skip the help text, but to add "rtai" after the bool...

Patch follows.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43
#26 lore raw

PATCH 1/1 rtai: hide the config option.

The package is always selected by the RTAI kernel extension and it also depends on it, so there is no point in allowing the user to configure it.

---
 package/rtai/Config.in |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)
package/rtai/Config.in +1 -5
index ecbff38..68c06d4 100644
@@ -1,7 +1,3 @@
 config BR2_PACKAGE_RTAI
-	bool "rtai"
+	bool
 	depends on BR2_LINUX_KERNEL_EXT_RTAI
-	help
-	  RTAI - the RealTime Application Interface for Linux.
-
-	  http://www.rtai.org
Signature · 1 line
1.7.6.3
#27 lore raw
In reply to Thomas Petazzoni
Quoted 61 lines · Thomas Petazzoni

Hello,

Here is a patch set that adds the Xenomai and RTAI real-time extensions of the Linux kernel. The Xenomai patches come from Thomas de Schampheleire, who himself took them from Beno?t Mauduit. Those patches have been improved further, taking into account comments from Arnout, and adding some more features (ability to remove test programs, RT-CAN programs, Analogy programs, and select which skins should be installed).

The RTAI real-time extension is also added. It is not well supported on architectures others than x86/x86-64, but can be useful on those architectures. However, its integration required a small change in the package infrastructure, described in detail in its commit log.

Regards,

Thomas

The following changes since commit 16d6e9b3420e78a89960b8b68202ea46a618810d:

?Makefile.autotools.in: fix autoreconf libtool patching after libtool move (2011-09-17 14:16:42 +0200)

are available in the git repository at:
?http://free-electrons.com/~thomas/buildroot.git xenomai-rtai

Thomas De Schampheleire (2):
? ? ?linux: Add Linux Kernel extensions menu
? ? ?Add xenomai real-time Framework to buildroot

Thomas Petazzoni (6):
? ? ?xenomai: add support to keep or remove testsuite programs ? ? ?xenomai: add support to keep or remove RT-CAN utilities ? ? ?xenomai: add support to keep or remove Analogy utilities and libs ? ? ?xenomai: add support to keep or remove skins
? ? ?package: change ordering of steps
? ? ?Add support for the RTAI real-time extension

?linux/Config.ext.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 31 ++++
?linux/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 +
?linux/linux-ext-rtai.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 47 ++++++
?linux/linux-ext-xenomai.mk ? ? ? ? ? ? ? ? ? ? ? ? | ? 30 ++++
?linux/linux.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 +
?package/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?5 +
?package/Makefile.package.in ? ? ? ? ? ? ? ? ? ? ? ?| ? ?6 +-
?package/rtai/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 +
?package/rtai/rtai.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? 16 ++
?package/xenomai/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ?| ?159 ++++++++++++++++++++
?.../xenomai/xenomai-do-not-install-devices.patch ? | ? 11 ++
?package/xenomai/xenomai.mk ? ? ? ? ? ? ? ? ? ? ? ? | ?159 ++++++++++++++++++++
?target/generic/device_table_dev.txt ? ? ? ? ? ? ? ?| ? ?5 +

?13 files changed, 474 insertions(+), 3 deletions(-)
?create mode 100644 linux/Config.ext.in
?create mode 100644 linux/linux-ext-rtai.mk
?create mode 100644 linux/linux-ext-xenomai.mk
?create mode 100644 package/rtai/Config.in
?create mode 100644 package/rtai/rtai.mk
?create mode 100644 package/xenomai/Config.in
?create mode 100644 package/xenomai/xenomai-do-not-install-devices.patch ?create mode 100644 package/xenomai/xenomai.mk

Quoted 7 lines

Thanks,
--
Thomas Petazzoni
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Ooo, Many thanks for that !

I look up in details the patch series and it's good for me.

Just one little point concerning ld.so.conf management :
We can use for further developpement a conf.d mechanism :
'/etc/ld.so.conf' which include "/etc/ld.so.conf.d/*.conf"

Nice to see Rtai included !

Sorry for not being more available for this new feature...

Regards,

Signature · 1 line
Benoit Mauduit
#28 lore raw
Quoted 3 lines · Beno?t Mauduit

Just one little point concerning ld.so.conf management :
We can use for further developpement a conf.d mechanism :
'/etc/ld.so.conf' which include "/etc/ld.so.conf.d/*.conf"

I didn't know uClibc supported that.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  31BB CF53 8660 6F88 345D  54CC A836 5879 20D7 CF43
#29 lore raw
In reply to Thomas Petazzoni

Hi,

Quoted 61 lines · Thomas Petazzoni

Hello,

Here is a patch set that adds the Xenomai and RTAI real-time extensions of the Linux kernel. The Xenomai patches come from Thomas de Schampheleire, who himself took them from Beno?t Mauduit. Those patches have been improved further, taking into account comments from Arnout, and adding some more features (ability to remove test programs, RT-CAN programs, Analogy programs, and select which skins should be installed).

The RTAI real-time extension is also added. It is not well supported on architectures others than x86/x86-64, but can be useful on those architectures. However, its integration required a small change in the package infrastructure, described in detail in its commit log.

Regards,

Thomas

The following changes since commit 16d6e9b3420e78a89960b8b68202ea46a618810d:

?Makefile.autotools.in: fix autoreconf libtool patching after libtool move (2011-09-17 14:16:42 +0200)

are available in the git repository at:
?http://free-electrons.com/~thomas/buildroot.git xenomai-rtai

Thomas De Schampheleire (2):
? ? ?linux: Add Linux Kernel extensions menu
? ? ?Add xenomai real-time Framework to buildroot

Thomas Petazzoni (6):
? ? ?xenomai: add support to keep or remove testsuite programs ? ? ?xenomai: add support to keep or remove RT-CAN utilities ? ? ?xenomai: add support to keep or remove Analogy utilities and libs ? ? ?xenomai: add support to keep or remove skins
? ? ?package: change ordering of steps
? ? ?Add support for the RTAI real-time extension

?linux/Config.ext.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 31 ++++
?linux/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?4 +
?linux/linux-ext-rtai.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? 47 ++++++
?linux/linux-ext-xenomai.mk ? ? ? ? ? ? ? ? ? ? ? ? | ? 30 ++++
?linux/linux.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 +
?package/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?5 +
?package/Makefile.package.in ? ? ? ? ? ? ? ? ? ? ? ?| ? ?6 +-
?package/rtai/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ?2 +
?package/rtai/rtai.mk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? 16 ++
?package/xenomai/Config.in ? ? ? ? ? ? ? ? ? ? ? ? ?| ?159 ++++++++++++++++++++
?.../xenomai/xenomai-do-not-install-devices.patch ? | ? 11 ++
?package/xenomai/xenomai.mk ? ? ? ? ? ? ? ? ? ? ? ? | ?159 ++++++++++++++++++++
?target/generic/device_table_dev.txt ? ? ? ? ? ? ? ?| ? ?5 +

?13 files changed, 474 insertions(+), 3 deletions(-)
?create mode 100644 linux/Config.ext.in
?create mode 100644 linux/linux-ext-rtai.mk
?create mode 100644 linux/linux-ext-xenomai.mk
?create mode 100644 package/rtai/Config.in
?create mode 100644 package/rtai/rtai.mk
?create mode 100644 package/xenomai/Config.in
?create mode 100644 package/xenomai/xenomai-do-not-install-devices.patch ?create mode 100644 package/xenomai/xenomai.mk

Quoted 3 lines

Thanks,
--
Thomas Petazzoni

Thanks from me as well for taking this in and improving it!

Best regards,
Thomas