Skip to contentSkip to conversation

Pull request for branch for-2012.02/host-tools

GIT PULL New Thomas Petazzoni 5 participants 17 messages Dec 29, 2011 – Jan 13, 2012

lore
Share & tools
lore
#0 lore raw

Hello,

This is the second posting of this patch set that allows some host utilities to be visible in menuconfig, when those host utilities are not simply build dependencies, but might also be directly interesting for the user (image creation utilities, device programming utilities, etc.).

A first posting was done on October, 1st 2011, and the general idea and implementation received positive comments from Luca Ceresoli and Thomas De Schampheleire.

Changes since v1:

* Fix a commit log, as per the comment from Luca Ceresoli

* Add the SAM-BA utility from Atmel as another host utility. This tool can be used from the development machine to reflash a virgin AT91-based device, through USB or serial.

Regards,

Thomas

The following changes since commit ef3fe1bef6581c66af3858d540343e011cb9fdd6:

cdrkit: bump to version 1.1.11 and adjust style (2011-12-21 23:02:31 +0100)

are available in the git repository at:
http://free-electrons.com/~thomas/buildroot.git for-2012.02/host-tools

Thomas Petazzoni (7):
Add basic config infrastructure for host utilities
uboot-tools: expose host package in menuconfig
libftdi: add host variant
libusb-compat: add host variant
libusb: add host variant
openocd: add host variant
sam-ba: new package with host variant only

 Config.in                              |    2 ++
 package/Config.in.host                 |    7 +++++++
 package/libftdi/libftdi.mk             |    3 +++
 package/libusb-compat/libusb-compat.mk |    4 ++++
 package/libusb/libusb.mk               |    3 +++
 package/openocd/Config.in.host         |    6 ++++++
 package/openocd/openocd.mk             |   10 ++++++++++
 package/sam-ba/Config.in.host          |    6 ++++++
 package/sam-ba/sam-ba.mk               |   23 +++++++++++++++++++++++
 package/uboot-tools/Config.in.host     |    6 ++++++
 10 files changed, 70 insertions(+), 0 deletions(-)
 create mode 100644 package/Config.in.host
 create mode 100644 package/openocd/Config.in.host
 create mode 100644 package/sam-ba/Config.in.host
 create mode 100644 package/sam-ba/sam-ba.mk
 create mode 100644 package/uboot-tools/Config.in.host

Thanks,

Signature · 1 line
Thomas Petazzoni
#1 lore raw

PATCH 1/7 Add basic config infrastructure for host utilities

Most of the host packages don't have to be exposed to the user as they are only used as build dependencies of target packages.

However, some host utilities, such as flashing utilities, image creation programs, specific debuggers, might be useful and should be presented to the user.

Therefore, we have a new global menu, which lists those host utilities. These utilities are described in package/*/Config.in.host files, which will be sourced by package/Config.in.host.

---
 Config.in              |    2 ++
 package/Config.in.host |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)
 create mode 100644 package/Config.in.host
Config.in +2 -0
index ab77ef3..8579a63 100644
@@ -371,6 +371,8 @@ source "target/generic/Config.in"
 
 source "package/Config.in"
 
+source "package/Config.in.host"
+
 source "fs/Config.in"
 
 source "boot/Config.in"
package/Config.in.host new file +3 -0
new file mode 100644
index 0000000..54f6a59
@@ -0,0 +1,3 @@
+menu "Host utilities"
+
+endmenu
Signature · 1 line
1.7.4.1
#2 lore raw

PATCH 2/7 uboot-tools: expose host package in menuconfig

In reply to Thomas Petazzoni
---
 package/Config.in.host             |    2 ++
 package/uboot-tools/Config.in.host |    6 ++++++
 2 files changed, 8 insertions(+), 0 deletions(-)
 create mode 100644 package/uboot-tools/Config.in.host
package/Config.in.host +2 -0
index 54f6a59..b8f8aab 100644
@@ -1,3 +1,5 @@
 menu "Host utilities"
 
+source "package/uboot-tools/Config.in.host"
+
 endmenu
package/uboot-tools/Config.in.host new file +6 -0
new file mode 100644
index 0000000..7a844e9
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HOST_UBOOT_TOOLS
+	bool "host u-boot tools"
+	help
+	  Companion tools for Das U-Boot bootloader.
+
+	  http://www.denx.de/wiki/U-Boot/WebHome
Signature · 1 line
1.7.4.1
#3 lore raw

PATCH 3/7 libftdi: add host variant

In reply to Thomas Petazzoni
---
 package/libftdi/libftdi.mk |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
package/libftdi/libftdi.mk +3 -0
index 55481d9..2c0afe7 100644
@@ -20,4 +20,7 @@ else
 LIBFDTI_CONF_OPT += --disable-libftdipp
 endif
 
+HOST_LIBFTDI_DEPENDENCIES = host-libusb-compat host-libusb
+
 $(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))
Signature · 1 line
1.7.4.1
#4 lore raw

PATCH 4/7 libusb-compat: add host variant

In reply to Thomas Petazzoni
---
 package/libusb-compat/libusb-compat.mk |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
package/libusb-compat/libusb-compat.mk +4 -0
index e39cdd8..99e7716 100644
@@ -18,4 +18,8 @@ endef
 
 LIBUSB_COMPAT_POST_INSTALL_STAGING_HOOKS+=LIBUSB_COMPAT_FIXUP_CONFIG
 
+HOST_LIBUSB_COMPAT_DEPENDENCIES = host-pkg-config host-libusb
+
 $(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))
+
Signature · 1 line
1.7.4.1
#5 lore raw

PATCH 5/7 libusb: add host variant

In reply to Thomas Petazzoni
---
 package/libusb/libusb.mk |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
package/libusb/libusb.mk +3 -0
index af75f5f..b3ca353 100644
@@ -10,4 +10,7 @@ LIBUSB_DEPENDENCIES = host-pkg-config
 LIBUSB_INSTALL_STAGING = YES
 LIBUSB_INSTALL_TARGET = YES
 
+HOST_LIBUSB_DEPENDENCIES = host-pkg-config
+
 $(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))
Signature · 1 line
1.7.4.1
#6 lore raw

PATCH 6/7 openocd: add host variant

In reply to Thomas Petazzoni
---
 package/Config.in.host         |    1 +
 package/openocd/Config.in.host |    6 ++++++
 package/openocd/openocd.mk     |   10 ++++++++++
 3 files changed, 17 insertions(+), 0 deletions(-)
 create mode 100644 package/openocd/Config.in.host
package/Config.in.host +1 -0
index b8f8aab..6499eb5 100644
@@ -1,5 +1,6 @@
 menu "Host utilities"
 
 source "package/uboot-tools/Config.in.host"
+source "package/openocd/Config.in.host"
 
 endmenu
package/openocd/Config.in.host new file +6 -0
new file mode 100644
index 0000000..2380942
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HOST_OPENOCD
+	bool "host openocd"
+	help
+	  OpenOCD - Open On-Chip Debugger
+
+	  http://openocd.berlios.de/web/
package/openocd/openocd.mk +10 -0
index 5f61367..d79b33b 100644
@@ -29,4 +29,14 @@ ifeq ($(BR2_PACKAGE_OPENOCD_VSLLINK),y)
 OPENOCD_CONF_OPT += --enable-vsllink
 endif
 
+HOST_OPENOCD_DEPENDENCIES = host-libusb-compat host-libftdi
+
+HOST_OPENOCD_CONF_OPT = 	\
+	--disable-doxygen-html 	\
+	--enable-dummy 		\
+	--enable-ft2232_libftdi \
+	--enable-jlink 		\
+	--enable-vsllink
+
 $(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))
Signature · 1 line
1.7.4.1
#7 lore raw

PATCH 6/7 openocd: add host variant

Quoted 13 lines · Thomas Petazzoni
---
 package/Config.in.host         |    1 +
 package/openocd/Config.in.host |    6 ++++++
 package/openocd/openocd.mk     |   10 ++++++++++
 3 files changed, 17 insertions(+), 0 deletions(-)
 create mode 100644 package/openocd/Config.in.host
package/Config.in.host +0 -0
index b8f8aab..6499eb5 100644

package/Config.in.host line 5

Quoted 5 lines
package/Config.in.host +1 -0
@@ -1,5 +1,6 @@
 menu "Host utilities"
 
 source "package/uboot-tools/Config.in.host"
+source "package/openocd/Config.in.host"
 

Shouldn't we be ordering this alphabetically?

Quoted 37 lines
package/Config.in.host +0 -0
 endmenu
package/openocd/Config.in.host new file +6 -0
new file mode 100644
index 0000000..2380942
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HOST_OPENOCD
+       bool "host openocd"
+       help
+         OpenOCD - Open On-Chip Debugger
+
+         http://openocd.berlios.de/web/
package/openocd/openocd.mk +10 -1
index 5f61367..d79b33b 100644
@@ -29,4 +29,14 @@ ifeq ($(BR2_PACKAGE_OPENOCD_VSLLINK),y)
 OPENOCD_CONF_OPT += --enable-vsllink
 endif
 
+HOST_OPENOCD_DEPENDENCIES = host-libusb-compat host-libftdi
+
+HOST_OPENOCD_CONF_OPT =        \
+       --disable-doxygen-html  \
+       --enable-dummy          \
+       --enable-ft2232_libftdi \
+       --enable-jlink          \
+       --enable-vsllink
+
 $(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))
--

1.7.4.1

Quoted 5 lines

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120102/7400a762/attachment.html>

#8 lore raw

PATCH 6/7 openocd: add host variant

Le Mon, 2 Jan 2012 14:13:51 +0100,
Thomas De Schampheleire <[email protected]> a ?crit :

Quoted 4 lines
Quoted 2 lines

source "package/uboot-tools/Config.in.host"
+source "package/openocd/Config.in.host"

Shouldn't we be ordering this alphabetically?

Correct, thanks! I fixed it (and for sam-ba as well), and pushed a new version on my public repository. I'll wait for other comments (if any) before sending a new v3, unless Peter pulls the branch in the mean time.

Thanks!

Thomas

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

PATCH 7/7 sam-ba: new package with host variant only

In reply to Thomas Petazzoni

sam-ba is a tool needed to reprogram AT91-based systems using an USB connection or a serial port connection.

---
 package/Config.in.host        |    1 +
 package/sam-ba/Config.in.host |    6 ++++++
 package/sam-ba/sam-ba.mk      |   23 +++++++++++++++++++++++
 3 files changed, 30 insertions(+), 0 deletions(-)
 create mode 100644 package/sam-ba/Config.in.host
 create mode 100644 package/sam-ba/sam-ba.mk
package/Config.in.host +1 -0
index 6499eb5..21e2a11 100644
@@ -2,5 +2,6 @@ menu "Host utilities"
 
 source "package/uboot-tools/Config.in.host"
 source "package/openocd/Config.in.host"
+source "package/sam-ba/Config.in.host"
 
 endmenu
package/sam-ba/Config.in.host new file +6 -0
new file mode 100644
index 0000000..1e46c30
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HOST_SAM_BA
+	bool "host sam-ba"
+	help
+	  Atmel SAM-BA? software provides an open set of tools for
+	  programming the Atmel SAM3, SAM7 and SAM9 ARM-based
+	  microcontrollers.
package/sam-ba/sam-ba.mk new file +23 -0
new file mode 100644
index 0000000..bdad695
@@ -0,0 +1,23 @@
+SAM_BA_SITE    = http://www.atmel.com/dyn/resources/prod_documents/
+SAM_BA_VERSION = 2.10
+SAM_BA_SOURCE  = sam-ba_$(SAM_BA_VERSION).zip
+
+define HOST_SAM_BA_EXTRACT_CMDS
+        unzip -d $(BUILD_DIR) $(DL_DIR)/$(SAM_BA_SOURCE)
+        mv $(BUILD_DIR)/sam-ba_cdc_linux/* $(@D)
+        rmdir $(BUILD_DIR)/sam-ba_cdc_linux/
+endef
+
+# Since it's a prebuilt application and it does not conform to the
+# usual Unix hierarchy, we install it in $(HOST_DIR)/opt/sam-ba and
+# then create a symbolic link from $(HOST_DIR)/usr/bin to the
+# application binary, for easier usage.
+
+define HOST_SAM_BA_INSTALL_CMDS
+	mkdir -p $(HOST_DIR)/opt/sam-ba/
+	cp -a $(@D)/* $(HOST_DIR)/opt/sam-ba/
+	ln -s ../../opt/sam-ba/sam-ba $(HOST_DIR)/usr/bin/sam-ba
+endef
+
+$(eval $(call GENTARGETS,host))
+
Signature · 1 line
1.7.4.1
#10 lore raw

PATCH 7/7 sam-ba: new package with host variant only

Shouldn't we go further and provide scripts to flash the boards using the
default addresses used in at91bootstrap and u-boot ?

Quoted 64 lines · Thomas Petazzoni

sam-ba is a tool needed to reprogram AT91-based systems using an USB connection or a serial port connection.

---
 package/Config.in.host        |    1 +
 package/sam-ba/Config.in.host |    6 ++++++
 package/sam-ba/sam-ba.mk      |   23 +++++++++++++++++++++++
 3 files changed, 30 insertions(+), 0 deletions(-)
 create mode 100644 package/sam-ba/Config.in.host
 create mode 100644 package/sam-ba/sam-ba.mk
package/Config.in.host +1 -0
index 6499eb5..21e2a11 100644
@@ -2,5 +2,6 @@ menu "Host utilities"
 
 source "package/uboot-tools/Config.in.host"
 source "package/openocd/Config.in.host"
+source "package/sam-ba/Config.in.host"
 
 endmenu
package/sam-ba/Config.in.host new file +6 -0
new file mode 100644
index 0000000..1e46c30
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HOST_SAM_BA
+	bool "host sam-ba"
+	help
+	  Atmel SAM-BA? software provides an open set of tools for
+	  programming the Atmel SAM3, SAM7 and SAM9 ARM-based
+	  microcontrollers.
package/sam-ba/sam-ba.mk new file +23 -0
new file mode 100644
index 0000000..bdad695
@@ -0,0 +1,23 @@
+SAM_BA_SITE    = http://www.atmel.com/dyn/resources/prod_documents/
+SAM_BA_VERSION = 2.10
+SAM_BA_SOURCE  = sam-ba_$(SAM_BA_VERSION).zip
+
+define HOST_SAM_BA_EXTRACT_CMDS
+        unzip -d $(BUILD_DIR) $(DL_DIR)/$(SAM_BA_SOURCE)
+        mv $(BUILD_DIR)/sam-ba_cdc_linux/* $(@D)
+        rmdir $(BUILD_DIR)/sam-ba_cdc_linux/
+endef
+
+# Since it's a prebuilt application and it does not conform to the
+# usual Unix hierarchy, we install it in $(HOST_DIR)/opt/sam-ba and
+# then create a symbolic link from $(HOST_DIR)/usr/bin to the
+# application binary, for easier usage.
+
+define HOST_SAM_BA_INSTALL_CMDS
+	mkdir -p $(HOST_DIR)/opt/sam-ba/
+	cp -a $(@D)/* $(HOST_DIR)/opt/sam-ba/
+	ln -s ../../opt/sam-ba/sam-ba $(HOST_DIR)/usr/bin/sam-ba
+endef
+
+$(eval $(call GENTARGETS,host))
+
Signature · 16 lines
Alexandre Belloni

Adeneo Embedded
Adetel Group

2, ch. du Ruisseau - 69134 Ecully, France

www.adeneo-embedded.com
 




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120102/0a701ad3/attachment.html>
#11 lore raw

PATCH 7/7 sam-ba: new package with host variant only

Hello Alexandre,

Le Mon, 02 Jan 2012 14:25:35 +0100,
Alexandre Belloni <[email protected]> a ?crit :

Quoted 3 lines

Shouldn't we go further and provide scripts to flash the boards using the
default addresses used in at91bootstrap and u-boot ?

Indeed, that would be the next step to improve the board support for AT91 evaluation boards. You are welcome to contribute patches :-)

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
#12 lore raw

PATCH 7/7 sam-ba: new package with host variant only

Quoted 11 lines · On Monday 02 January 2012 14:29:59 Thomas Petazzoni wrote:

Hello Alexandre,

Le Mon, 02 Jan 2012 14:25:35 +0100,
Alexandre Belloni <[email protected]> a ?crit :

Quoted 3 lines

Shouldn't we go further and provide scripts to flash the boards using the
default addresses used in at91bootstrap and u-boot ?

Indeed, that would be the next step to improve the board support for AT91 evaluation boards. You are welcome to contribute patches :-)

Buildroot is missing post-image scripting in general. You will typically
want to package the kernel and rootfs in a compressed and signed image that can be distributed and installed on the target. Or during development, you would like to untar it to the nfsroot.

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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#13 lore raw

PATCH 7/7 sam-ba: new package with host variant only

Le Fri, 13 Jan 2012 00:13:13 +0100,
Arnout Vandecappelle <[email protected]> a ?crit :

Quoted 4 lines

Buildroot is missing post-image scripting in general. You will
typically want to package the kernel and rootfs in a compressed and signed image that can be distributed and installed on the target. Or during development, you would like to untar it to the nfsroot.

For one project, I have added a post-image script hook, like we have for post-build. I've used it to generate a firmware image in a special format, bundling the kernel image and the root filesystem image.

Does it make sense to submit such a feature?

Thomas

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

PATCH 7/7 sam-ba: new package with host variant only

Quoted 8 lines · On Friday 13 January 2012 09:25:45 Thomas Petazzoni wrote:

Le Fri, 13 Jan 2012 00:13:13 +0100,
Arnout Vandecappelle <[email protected]> a ?crit :

Quoted 4 lines

Buildroot is missing post-image scripting in general. You will
typically want to package the kernel and rootfs in a compressed and signed image that can be distributed and installed on the target. Or during development, you would like to untar it to the nfsroot.

Quoted 5 lines

For one project, I have added a post-image script hook, like we have for post-build. I've used it to generate a firmware image in a special format, bundling the kernel image and the root filesystem image.

Does it make sense to submit such a feature?

It most certainly does.

Myself, I have already created six scripts like that... So I guess I'm
better placed to refactor some commonalities out of them :-) Now if I only had the time to do it... (I'm still catching up on the buildroot mailing list of end of December...)

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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
Acked-by
#15 lore raw
In reply to Thomas Petazzoni
Quoted 16 lines · Thomas Petazzoni

Hello,

This is the second posting of this patch set that allows some host utilities to be visible in menuconfig, when those host utilities are not simply build dependencies, but might also be directly interesting for the user (image creation utilities, device programming utilities, etc.).

A first posting was done on October, 1st 2011, and the general idea and implementation received positive comments from Luca Ceresoli and Thomas De Schampheleire.

Changes since v1:

* Fix a commit log, as per the comment from Luca Ceresoli

Quoted 7 lines

* Add the SAM-BA utility from Atmel as another host utility. This tool can be used from the development machine to reflash a virgin AT91-based device, through USB or serial.

Regards,

Thomas

For the entire series:

Luca

#16 lore raw
Quoted 22 lines · Luca Ceresoli
Quoted 20 lines · Thomas Petazzoni

Hello,

This is the second posting of this patch set that allows some host utilities to be visible in menuconfig, when those host utilities are not simply build dependencies, but might also be directly interesting for the user (image creation utilities, device programming utilities, etc.).

A first posting was done on October, 1st 2011, and the general idea and implementation received positive comments from Luca Ceresoli and Thomas De Schampheleire.

Changes since v1:

* Fix a commit log, as per the comment from Luca Ceresoli

* Add the SAM-BA utility from Atmel as another host utility. This tool can be used from the development machine to reflash a virgin AT91-based device, through USB or serial.

Quoted 8 lines
Quoted 4 lines

Regards,

Thomas

For the entire series:

Aside from the alphabetical ordering in package/Config.in.host:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120102/1e357cc1/attachment.html>