...to the "Beer Fund" :)

Array.org Netbook Repository for Ubuntu

Using Git with the Kernel

What is Git?

Git is a fast revision control system used by the Linux Kernel and Ubuntu for tracking changes to the kernel source code. It is used to efficiently manage multiple tiers of developers working on the same basic project in tandem.

I used git for this project as a way to merge in the latest upstream kernel development code into my own codebase.

Git Resources

The following links are "required reading" if you plan on hacking the kernel with git.

Cloning the Repository

Before you can begin hacking the kernel you need to first download (aka, clone) a repository. I have posted my changes to a public read-only git repository available online. See the Git URL table below. This table describes the clone url using the native git:// protocol over port 9418.

The git:// URL is the most efficient way to download the code. If you're having problems using this Git URL, see FAQ #11 for an alternative URL scheme.

Ubuntu Release Package Type Package Name Git URL
jaunty eeepc kernel linux-image-2.6.28-12-netbook git://git.array.org/array/ubuntu-jaunty.git
eeepc-lean kernel linux-image-2.6.28-12-netbook-eeepc
eeepc kernel headers linux-headers-2.6.28-12-netbook
eeepc-lean kernel headers linux-headers-2.6.28-12-netbook-eeepc
kernel headers linux-headers-2.6.28-12
meta-packages linux-eeepc git://git.array.org/array/ubuntu-jaunty-meta.git
linux-image-eeepc
linux-headers-eeepc
linux-image-eeepc-lean
linux-image-eeepc-lean
linux-headers-eeepc-lean
intrepid eeepc kernel linux-image-2.6.27-13-eeepc git://git.array.org/array/ubuntu-intrepid.git
eeepc-lean kernel linux-image-2.6.27-13-eeepc-lean
eeepc kernel headers linux-headers-2.6.27-13-eeepc
eeepc-lean kernel headers linux-headers-2.6.27-13-eeepc-lean
kernel headers linux-headers-2.6.27-13
meta-packages linux-eeepc git://git.array.org/array/ubuntu-intrepid-meta.git
linux-image-eeepc
linux-headers-eeepc
linux-image-eeepc-lean
linux-image-eeepc-lean
linux-headers-eeepc-lean
hardy eeepc kernel linux-image-2.6.24-22-eeepc git://git.array.org/array/ubuntu-hardy.git
eeepc kernel headers linux-headers-2.6.24-22-eeepc
kernel headers linux-headers-2.6.24-22
eeepc modules* linux-ubuntu-modules-2.6.24-22-eeepc git://git.array.org/array/ubuntu-hardy-lum.git
eeepc module headers* linux-headers-lum-2.6.24-22-eeepc
meta-packages linux-eeepc git://git.array.org/array/ubuntu-hardy-meta.git
linux-image-eeepc
linux-headers-eeepc

* The "eeepc modules" & "eeepc module headers" are packages that are specific to hardy. In intrepid, these packages were rolled into the kernel itself.

To clone the "hardy eeepc kernel" repository you would run the command:

git clone git://git.array.org/array/ubuntu-hardy.git
FAQ: I cannot seem to download the source using the git protocol. Is there an alternative?

This will download the code into the directory "ubuntu-hardy-eeepc"

After downloading, at any time you can update your local repository to pulling the latest changes from the original public repository. From the "ubuntu-hardy-eeepc" directory, run the command:

git pull origin
Finally, a neat way to visually read the commit history of a repository tree is with the program gitk. From the "ubuntu-hardy-eeepc" directory, run the command:
gitk --all