Buildroot Mainline integration

From ArmadeusWiki
Revision as of 21:55, 31 October 2012 by SamuelM (Talk | contribs) (Update BR links)

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
  • 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

Changes since BR version used in armadeus 4.x

  • TBDL

How to use new 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 2012.02 to 20121030
    • comment line 29
    • uncomment the line 30
  • then you can use it as old BR:
$ make apf27_defconfig
$ make
  • new patches dirrectory:
patches/buildroot/2012.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
  • 051a-u-boot-add-support-for-safeboot
    • partialy pushed to BR --jorasse 23:54, 28 October 2012 (UTC)
  • 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 (deleted - microcom - already present in busybox - can replace the cu command)
  • 096-libsndfile-updates_makefile_to_autotool.to_fix
  • 097-adds_flite_package.patch (to push on the BR mainline - need some refactoring )
  • 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
  • 111-bluez-hacks.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 (to push on the BR mainline )
  • 117-ussp-push-add_package.patch (to push on the BR mainline - need some refactoring )
  • 118-snes9x-add_package.patch
  • 119-fbtest-add_package.patch (to remove and use fb-test package present in BR instead)

120 -> end

  • 120-cwiid-add_package.patch (to push on the BR mainline - need some refactoring to be more generic)
  • 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 (to push on the BR mainline )
  • 134-jffs2-add_board_name_to_binary_rootfs_name.patch
    • too specific to armadeus
  • 135-linux-add_linux26-clean_target.patch
  • 142-ncurses-fix_compilation_with_old_hosts.patch
  • 146-busybox-disable_ip_busybox_if_iproute2_buildroot.patch
  • 150-alsa-utils-fix_installation_bug_on_some_host_systems.patch
  • 152-uclibc-add_times_syscall_patches.patch
  • 153-busybox-fix_1.16_build_with_make_3.82.patch
  • 157-buildroot-allow_generic_device_selection_even_when_custom_rootfs_is_chosen.patch
  • 158-setserial-bump_version.patch
  • 168-libcanfestival-add_package.patch (to push on the BR mainline )
  • 170-mplayer-make_it_compile_on_apf51.patch
  • 172-gsmmux-add_package.patch
  • 174-imx-lib-add_package.patch
  • 176-imx-test-add_package.patch
  • 177-restore-java-packages-classpath-jamvm.patch
  • 178-uboot-add-missing-UBOOT_CLEAN_CMDS.patch
  • 179-e2fsprog-allow_e4defrag_build_against_old_kernel_headers.patch
  • 181-qtcreator-add_package.patch
  • 182-uclibc-add_accept4_declaration_fix.patch
  • 183-firmware-imx-add_package.patch
  • 184-fsl-mm-codeclib-add_package.patch
  • 185-gst-fsl-plugin-add_package.patch
  • 186-linux-firmware-add_marvell_libertas_8686.patch
  • 186-uboot-tools-2011.03-Ignore-env_sectors-on-NOR-and-SPI-dataflash.patch
  • 188-marble-add_package.patch (to push on the BR mainline )
  • 189-dbus-fix_installation.patch
  • 191-madplay-requires_libintl.patch
  • 196-python-crc16-add_package.patch (to push on the BR mainline )
  • 197-cunit-add_package.patch (to push on the BR mainline )

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 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