The University of Queensland Homepage
School of ITEE ITEE Main Website

 Why so many patches?

Why all the patches?

News Flash

As of 4th September 2003 no patches are required on the standard uClinux-dist and uClinux-2.4.x CVS downloads!  Make sure you have the most recent toolchain version, and have fresh versions of the source (do a cvs update in uClinux-dist).


Old Info - Interesting but no longer relevant!

Introduction

It's a valid question - why do I have to apply these various patches to the CVS checkout, and why are there three of them rather than just one? 

First of all, remember that uClinux is actually two components, the kernel, and the distribution.  The following discussion is split accordingly.

The kernel, uClinux-2.4.x

The kernel CVS, maintained at www.uclinux.org, is updated on a daily basis.  Patches submitted to the maintainers are reflected in a matter of hours on the CVS.  This is a very good thing, especially with a kernel port like MicroBlaze which is still evolving.

The distribution environment, uClinux-dist

Like the kernel, uClinux-dist is also maintained under CVS at www.uclinux.org.  However, for various reasons, the uClinux-dist is updated much less frequently, roughly once every few months.  Preparing this distribution is a large effort for the maintainers, so they collect individual small patches, corrections and additions, and roll them into the main CVS repository all at the same time, when they also prepare what's known as a uClinux-dist tarball, or archive, of the entire distribution.

However, for an architecture like MicroBlaze that is still in development, it means that the uClinux-dist repository is unresponsive to changes made on a daily basis.  This affects the uClibc C libraries the most, but also some of the applications that may require slight modifications to work on the MicroBlaze platform.

So, the approach we adopt is that all MicroBlaze developers and users check out a known and agreed release of uClinux-dist, then apply patches over the top of that to stay current with recent developments. This explains why it is necessary to the "Obtaining the Sources" page specified the release tag "uClinux-dist-20030522" on uClinux-dist.

Two "patches" are required - the first is a patch in the truest sense of the word - it contains modifications to files that are already in uClinux-dist, but that require modifications.  The second is actually a .tar file that contains completely new files that are not present in uClinux-dist.  Thus, we have the MicroBlaze-uclinux-dist patch, and the MicroBlaze-uclinux-dist tarball.


Home Up


Last updated 08-May-2006   
© 2003-2006 John Williams unless otherwise stated