Difference between revisions of "Buildroot Mainline integration"
From ArmadeusWiki
(→How to send patches to BR) |
|||
Line 132: | Line 132: | ||
* GIT should be installed and configured on your PC like stated [[GIT|here]] | * GIT should be installed and configured on your PC like stated [[GIT|here]] | ||
* clone buildroot GIT: | * clone buildroot GIT: | ||
− | git clone xxxxx buildroot_git_dev/ (TBDL) | + | <pre class="host"> |
− | cd buildroot_git_dev/ | + | $ git clone xxxxx buildroot_git_dev/ (TBDL) |
+ | $ cd buildroot_git_dev/ | ||
+ | </pre> | ||
* take patch from armadeus: | * take patch from armadeus: | ||
− | cp /path_to_armadeus_bsp/patches/buildroot/2011.05/0xx-name.patch . | + | <pre class="host"> |
+ | $ cp /path_to_armadeus_bsp/patches/buildroot/2011.05/0xx-name.patch . | ||
+ | </pre> | ||
* create a branch to work (here ''my_work''): | * create a branch to work (here ''my_work''): | ||
+ | <pre class="host"> | ||
$ git branch my_work | $ git branch my_work | ||
$ git checkout my_work | $ git checkout my_work | ||
Line 143: | Line 148: | ||
master | master | ||
* my_work | * my_work | ||
+ | </pre> | ||
* try patch: | * try patch: | ||
+ | <pre class="host"> | ||
$ patch -p1 --dry-run < 0xx-name.patch | $ patch -p1 --dry-run < 0xx-name.patch | ||
+ | </pre> | ||
* if it works, apply it for real: | * if it works, apply it for real: | ||
+ | <pre class="host"> | ||
$ patch -p1 < 0xx-name.patch | $ patch -p1 < 0xx-name.patch | ||
+ | </pre> | ||
* list changes: | * list changes: | ||
+ | <pre class="host"> | ||
$ git status | $ git status | ||
+ | </pre> | ||
* do some more changes if needed and then save them: | * do some more changes if needed and then save them: | ||
+ | <pre class="host"> | ||
... do changes ... | ... do changes ... | ||
$ git add files_changed | $ git add files_changed | ||
... test changes ... | ... test changes ... | ||
$ git commit -m "Summary of your work" | $ git commit -m "Summary of your work" | ||
+ | </pre> | ||
* generate patch to send to BR: | * generate patch to send to BR: | ||
+ | <pre class="host"> | ||
$ git format-patch -M master..libmodbus -s | $ git format-patch -M master..libmodbus -s | ||
+ | </pre> | ||
* this will give: | * this will give: | ||
+ | <pre class="host"> | ||
0001-Summary_of_your_work.patch | 0001-Summary_of_your_work.patch | ||
+ | </pre> | ||
* send patch to BR: | * send patch to BR: | ||
+ | <pre class="host"> | ||
$ git send-email --from=xxx.xxx@xxx.xx --to=buildroot@busybox.net --smtp-server=smtp.xxx.xx 0001-Summary_of_your_work.patch | $ git send-email --from=xxx.xxx@xxx.xx --to=buildroot@busybox.net --smtp-server=smtp.xxx.xx 0001-Summary_of_your_work.patch | ||
+ | </pre> | ||
* depending on the feedbacks from BR, modify your patch: | * depending on the feedbacks from BR, modify your patch: | ||
+ | <pre class="host"> | ||
... do changes ... | ... do changes ... | ||
$ git diff | $ git diff | ||
Line 166: | Line 187: | ||
$ git commit --amend | $ git commit --amend | ||
$ git format-patch -M master..mywork -s | $ git format-patch -M master..mywork -s | ||
+ | </pre> | ||
* adds version inside [PATCH] ex: [PATCH v2] | * adds version inside [PATCH] ex: [PATCH v2] | ||
* adds comments after ---, ex: | * adds comments after ---, ex: | ||
Line 192: | Line 214: | ||
...... | ...... | ||
</pre> | </pre> | ||
+ | * retry ;-) | ||
==Links== | ==Links== | ||
* [http://buildroot.uclibc.org/buildroot.html BR online doc] | * [http://buildroot.uclibc.org/buildroot.html BR online doc] |
Revision as of 11:39, 19 October 2011
Page under construction... Informations on this page are not guaranteed !!
Contents
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 ;-)