From: Micah Anderson (micah_at_riseup.net)
Date: Wed 06 Apr 2005 - 17:55:28 BST
Here is a report of the hacking done last night (or day, depending on
your timezone) to port the vserver 1.9.5.12 patches to the Debian
kernel 2.6.8. Bertl is truely an amazing kernel hacker!
Debian's Sarge, which will freeze "any day now"(tm), will be shipped
with the 2.6.8 kernel as the primarly supported kernel. It contains
backports of critical issues (including security fixes and major
crashes), is the 2.6 kernel that is part of the Debian Installer that
will be a part of the Sarge release, and will be the primary supported
kernel for Sarge. This means that most Debian users will use the
Debian 2.6.8 kernel, however there will be a 2.6.11 kernel available
as a fall-back in the case that 2.6.8 has a major problem that cannot
be backported.
It is for these reasons that there was work done to get the vserver
1.9.5 patch sets to work with this version of the Debian kernel.
Having a working version of this patch against the Debian kernel will
make it easier to get it to work for future Debian kernel revisions,
and will be included in the debian package kernel-patch-vserver.
Plan:
. Get a vanilla/mainline 2.6.11.6-vs1.9.5.12 kernel up and
running on one machine
. Find a way to easily check the debian 2.6.8-15-vs1.9.5.12
kernel, compare them and check for differences
. Port the split vserver 1.9.5.12 patches, by using a diff
against the vanilla 2.6.8 source and the debian 2.6.8-15
source (this diff has the md5sum: 823fee2ebc230fdddff90824662fae62)
. Compile, reboot, test test test.
Progress:
. Got the 2.6.11-vs1.9.5.12 kernel up and running
. Installed the vserver utils 0.30.205 + 2 patches
. Converted legacy vserver configurations to new format
. Bertl finished adapting each split patch, reassembled and
was able to build successfully
. Filed a couple Debian kernel-source-2.6.8 bug reports
. First compile did not boot in qemu
. After disabling power-management it boots fine (apparantly
ACPI and PM got selected in kernel config)
. 02:08 < Bertl> Linux-VServer Test [V0.11] (C) 2003-2005 H.Poetzl
02:08 < Bertl> chcontext is working.
02:08 < Bertl> chbind is working.
02:08 < Bertl> Linux 2.6.8-vs1.9.5 i686/0.30.204/0.30.204 [Ea]
02:08 < Bertl> VCI: 0001:0025 273 03110076
02:08 < Bertl> ---
02:08 < Bertl> [001]# succeeded.
02:08 < Bertl> [011]# succeeded.
02:08 < Bertl> [031]# succeeded.
02:08 < Bertl> [101]# succeeded.
02:08 < Bertl> [102]# succeeded.
02:08 < Bertl> [201]# succeeded.
02:08 < Bertl> [202]# succeeded.
. Bertl tried with a different split (different from default)
and it was broken somehow
. http://vserver.13thfloor.at/Experimental/patch-2.6.8-15-vs1.9.5-1.diff
was the first one
. The latest version is
http://vserver.13thfloor.at/Experimental/patch-2.6.8-15-vs1.9.5-1.1.diff
Notes/TODO:
. Need to test NFS
. Need to compile, boot and test several times with small
changes, loooking at various features (from vserver paper and
changelogs) to know what to test
. Need to check ext2/ext3 xattr with disk limit accounting
. The ext3 xattr/dquot stuff is broken in Debian, Bertl
submitted a patch a few months ago that was included in
mainline (http://lkml.org/lkml/2005/1/26/174), this gets
quota wrong (filed debian bug: #303426)
. Debian is missing
http://www.ussg.iu.edu/hypermail/linux/kernel/0501.3/1026.html which
is a spinlock_assert issue will crash your kernel when
compiled with up/spinlock_debug (filed debian bug: #303424)
. Debian has atomic_inc_return for all archs, except x86 (but
not really a 'bug' because kernel does not need inc_and_return())
. Had to add some rcu stuff (what was this Bertl?)
. Need to check task_state (in proc) regarding initpid virtualization
. Virtual process uptime probably needs fixing
. FIXADDR mapping is missing (what is this Bertl?)
. Need to test cross-compile for other arches
(http://vserver.13thfloor.at/Stuff/Cross/howto.info)
. Need to compile x25 in, as this is one of the typical bug
sources in recent vserver kernels
Additional Info:
. The Debian kernel has a lot of modules configured by
default, needed to find a way to recompile the vserver
debian kernel with minimal recompile times:
using the official debian image packages, you can nuke
the extra configs, and drop a lot of modules
out of the remaining configuration:
rm config/{386,k7,k7-smp,686-smp}
cp config/686 linux-2.6.11/.config, cd linux-2.6.11
&& make menuconfig; cp linix-2.6.11/.config
config/686
also, use ccache when compiling, this will drastically increase compile times
_______________________________________________
Vserver mailing list
Vserver_at_list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver