Difference between revisions of "Quilt"

From ArmadeusWiki
Jump to: navigation, search
(Using quilt in ARMadeus project)
(By Hand)
Line 28: Line 28:
$ make linux-extract
$ make linux-extract
* Once extract done, go to linux source directory and add patch one by one :
Once extract done, go to linux source directory and add patch one by one :
<pre class="host">
<pre class="host">
$ cd buildroot/output/build/linux-5.3-rc4/
$ cd buildroot/output/build/linux-5.3-rc4/

Revision as of 15:08, 25 March 2020


Quilt is a little tool used to manage patches. The project is hosted on savannah forge and can be found in debian package repository.

Using quilt in ARMadeus project

Quilt is useful when linux kernel or buildroot modification must be done. Because ARMadeus use official linux/buildroot sources, each specific modification for our platform must be done with a patch. And patches are versionned on ARMadeus sourceforge repository in directory /home/fabien/Projects/exer/software/bsp/buildroot/target/device/armadeus/linux/kernel-patches/ for Linux kernel and in patches/buildroot for buildroot.


To use it under ARMadeus Project, a simple script was written to simplify it : quiltify.sh. Launch it from the root project :

  [  ] $ ./scripts/quiltify.sh

Then answer questions (defaults are recommended). For linux kernel, quiltify will rename your source directory and download/patch/compile again the sources.

By Hand

quiltify is not so up to date script. Then it can be better to load quilt patch by hand. To do this, you can follow this procedure:

  • linux-dirclean: linux kernel should be rebuild from scratch then first we have to cut the branch (in bsp root directory do):
$ make linux-dirclean
  • linux-extract: We have to just extract virgin linux source (don't compile yet):
$ make linux-extract
  • Once extract done, go to linux source directory and add patch one by one :
$ cd buildroot/output/build/linux-5.3-rc4/

Play with quilt

Once you done it, you can go to linux sources directory buildroot/project_build_armv5te/apf27/linux- then list all patches applied to with quilt command :

  [  ] $ quilt applied

If you want to create a new patche, just use new quilt command. Then before modifying linux file, add it to quilt with add command.

The file can be modified according to your wish.

Once modification done, you can generate the patch using refresh command. To add yours patches in the right directory, go to your project root then launch the script with export command :

  [  ] $ ./scripts/quiltify.sh export

Your patch is now ready to be committed on ARMadeus sourceforge.


The man page of quilt is a good documentation, it's strongly recommended to read it before using it.