WorkingTogether
From OpenMosixWiki
Contents |
Working With openMosix guys (e8dev.com Workflow)
I write this page as I am trying to start working with openmosix guys, since the repository of openmosix only contained modifed files (I mean in the git directory). The idea is that you must have a clean linux kernel tree aside your openmosix git clone repository ... and work with it. This is the way we work here @e8dev.com, if it's not the best way, at least it's our
Here is how.
First pre-requisites
I assume that you are fluent with using some common kernel softwares such as :
- quilt: http://savannah.nongnu.org/projects/quilt
- patch
- diff
- git: http://git.or.cz/
(I'll try to remind you of usefull commands as much as possible when needed along this little tutorial)
So for a first good start, let's install the needed software (I use debian, so convert commands to your distribution or install debian ;))
aptitude install cogito git-core quilt diffstat
DebianNotes contains notes on using aptitude with Debian 3.1 to install cogito and git-core
Working with the code
I am assuming here that you are working on the last git version of openmosix (that is the oM2.6 version) and that you have already followed the GetTheSource page ( because you did read this page, didn't you ?!? )
This tutorial assumes that you have a directory openmosix with a openmosix-2.6 directory containing the git repository, and a symbolic link linux to the directory containing a clean linux kernel (that is not containing openmosix patch applied yet) corresponding to the current openmosix linux kernel version.
Creating a good base to work with
First of all, create a directory called patches in the openmosix directory and a file series in the openmosix/patches directory.
Go in the openmosix git tree, and type :
scripts/unsparse patch ../linux/ mv ../openmosix-git.patch ../patches
Note: The trailing / on the directory is important to the unsparse command!
Add the line openmosix-git.patch into the series file. Now go into the linux directory, and enter the next command:
ln -s ../patches patches quilt push -av
The openmosix will be directly applied into the kernel.
Using this method, you can add as many patches as you want into the series so that, for instance, you can work with kgdb
Creating a patch to send to the mailing list
Go to the correct level of patch (using quilt pop patchname.patch) then add a patch :
quilt new mypatchname.patch quilt add thefileIwanttochange ...
work on your files, then update your patch using
quilt refresh
and reapply patches that needs to be applied
quilt push -av
Now you can send the patch directly to the mailling list, just try to make as many patch as there are files/features, making patches easier to do for you and easier for us to understand.
More about git/quilt ...
you can learn all what is needed on quilt using : man quilt and the same on git
Working with vim
All those operations can be commanded and help from vim with a dedicated plugin allowing easier use of quilt, this may help you too : http://www.vim.org/scripts/script.php?script_id=1656
- Setuping your installation (adding the link, creating the series)
:QuiltSetup - Pushing a patch
:QuiltPush - Poping a patch
:QuiltPop - Pushing all patches
:QuiltPushAll - Creating a patch
:QuiltNew - Adding a file to the patch
:QuiltAdd - Removing a file from the patch
:QuiltRemove - Editing the header of the aptch
:QuiltHeader(then:QuiltWriteHeader)
and many more convinient commands, check it out...
This page will be updated as we work on it
