Differences
This shows you the differences between two versions of the page.
|
doc:devel:patches [2013/02/19 20:39] written_direcon |
doc:devel:patches [2013/04/23 22:35] (current) jero patch: add clarification for host packages |
||
|---|---|---|---|
| Line 25: | Line 25: | ||
| | ''make package///example///{clean,prepare} V=s **QUILT=1**'' | | | ''make package///example///{clean,prepare} V=s **QUILT=1**'' | | ||
| + | |||
| + | For host-side packages, you may want to detail the make target: | ||
| + | |||
| + | | ''make package///example///host/{clean,prepare} V=s **QUILT=1**'' | | ||
| This unpacks the source tarball and prepares existing patches as //quilt patch series// (if any). | This unpacks the source tarball and prepares existing patches as //quilt patch series// (if any). | ||
| Line 88: | Line 92: | ||
| If problems occur, the patch needs to be edited again to solve the issues. | If problems occur, the patch needs to be edited again to solve the issues. | ||
| Refer to the section below to learn how to edit existing patches. | Refer to the section below to learn how to edit existing patches. | ||
| - | |||
| ===== Edit an existing patch ===== | ===== Edit an existing patch ===== | ||
| Line 145: | Line 148: | ||
| | ''make package///example///{clean,compile} package/index V=s'' | | | ''make package///example///{clean,compile} package/index V=s'' | | ||
| + | |||
| Line 155: | Line 159: | ||
| | ''make target/linux/{clean,prepare} V=s **QUILT=1**'' | | | ''make target/linux/{clean,prepare} V=s **QUILT=1**'' | | ||
| - | The source tree is in the linux-//architecture// subdirectory: | + | For Attitude Adjustment, the source tree is in the linux-//architecture// subdirectory: |
| | ''cd build_dir/linux-*/linux-3.*'' | | | ''cd build_dir/linux-*/linux-3.*'' | | ||
| + | |||
| + | For Barrier Breaker (trunk), the source tree is in the target-//architecture// subdirectory (potentially with a subarch): | ||
| + | | ''cd build_dir/target-*/linux-*/linux-3.*'' | | ||
| Moving the changes back over to the buildroot tree from the build tree is done with: | Moving the changes back over to the buildroot tree from the build tree is done with: | ||
| | ''make target/linux/update package/index V=s'' | | | ''make target/linux/update package/index V=s'' | | ||
| + | |||
| + | The last command for moving the changes back over the buildroot tree seems not to work with Attitude Adjustment 12.09-rc1; since if we typed such a command our patch will be deleted because it had remained in the temporary folder //build_dir// where it was created.So a workaround in order to have our patch applied is moving the patch to the proper folder manually. That is to say, if we have followed the previous sections in which we modified or created a new patch, after issuing'' quilt refresh'', our patch will appear under the next directory | ||
| + | |||
| + | ''~/attitude_adjustment/build_dir/linux-*/linux-*/patches/'' | ||
| + | |||
| + | Therefore, depending on the changes we want to add to the kernel, we should copy that patch to one of these directories | ||
| + | |||
| + | * ''~/attidude_adjustment/target/linux/generic/patches-3.3'' -> it will in theory get applied to all platforms | ||
| + | * ''~/attidude_adjustment/target/linux/<platform>/patches-3.<3>'' -> it gets only applied to the specific platform you place it | ||
| + | |||
| + | Thus, we have to move our patch to one of those directories, for example the first one | ||
| + | | ''cp whateverNameYouSet.patch ~/attitude_adjustment/target/linux/generic/patches-3.3/'' | | ||
| + | |||
| + | Afterwards, if we want to verify whether our patch is applied or not, we can go to the top level directory with | ||
| + | | ''cd ../../../../'' | | ||
| + | and preparing again the //linux// folder for some modification with | ||
| + | |||
| + | | ''make target/linux/{clean,prepare} V=s QUILT=1'' | | ||
| + | |||
| + | During this process all the applied patched will be shown, being our among them, preceede by //generic/// or // platform/// depending on what directory we placed the patch. Another way of retreiving the applied patches is through | ||
| + | |||
| + | | ''quilt series'' | | ||
| + | |||
| + | as explained on the previous sections, after having made //make target/linux/{clean,prepare} ...// | ||
| ===== Adding or editing toolchain patches ===== | ===== Adding or editing toolchain patches ===== | ||
| Line 209: | Line 240: | ||
| * [[http://linux.die.net/man/1/quilt|Official quilt man page]] | * [[http://linux.die.net/man/1/quilt|Official quilt man page]] | ||
| * [[http://git.savannah.gnu.org/cgit/quilt.git/plain/doc/quilt.pdf|How To Survive With Many Patches - Introduction to Quilt]] (PDF) (read online [[https://docs.google.com/viewer?url=http%3A%2F%2Fgit.savannah.gnu.org%2Fcgit%2Fquilt.git%2Fplain%2Fdoc%2Fquilt.pdf|here]]) | * [[http://git.savannah.gnu.org/cgit/quilt.git/plain/doc/quilt.pdf|How To Survive With Many Patches - Introduction to Quilt]] (PDF) (read online [[https://docs.google.com/viewer?url=http%3A%2F%2Fgit.savannah.gnu.org%2Fcgit%2Fquilt.git%2Fplain%2Fdoc%2Fquilt.pdf|here]]) | ||
| + | * [[https://forum.openwrt.org/viewtopic.php?id=43039|Applying patches newbie doubt]] | ||
| + | |||
doc/devel/patches.1361302790.txt.bz2 · Last modified: 2013/02/19 20:39 by written_direcon
This text is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
