what is zen-sources ?
source http://www.zen-sources.org/content/aboutZen-Sources is a collaborative effort of kernel hackers and enthusiasts to provide the best Linux kernel possible. We include code that is not yet found in the mainline kernel in an attempt to support the latest hardware, new features, security fixes, optimizations, etc. We are generally more up to date than your favorite distro's default kernel. If there is something you would like included in a future Zen kernel just ask and we will try to include it. Zen-Sources is NOT a "patchset" like many of you are used to. Zen-Sources is a Linux kernel. We do all of our development in a git repository, and most of the code we inluced gets pulled from other git repos. Since we rarely interact with patches these days, we are not going to go out of our way to provide "broken-out patches". The only patch you will get from us is a monolithic patch applied on top of some vanilla kernel base; we prefer you to use git. If you need a "broken-out patch" use gitweb or 'git diff'.
questions and problems with zen-sources should be discussed at its official homepage: http://www.zen-sources.org/ in the section Forums
the installation instructions in this post are provided for your convenience to get you started with the git-provided approach
for a more detailed view on the ways to install zen-sources see: Installation-Instructions on zen-sources.org
in general you should take a look at zen-sources.org for more up-to-date information and instruction
checking the sources out
First Time
1) for zen-sources
Code:
Code: Select all
cd /usr/src
git clone git://zen-sources.org/zen/zen.git zen-sources
cd zen-sources
make menuconfigusually more than once per day.) (see: http://lwn.net/Articles/311677/)
Code:
Code: Select all
cd /usr/src
git clone git://zen-sources.org/zen/mmotm.git mmotm
cd mmotm
make menuconfigCode:
Code: Select all
cd /usr/src
git clone git://zen-sources.org/zen/kernel/zenrt.git zen-sources
cd zen-sources
make menuconfigexample:
Code: Select all
git diff v2.6.24 v2.6.24-zen1 > 2.6.24-zen1.patch Code: Select all
emerge qgitCode: Select all
apt-cache search qgitCode: Select all
sudo apt-get install qgitupdate sources (inside the directory)
Code: Select all
Update
Code:
cd /usr/src/zen-sources
git pull you are in the middle of a conflicted merge:
output could be:
git pull
Auto-merged .gitignore
Auto-merged MAINTAINERS
Auto-merged Makefile
CONFLICT (content): Merge conflict in Makefile
Removed arch/mips/lasat/sysctl.h
Auto-merged drivers/ata/libata-scsi.c
Auto-merged drivers/char/Kconfig
Auto-merged drivers/char/drm/ati_pcigart.c
Auto-merged drivers/char/drm/drm.h
Auto-merged drivers/char/drm/drm_drv.c
CONFLICT (content): Merge conflict in drivers/char/drm/drm_drv.c
...
Automatic merge failed; fix conflicts and then commit the result.
first try:rmh3093 wrote: This usually happens when the branch you are trying to update has been rebased. The easiest way to get around this is to checkout a new copy of the branch. For example, if you are currently on the master branch you would do something like the following:
Code: Select all
git checkout -f && git pullCode: Select all
git reset --hard; git branch -M master master-old; git checkout -b master origin/master; git branch -D master-old; git checkout -f example:
Code: Select all
# git checkout master-develCode: Select all
git branche.g. master-light, then enter
Code: Select all
git branch master-light origin/master-light && git checkout master-lightCode: Select all
git checkout v2.6.25-rc5-zen0speeding up merge (download) of zen-sources (during first time)
1) checkout the linux-2.6 branch of linus (git.eu.kernel.org or git.kernel.org)
Code: Select all
git clone git://git.eu.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.gitCode: Select all
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.gitCode: Select all
git clone --reference /usr/src/sources/linux-2.6/ git://zen-sources.org/zen/zen.git zen-sources*click* for a link to the Portage repo for zen kernel ebuilds
what branches of kernel-sources are there?
currently (december 2008), there are 2 different patchsets and branches used in those are (see):
( heads (zen-sources) ):
( heads (mmotm) ):
( heads (zenrt-sources) ): (not available right now)
- master (git checkout master) (e.g. v2.6.24-zen3)
sometime there's also master-new or similar for testing / rebasing purposes
the other "head"s are branches which are added to the main tree
the project's site can be reached over at:
www.zen-sources.org
the repo is reachable via:
http://git.zen-sources.org/?p=zen.git;a=summary (zen-sources)
and/or
http://git.zen-sources.org/?p=mmotm.git;a=summary (mmotm-sources)
and/or
http://zen-sources.org/cgi-bin/gitweb.c ... ;a=summary (zenrt-sources) (not available right now)
as of August 2008 there's a zenhardened-sources planned with no ETA known yet (as of August 2009, this is still pending / stalled)
for those who are interested there is other (non-kernel related) stuff on the zen git-server:
* THE portage overlay.... random ebuilds not found the Gentoo portage overlay...
* A C++ library for communicating with Drupal Services.
* A portage overlay with ebuilds relating to embedded systems
* A desktop agnostic gui for Obex Push Protocol and Obex File Transfer Protocol.
* Cross development toolchain creator for paludis.
update:
removed reiser4-repository links
update2:
added instruction on how to git-clone linus' repository and using that for reference to update to the zen-sources repo
update3:
updated adresses to the new overlay/servers
update4:
updated the git-addresses for zen-sources and mmotm (mm-sources) of the new zen-sources server
update5:
corrected zenmm -> mmotm
since the zenmm doesn't exist right now
update6:
added info about some other repositories



