Buildroot Mainline integration

From ArmadeusWiki
Jump to: navigation, search

Page under construction... Construction.png Informations on this page are not guaranteed !!

Changes since BR version used in armadeus 3.x

default packages

  • uClibc: 0.9.29 -> 0.9.30 ->
  • gcc: 4.2.1-> 4.4.5 -> 4.7.2
  • busybox: 1.6.2 -> 1.20.2 -> 1.21
  • U-Boot: 2012.10 -> 2013.04

build directories

  • build_arm_xxx/ project_build_xxx/ toolchain_build_arm_xxx/ have been removed and replaced by output/:
build  host  images  stamps  target  toolchain


  • buildroot default configs are now stored in buildroot/configs/apfxx_defconfig and no more in buildroot/target/device/armadeus/apfxx/apfxx_defconfig
  • uClibc config should be named with version number to not overwrite the old one -->
  • idem for U-Boot config:

Changes since BR version used in armadeus 4.x

  • TBDL

How to use recent BR in armadeus

  • checkout a recent clean GIT view and before any other command edit the main Makefile to change the BUILDROOT_VERSION flag from 2013.11 to the wanted BR version.
    • comment line 30
    • uncomment the line 29 and modify it
  • then you can use it as old BR:
$ make apf27_defconfig
$ make
  • you may need to create a new patches directory:

Patches that could be sent to BR

(Some will require some cleanup)


  • Patches to port: patches/buildroot/2013.11
  • when working on a patch mark it with:
    • ** <span style="color:orange">'''In progress'''</span> ~~~~
    • --> In progress JulienB 14:14, 9 November 2010 (UTC)
  • Strike the one that are no more needed:
    • 000-xxxxxxx.patch
  • Write OK in bold green and your name (automatic with 4x'~') when corresponding patch has been ported:
    • ** <span style="color:green">'''OK'''</span> ~~~~
    • --> 000-xxxxxxx.patch: OK JulienB 07:06, 21 October 2010 (UTC)
  • How to:
    • get a BR git
    • try to apply patch with patch -p1 --dry-run < patch_name.patch
    • when it applies remove --dry-run, commit, generates patch with GIT and send it to BR

Status for BR2013.11 patches

1 to 52

Name Comment Who
001-add_armadeus_device.patch Specific to armadeus
002-add_armadeus_specific_packages.patch Specific to armadeus. Could be merged with 001.
003-buildroot-libpng-security-bump-to-version-1.6.6.patch will be in BR 2014.02
005-armadeus-gpsd-add-options-setting-in-menuconfig.patch specific to armadeus but can be contributed upstream
013-buildroot-fixes-libhid-download.patch BR 2014.05
021-armadeus-add-sdl_water-package.patch can be sent upstream (demo) with modifications : LICENSE...
034-armadeus-add-slideshow-package.patch can be sent upstream with modifications : LICENSE... Tool still maintained ??
050-U-Boot-add_support_for_custom_configuration_file.patch Submission not accepted --jorasse 08:04, 5 December 2013 (UTC)

72 to 100

Name Comment Who
072-xenomai-package.patch cannot be sent upstream
081-adds_quake_package.patch can be sent upstream with modifications : LICENSE... In progress --JulienB 12:04, 14 January 2014 (UTC)
083-pygame-armadeus_addons.patch cannot be sent upstream due to missing dependencies
085-armadeus-add-gpm-package.patch Done JulienB
097-adds_flite_package.patch Done SamuelM 22:19, 14 April 2014 (UTC)
099-mplayer-add_patch_for_pld_asm_instruction_on_non_armv5_arch.patch maybe check with mplayer directly as BR has removed possibility for arm920t to compile mplayer:
107-armadeus-games-add-wolf4sdl-package.patch sources server no more active, need a 2nd source ;-) --JulienB 14:19, 27 December 2013 (UTC)
110-bluez3-add_package.patch *bluez-utils-4.x (currently 4.101) already in BR (since 2011.08) with bluez3 compat knob -- SamuelM 10:49, 1 November 2012 (UTC)
  • needed for small configs like APF9328 where using glib/dbus is not a good idea --JulienB 14:21, 27 December 2013 (UTC)
111-bluez3-hacks.patch dirty hack on bluez-lib need to be cleaned
118-armadeus-snes9x-add-package.patch can be sent upstream with modifications : LICENSE, remove link on rom site on .mk file,... to be updated to latest version before --JulienB 14:27, 27 December 2013 (UTC)
120-cwiid-add_package.patch Done in BR 2014.02 SamuelM
121-target-arm926t_is_arm926ej-s.patch ???

123 to 200

Name Comment Who
123-armadeus-pywebradio-add-package.patch pywebradio is no more maintained... --JulienB 12:05, 14 January 2014 (UTC)
124-e-uae-add_package.patch can be sent upstream with modifications : LICENSE... Little bit old, now...
125-armadeus-opentyrian-add-package.patch mainlined (will be in BR 2014.05) --JulienB 11:35, 13 February 2014 (UTC)
130-armadeus-lbreakout2-add-package.patch mainlined (will be in BR 2014.02) JulienB 07:58, 13 January 2014 (UTC)
131-armadeus-ltetris-add-package.patch mainlined (will be in BR 2014.02) JulienB 07:58, 13 January 2014 (UTC)
132-qt-full_integration_with_cross_compiling.patch mainlined (will be in BR 2014.02) JulienB 07:58, 13 January 2014 (UTC)
142-ncurses-fix_compilation_with_old_hosts.patch already in ncurses 5.9 ?? gni ?? ncurses 5.9 is default in recent BR
147-busybox-ifplugd-fixes-netlink-buffer.patch fixed in upstream busybox by commit da331d77
150-alsa-utils-fix_installation_bug_on_some_host_systems.patch can be sent upstream
157-buildroot-allow_generic_device_selection_even_when_custom_rootfs_is_chosen.patch specific to armadeus or this can be usefull for other projects?

168 to 188

Name Comment Who
168-libcanfestival-add_package.patch BR 2014.11 SamuelM
172-gsmmux-add_package.patch can be sent upstream with modifications. Armadeus specific I would say... --JulienB 12:06, 14 January 2014 (UTC)
174-imx-lib-customize_package.patch partially included in BR. package moved to package/freescale-imx/imx-lib/ Need some investiguations about the purpose of the modification
176-imx-test-add_package.patch Armadeus Project specific
178-uboot-add-missing-UBOOT_CLEAN_CMDS.patch removed: clean command is deprecated on Buildroot
179-e2fsprog-allow_e4defrag_build_against_old_kernel_headers.patch can not to be sent upstream. hack --JulienB 15:11, 27 December 2013 (UTC) / Still needed ? See commit SebastienSz 11:28, 14 November 2014 (UTC)
181-qtcreator-add_package.patch too specific to armadeus ?? --JulienB 15:11, 27 December 2013 (UTC)
182-uclibc-add_accept4_declaration_fix.patch should be sent to project ucbibc
183-openwrt-uclibc-add-kernel_long-declaration.patch will not be needed anymore when uclibc will be out (when ? ...)
184-fsl-mm-codeclib-add_package.patch invalid package
186-uboot-tools-2011.03-Ignore-env_sectors-on-NOR-and-SPI-dataflash.patch can not be sent upstream. This patch is mandatory to support apf9328 board.
188-marble-add_package.patch can be sent upstream with modifications

189 to 208

Name Comment Who
189-dbus-fix_installation.patch half of patch already integrated : the other is in
191-armadeus-madplay-fixes-libintl-dependency.patch Done JulienB
197-cunit-add_package.patch can be sent upstream with modifications. In progress SamuelM 20:18, 3 December 2012 (UTC)
201-armadeus-add_gnokii.patch can be sent upstream with modifications
203-armadeus-add_sms_server_tools_3_package.patch Done --JulienB 07:57, 29 January 2014 (UTC) JulienB
204-busybox-fix-snapshot.patch still needed ?? --JulienB 10:26, 8 January 2014 (UTC) -> No. There is only one version of busybox in BR now. SebastienSz 13:09, 13 November 2014 (UTC)
204-wpa-supplicant-add-option-ieee80211w.patch can be sent upstream with modifications. Only for very old kernels ??
205-busybox-coreutils-stty-add-rs485-config-options.patch can not be sent upstream
206-joe-add_package.patch Done (by somebody else and in a better way) --JulienB 11:06, 3 February 2014 (UTC)
208-armadeus-add_beremiz.patch can be sent upstream with modifications

209 to 215

Name Comment Who
209-armadeus-add_matiec.patch can not be sent upstream
210-poppler-qt_compiling.patch To have popler working with Qt/FB (instead of X)
214-mplayer-fix-compilation.patch Isn't it better to set correctly BR2_GCC_TARGET_ARCH instead of patching mplayer?
215-mmc-utils-add_package.patch Needed for APF6q eMMC mainlined -- SebastienSz 14:39, 15 January 2014 (UTC)
216-buildroot_ltrace_fix_url.patch no more needed since 2014.08
216-toolchain-external-add-Sourcery-ARM-2013.11-remove-S.patch no more needed since 2014.02
217-imagemagick-bump_to_version_6.8.9-0.patch no more needed since 2014.05
218-openssl-bump_to_version_1.0.1g.patch no more needed since 2014.05
219-shiboken-add_package.patch armadeus specific (needed for PySide)

How to send patches to BR

(see the Buildroot - How to contribute page)

  • GIT should be installed and configured on your PC like stated here
  • clone Buildroot GIT:
 $ git clone git:// buildroot_git_dev/ (TBDL)
 $ cd buildroot_git_dev/
  • take patch from Armadeus:
 $ cp /path_to_armadeus_bsp/patches/buildroot/2011.05/0xx-name.patch .
  • create a branch to work (here my_work):
 $ git branch my_work
 $ git checkout my_work
 Switched to branch 'my_work'
 $ git branch
 * my_work
  • try patch:
 $ patch -p1 --dry-run < 0xx-name.patch
  • if it works, apply it for real:
 $ patch -p1 < 0xx-name.patch
  • list changes:
 $ git status
  • do some more changes if needed and then save them:
 ... do changes ...
 $ git add files_changed
 ... test changes ...
 $ git commit -m "Summary of your work"
  • generate patch to send to BR:
 $ git format-patch -M master.. -s
  • this will give:
 $ git send-email 0001-Summary_of_your_work.patch
  • depending on the feedbacks from BR, modify your patch:
 ... do changes ...
 $ git diff
 $ git add files_changed
 $ git commit --amend
 $ git format-patch -M master..my_work -s
  • adds version inside [PATCH] ex: [PATCH v2]
  • adds comments after ---, ex:
From a2413db058ac3c515337102690ba12a746831f7e Mon Sep 17 00:00:00 2001
From: Julien Boibessot <>
Date: Wed, 19 Oct 2011 10:39:26 +0200
Subject: [PATCH v2] Add libmodbus package

Signed-off-by: Julien Boibessot <>
 Changes since v1:
  - Took Yegor Yefremov remarks about "call AUTOTARGETS' into account.

 Based on previous work of Marek Belisko and comments of Thomas Petazzoni.

 package/              |    1 +
 package/libmodbus/    |    8 ++++++++
 package/libmodbus/ |   11 +++++++++++
 3 files changed, 20 insertions(+), 0 deletions(-)
 create mode 100644 package/libmodbus/
 create mode 100644 package/libmodbus/

diff --git a/package/ b/package/
  • retry ;-)

After patch has been accepted

  • Delete branch & co:
$ rm xxxx.patch
$ git checkout master
$ git branch -D my_work

$ git branch
* master