Subject: [alpine-devel] Alpine Linux Xen support

From: [email-masked]
Date: Tue, 30 Mar 2010 11:25:42 +0200 (CET)

Hello,

I've been working on bringing paravirtualized Xen support to Alpine Linux for a few weeks, and the result is running fine here.

Here is the current state of my work for review :

Small fixes (not Xen specific) needed for patch #6 :

0001-main-dahdi-linux-vserver-install-modules.patch
0002-main-iscsitarget-grsec-set-ksrc-in-package.patch

PV guest additions provided by Citrix for better integration in XenServer 5.5 :
0003-main-xe-guest-utilities-new-aport.patch

Create a /dev/cdrom for virtual cdrom device
0004-main-busybox-initscripts-add-xen-stuff-to-mdev.patch

CONFIG_586TSC and CONFIG_X86_PAE are needed to enable pvops Xen in mainline kernel, so I created a new kernel flavor aport : linux-pae

Grsecurity doesn't play nice with 2.6.32 32bits Xen code for the moment (see http://forums.grsecurity.net/viewtopic.php?f=1&t=2063&start=75#p9653) so this patch is not enabled. The remaining is taken from the grsec flavor :

0005-main-linux-pae-new-aport.patch

Re-use existing aports to build dahdi-linux-pae and iscsitarget-pae (as already done in xtables-addons-grsec)
0006-main-dahdi-linux-vserver-iscsitarget-grsec-multi-fla.patch

Note I've put the linux-pae aport in main as it is easier to build dahdi-linux-pae, iscsitarget-pae and xtables-addons-pae from there. Maybe some hacking can be done to enable building them from testing.

I also worked on creating a bootable iso (by patching mkinitfs and alpine-iso), but this is not quite finished, so I'll post that part later.

Regards,
Cédric Schieli

---

From: Natanael Copa <[email-masked]>
Date: Tue, 30 Mar 2010 12:04:34 +0200

On Tue, Mar 30, 2010 at 11:25 AM,  <[email-masked]> wrote:
> Hello,
>
>
> I've been working on bringing paravirtualized Xen support to Alpine Linux
> for a few weeks, and the result is running fine here.

wow, cool!

I had a short look of the patches and they look very good. I'm
normally sceptic about new kernel falvors but in this case i think it
makes sense and the patches are good so I'm most likely to apply them.

Will take a close look this week.

Thanks alot!

-- 
Natanael Copa

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Natanael Copa <[email-masked]>
Date: Wed, 31 Mar 2010 13:28:32 +0200

> 0002-main-iscsitarget-grsec-set-ksrc-in-package.patch

applied.

> 0003-main-xe-guest-utilities-new-aport.patch

The Maintainer comment is supposed to tell who is responsible for
making the updates etc in alpine. (I need to clarify that in the docs)

I applied the patch anyway.

Would you like to take care of this package? When there are updates in
future it'll be you to do those. If there are bugs in this package
I'll send those in your direction.

> 0004-main-busybox-initscripts-add-xen-stuff-to-mdev.patch

-pkgver=2.0
-pkgrel=10
+pkgver=2.0_git1
+pkgrel=0

why?

Applied anyway.

btw, I am thinking of switching to udev. (and are interested in
feedback on reasons to do so or not do so)

> CONFIG_586TSC and CONFIG_X86_PAE are needed to enable pvops Xen in mainline
> kernel, so I created a new kernel flavor aport : linux-pae
> Grsecurity doesn't play nice with 2.6.32 32bits Xen code for the moment (see
> http://forums.grsecurity.net/viewtopic.php?f=1&t=2063&start=75#p9653) so
> this patch is not enabled. The remaining is taken from the grsec flavor :

makes sense. I wonder if we should provide this kernel as an option
for paravirtualized vmware guests too? They also have problems with
PaX.

Since it does not have any special patches (vserver, grsec etc) would
it be an idea to call this kernel "vanilla"?

applied anyway.

> 0006-main-dahdi-linux-vserver-iscsitarget-grsec-multi-fla.patch

applied.

> Note I've put the linux-pae aport in main as it is easier to build
> dahdi-linux-pae, iscsitarget-pae and xtables-addons-pae from there. Maybe
> some hacking can be done to enable building them from testing.

Yes. What I'd like to do is remove the build dependency resolving from
abuild shell script to an external lua script. I have the basics
there. Related to that, I'm also working on splitting apk-tools into
apk (binary) and libapk and then make lua bindings to libapk. The
first reason to do so is so the lua script can use the version compare
code with the real apk-tools.

> I also worked on creating a bootable iso (by patching mkinitfs and
> alpine-iso), but this is not quite finished, so I'll post that part later.

Nice!

Thanks alot!

-- 
Natanael Copa

---