Buildroot Mainline integration
From ArmadeusWiki
Revision as of 20:42, 1 November 2012 by SamuelM (Talk | contribs) (→Patches that can be sent to BR)
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 -> 0.9.33.2
- gcc: 4.2.1-> 4.4.5 -> 4.7.2
- busybox: 1.6.2 -> 1.20.2
- U-Boot: 2012.10
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 ( 2nd priority package to push on the BR mainline )
-
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
- bluez-utils-4.x (currently 4.101) already in BR (since 2011.08) with bluez3 compat knob -- SamuelM 10:49, 1 November 2012 (UTC)
- 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 )
- In progress SamuelM 12:11, 1 November 2012 (UTC)
- 117-ussp-push-add_package.patch (to push on the BR mainline - need some refactoring )
- In progress SamuelM 12:11, 1 November 2012 (UTC)
- 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)
- In progress SamuelM 12:11, 1 November 2012 (UTC)
- 121-target-arm926t_is_arm926ej-s.patch
- 122-urg-add_package.patch (to push on the BR mainline )
- too specific to armadeus
- In progress SamuelM 12:11, 1 November 2012 (UTC)
- 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 )
- In progress SamuelM 19:42, 1 November 2012 (UTC)
- 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 )
- In progress SamuelM 19:42, 1 November 2012 (UTC)
- 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