Difference between revisions of "Buildroot Mainline integration"

From ArmadeusWiki
Jump to: navigation, search
(How to send patches to BR)
(No difference)

Revision as of 13:59, 13 March 2012

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
  • busybox: 1.6.2

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

configs

  • 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 -->
buildroot/target/device/armadeus/apf27/uClibc-0.9.30.config.arm
  • idem for U-Boot config:
buildroot/target/device/armadeus/apf27/apf27-u-boot-2010.03.h

How to use new BR in armadeus

  • checkout a recent clean GIT view (new BR is used since armadeus-4.0)
  • then you can use it as old BR:
$ make apf27_defconfig
$ make
  • new patches dirrectory:
patches/buildroot/2010.11/

Patches that can be sent to BR

(Some will require some cleanup)

Instructions

  • Patches to port: patches/buildroot/2010.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

001 -> 051

  • 001-add_armadeus_device.patch
  • 006-lcd4linux.patch
  • 018-allegro.patch
  • 021-sdl-water-config.patch
  • 034-slideshow.patch
  • 038-fakeroot-bump_version.patch
  • 040-linux-makefile.patch
  • 041-fbgrab.patch
    • no more needed (done in BR, commit f6cdaf59) -- SamuelM 10:58, 12 March 2011 (UTC)
  • 042-socketcan.patch
  • 043-mesa-add_packages.patch
  • 044-tslib-add_patch_for_recent_kernels_compatibility.patch
    • no more needed since 2010.12 -- JulienB 15:23, 7 February 2011 (UTC)
  • 045-openssh-add_passwd_expire.patch
  • 047-uclibc-config.patch
  • 050-linux-stops_building_when_modules_compilation_fails.no_more_needed
  • 051a-u-boot-add_copy_to_functionnality.patch
  • 051b-u-boot-change_board_name_default_value.patch
  • 051c-u-boot-makes_u-boot-clean_target_work.patch
  • 051d-u-boot-add_possibility_to_choose_board_header_file.patch
  • 051e-u-boot-add_1.3.4_version_specific_support.patch
  • 051f-u-boot-handle_armadeus_specific_options_for_config_header.patch
  • 051g-u-boot-add_u-boot-unpacked_target.patch
  • 051h-u-boot-makes_binary_targets_name_overloadable.patch
  • 051-u-boot.a_refaire_entierement

052 -> 085

  • 052-linux-adds_linux26-patched_target_to_Makefile.patch
  • 054-ntp-allow_ntpd_selection_or_not.patch
  • 055-pyserial-add_package.patch
  • 057-pymysql-add_package.patch
  • 058-makes_alsa_work_with_eabi_and_large_file_options.to_fix
  • 060-makes_possible_to_compile_linux_in_a_standalone_way_after_configuration.patch
    • too specific to armadeus
  • 061-mysql_client-reduce_installation_size.patch
  • 062-add-uboot-conf-to-savedproject.to_fix
    • too specific to armadeus
  • 071-linux-change_board_specific_patches_name.patch
  • 072-xenomai-package.patch
  • 076-ubi-add_ubi_image_support.patch
    • In progress JulienB 13:03, 21 December 2010 (UTC)
  • 081-adds_quake_package.patch
  • 082-mtd-utils_with_ubi-utils.tofix
  • 083-adds_pygame_package.patch
  • 085-adds_gpm_package.patch

095 -> 119

  • 095-uucp-add_packages.patch
  • 096-libsndfile-updates_makefile_to_autotool.to_fix
  • 097-adds_flite_package.patch
  • 099-mplayer-add_patch_for_pld_asm_instruction_on_non_armv5_arch.patch
  • 101-mplayer-add_patch_for_recent_alsa_compatibility.patch
  • 106-firmware-add_infrastructure_to_install_firmwares.patch
  • 107-games-add_wolf4sdl.patch
  • 110-bluez-add_package.patch
  • 112-gcc-4_2_x-add_aapcs-linux_eabi_config_option_support_for_arm.patch
  • 113-gpsd-add_package.integrated
  • 116-openobex-add_package.patch
  • 117-ussp-push-add_package.patch
  • 118-snes9x-add_package.patch
  • 119-fbtest-add_package.patch

120 -> end

  • 120-cwiid-add_package.patch
  • 121-target-arm926t_is_arm926ej-s.patch
  • 122-urg-add_package.patch
    • too specific to armadeus
  • 123-pywebradio-add_package.patch
  • 124-e-uae-add_package.patch
  • 125-opentyrian-add_package.patch
  • 126-tslib-test_add_quit_button.patch
    • no more needed since 2010.12 -- JulienB 15:25, 7 February 2011 (UTC)
  • 129-ipsec-tools-replaces_susv3_legacy_functions_with_modern_equivalent.integrated
  • 130-lbreakout-add_package.patch
    • In progress JulienB 21:36, 20 December 2010 (UTC)
  • 131-ltetris-add_package.patch
  • 132-qt-full_integration_with_cross_compiling.patch
  • 133-qwt-add_package.patch
  • 134-jffs2-add_board_name_to_binary_rootfs_name.patch
    • too specific to armadeus

How to send patches to BR

  • GIT should be installed and configured on your PC like stated here
  • clone buildroot GIT:
 $ git clone xxxxx 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
   master
 * 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..libmodbus -s
  • this will give:
 0001-Summary_of_your_work.patch
  • send patch to BR:
 $ git send-email --from=xxx.xxx@xxx.xx --to=buildroot@busybox.net --smtp-server=smtp.xxx.xx 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..mywork -s
  • adds version inside [PATCH] ex: [PATCH v2]
  • adds comments after ---, ex:
From a2413db058ac3c515337102690ba12a746831f7e Mon Sep 17 00:00:00 2001
From: Julien Boibessot <julien.boibessot@armadeus.com>
Date: Wed, 19 Oct 2011 10:39:26 +0200
Subject: [PATCH v2] Add libmodbus package


Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
---
 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/Config.in              |    1 +
 package/libmodbus/Config.in    |    8 ++++++++
 package/libmodbus/libmodbus.mk |   11 +++++++++++
 3 files changed, 20 insertions(+), 0 deletions(-)
 create mode 100644 package/libmodbus/Config.in
 create mode 100644 package/libmodbus/libmodbus.mk

diff --git a/package/Config.in b/package/Config.in
......
  • retry ;-)

After patch has been accepted

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

$ git branch
* master

Links