mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-24 10:02:29 +01:00
Revert "system/xen: Added (updated to version 4.2.0 from 13.37 repo)"
This reverts commit 66e00ebfd7
.
The branch containing this commit was not intended for merging,
as it was not deemed ready by the xen SBo maintainer (mario).
Apologies to mario for the oversight - I should have named this
branch differently so that its meaning was clear :/
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
parent
90dde055a6
commit
479449eb45
15 changed files with 0 additions and 11911 deletions
|
@ -1,20 +0,0 @@
|
|||
The Xen hypervisor, a powerful open source industry standard for
|
||||
virtualization, offers a powerful, efficient, and secure feature set for
|
||||
virtualization of x86, x86_64, IA64, ARM, and other CPU architectures. It
|
||||
supports a wide range of guest operating systems including Windows, Linux,
|
||||
Solaris, and various versions of the BSD operating systems.
|
||||
|
||||
In order to run Xen, you will need to install and boot from a Xen dom0
|
||||
kernel. Check README.dom0 (in docs/dom0) for more information on how to do
|
||||
that.
|
||||
|
||||
mbootpack is an optional dependency. Since booting a Xen kernel with LILO
|
||||
is not supported by default we have to use GRUB; alternatively, you can use
|
||||
mbootpack to create a LILO compatible kernel.
|
||||
|
||||
GRUB may be installed from Slackware's extra repository. The GRUB package
|
||||
is not available from the Slackware x86_64 distribution, but the source and
|
||||
a SlackBuild may be found in its extra/source repository.
|
||||
|
||||
See README.SLACKWARE (which is also installed with the package docs) for
|
||||
setup, configuration, and usage hints.
|
|
@ -1,39 +0,0 @@
|
|||
After installing this package, in addition to the /usr/doc/xen-*/README file;
|
||||
the Xen User Manual is installed as /usr/doc/xen-*/html.
|
||||
|
||||
Before Xen can be used, xenstored, xenconsoled and xenbackendd services must
|
||||
be started, wich must be done with rc.xencommons script.
|
||||
The rc.xend script is no longer needed if you are going to use 'xl' instead
|
||||
of 'xm'. As a matter of fact, 'xm' is marked as deprecated since Xen 4.2.
|
||||
Future versions of Xen will no longer support 'xm'.
|
||||
You may wish to add these lines to /etc/rc.d/rc.local to start this service
|
||||
after booting from your Xen kernel:
|
||||
|
||||
if [ -d /proc/xen ]; then
|
||||
if [ -x /etc/rc.d/rc.xencommons ]; then
|
||||
echo "Starting XEN commons: /etc/rc.d/rc.xencommons"
|
||||
/etc/rc.d/rc.xencommons start
|
||||
fi
|
||||
if [ -x /etc/rc.d/rc.xendomains ]; then
|
||||
echo "Starting XEN domains: /etc/rc.d/rc.xendomains"
|
||||
/etc/rc.d/rc.xendomains start
|
||||
fi
|
||||
fi
|
||||
|
||||
You may also add these lines to /etc/rc.d/rc.local_shutdown:
|
||||
|
||||
if [ -d /proc/xen ]; then
|
||||
if [ -x /etc/rc.d/rc.xendomains ]; then
|
||||
echo "Stopping XEN domains: /etc/rc.d/rc.xendomains"
|
||||
/etc/rc.d/rc.xendomains stop
|
||||
fi
|
||||
if [ -x /etc/rc.d/rc.xencommons ]; then
|
||||
echo "Stopping XEN commons: /etc/rc.d/rc.xencommons"
|
||||
/etc/rc.d/rc.xencommons stop
|
||||
fi
|
||||
fi
|
||||
|
||||
Remember to give executable permission to /etc/rc.d/rc.local_shutdown:
|
||||
|
||||
chmod 0755 /etc/rc.d/rc.local_shutdown
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
config() {
|
||||
NEW="$1"
|
||||
OLD="$(dirname $NEW)/$(basename $NEW .new)"
|
||||
# If there's no config file by that name, mv it over:
|
||||
if [ ! -r $OLD ]; then
|
||||
mv $NEW $OLD
|
||||
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
|
||||
# toss the redundant copy
|
||||
rm $NEW
|
||||
fi
|
||||
# Otherwise, we leave the .new copy for the admin to consider...
|
||||
}
|
||||
|
||||
preserve_perms() {
|
||||
NEW="$1"
|
||||
OLD="$(dirname $NEW)/$(basename $NEW .new)"
|
||||
if [ -e $OLD ]; then
|
||||
cp -a $OLD ${NEW}.incoming
|
||||
cat $NEW > ${NEW}.incoming
|
||||
mv ${NEW}.incoming $NEW
|
||||
fi
|
||||
config $NEW
|
||||
}
|
||||
|
||||
preserve_perms etc/rc.d/rc.xen-watchdog.new
|
||||
preserve_perms etc/rc.d/rc.xencommons.new
|
||||
preserve_perms etc/rc.d/rc.xend.new
|
||||
preserve_perms etc/rc.d/rc.xendomains.new
|
||||
config etc/xen/xm-config.xml.new
|
||||
config etc/xen/xend-pci-quirks.sxp.new
|
||||
config etc/xen/xend-pci-permissive.sxp.new
|
||||
config etc/xen/xend-config.sxp.new
|
||||
config etc/xen/xl.conf.new
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
kernel-xen.sh: This script builds the Linux Kernel for a Xen Hypervisor.
|
||||
|
||||
The configuration files included here are based on generic Slackware configs.
|
||||
For 32bit systems, SMP based config was used. You can run "make menuconfig"
|
||||
before compiling a Xen kernel by passing the "MENUCONFIG=yes" to the script.
|
||||
|
||||
Originaly, booting a Xen kernel with LILO bootloader is not supported, so GRUB
|
||||
has to be used. Since some of us still preffer LILO over GRUB, there is a way
|
||||
to accomplish this with mbootpack. Basicaly mbootpack takes Linux kernel, initrd
|
||||
and Xen VMM, and packages them up as a single file that looks like a bzImage
|
||||
Linux kernel. To select how kernel is packed use "BOOTLOADER=" variable. Valid
|
||||
options are "lilo" and "grub".
|
||||
|
||||
Since generic kernel requires an initrd image, there are aditional variables that
|
||||
can be used, such as ROOTMOD (list of root filesystem modules), ROOTFS (name of a
|
||||
module to use) and ROOTDEV (name of root filesystem device).
|
||||
|
||||
After a new kernel image is created, add something like the folowing to lilo.conf:
|
||||
|
||||
image = /boot/vmlinuz-xen
|
||||
root = /dev/sda1
|
||||
label = XenLinux
|
||||
append="dom0_mem=512M -- nomodeset"
|
||||
read-only
|
||||
|
||||
Note: everything before "--" is passed to Xen, and everything after "--" is
|
||||
passed to the Linux kernel.
|
||||
|
||||
If for some reason LILO is not good enough, you can always use GRUB.
|
||||
GRUB may be installed from Slackware's extra repository. The GRUB package
|
||||
is not available from the Slackware x86_64 distribution, but the source
|
||||
and a SlackBuild may be found in its extra/source repository.
|
||||
|
||||
grubconfig that comes with Slackware's GRUB package may give a starting point
|
||||
to configure GRUB. Moreover, the Xen User Manual and its README file installed
|
||||
with the Xen package include details on which parameters to include in the GRUB
|
||||
configuration file. For example, include these lines in /boot/grub/menu.lst:
|
||||
|
||||
title Slackware XenLinux 14.0
|
||||
root (hd0,0)
|
||||
kernel /boot/xen.gz dom0_mem=524288 console=vga
|
||||
module /boot/vmlinuz-xen root=/dev/sda1 ro console=tty0 nomodeset
|
||||
module /boot/initrd-xen.gz
|
||||
|
||||
Note that dom0_mem parameter is critical for a 32bit install.
|
||||
|
||||
If your dom0 kernel crashes or freezes at boot, either with an automatic reboot
|
||||
or with the blank screen, here are some things to try:
|
||||
- Specify an out of range number to "fbcon" to disable framebuffer altogether,
|
||||
for an example append fbcon=map:9 to the Linux kernel.
|
||||
(To see a list of available devices in your system: cat /proc/fb)
|
||||
- Blacklist framebuffer module from loading. This one requires a bit of
|
||||
digging arround in dmesg/lsmod to find out wich module is in use.
|
||||
- Disable framebuffer devices by setting CONFIG_FB=n in kernel config.
|
||||
- Try another VGA card (sorry).
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,109 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Xem dom0 kernel installation script
|
||||
|
||||
# Written by Chris Abela <chris.abela@maltats.com>, 20100515
|
||||
# Updated by mario <mario@slackverse.org>, 2010-2012
|
||||
|
||||
KERNEL=${KERNEL:-3.2.29}
|
||||
XEN=${XEN:-4.2.0}
|
||||
BOOTLOADER=${BOOTLOADER:-lilo}
|
||||
|
||||
ROOTMOD=${ROOTMOD:-ext4}
|
||||
ROOTFS=${ROOTFS:-ext4}
|
||||
ROOTDEV=${ROOTDEV:-/dev/sda1}
|
||||
|
||||
# Automatically determine the architecture we're building on:
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i486 ;;
|
||||
x86_64) ARCH=x86_64 ;;
|
||||
# Bail out on everything else:
|
||||
*) echo "Unsupported architecture detected ($ARCH)"; exit ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$BOOTLOADER" = lilo ] && [ ! -x /usr/bin/mbootpack ]; then
|
||||
echo "LILO bootloader requires mbootpack."
|
||||
echo "Get it from slackbuilds.org and rerun this script."
|
||||
exit
|
||||
fi
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/xen}
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $TMP
|
||||
mkdir -p $TMP
|
||||
|
||||
if [ ! -d /usr/src/linux-$KERNEL ]; then
|
||||
echo "Missing kernel source in /usr/src/linux-$KERNEL"
|
||||
echo "Get it from kernel.org and rerun this script."
|
||||
exit
|
||||
fi
|
||||
|
||||
# Prepare kernel source
|
||||
cd /usr/src
|
||||
cp -a linux-$KERNEL linux-$KERNEL-xen
|
||||
ln -s linux-$KERNEL-xen xenlinux
|
||||
|
||||
cd linux-$KERNEL-xen
|
||||
make clean
|
||||
|
||||
# Copy the right config
|
||||
cat $CWD/config-$KERNEL-xen.$ARCH > .config
|
||||
|
||||
# If the user wants, we will run menuconfig
|
||||
if [ "$MENUCONFIG" = yes ]; then
|
||||
unset junk
|
||||
make menuconfig
|
||||
while [ "$junk" != N ]; do
|
||||
echo
|
||||
echo "Do you want to run"
|
||||
echo "# make menuconfig"
|
||||
echo -n "again? (Y/N) "
|
||||
read junk
|
||||
if [ "$junk" = Y ]; then
|
||||
make menuconfig
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
make vmlinux modules
|
||||
make modules_install INSTALL_MOD_PATH=$TMP
|
||||
|
||||
# Install modules
|
||||
cp -a $TMP/lib/modules/$KERNEL-xen /lib/modules
|
||||
|
||||
# Strip kernel symbols
|
||||
strip vmlinux -o vmlinux-stripped
|
||||
|
||||
# Create initrd
|
||||
mkinitrd -c -k $KERNEL-xen -m $ROOTMOD -f $ROOTFS -r $ROOTDEV -o /boot/initrd-$KERNEL-xen.gz
|
||||
|
||||
# For lilo we pack kernel up with mbootpack
|
||||
if [ "$BOOTLOADER" = lilo ]; then
|
||||
gzip -d -c /boot/xen-$XEN.gz > xen-$XEN
|
||||
gzip -d -c /boot/initrd-$KERNEL-xen.gz > initrd-$KERNEL-xen
|
||||
mbootpack -o vmlinux-stripped-mboot -m vmlinux-stripped -m initrd-$KERNEL-xen xen-$XEN
|
||||
# For lilo we need to keep kernel unpacked
|
||||
cp -a vmlinux-stripped-mboot vmlinuz
|
||||
elif [ "$BOOTLOADER" = grub ]; then
|
||||
gzip vmlinux-stripped -c > vmlinuz
|
||||
fi
|
||||
|
||||
install -D -m 644 vmlinuz /boot/vmlinuz-$KERNEL-xen
|
||||
install -m 644 System.map /boot/System.map-$KERNEL-xen
|
||||
install -m 644 .config /boot/config-$KERNEL-xen
|
||||
|
||||
cd /boot
|
||||
ln -s vmlinuz-$KERNEL-xen vmlinuz-xen
|
||||
ln -s System.map-$KERNEL-xen System.map-xen
|
||||
ln -s config-$KERNEL-xen config-xen
|
||||
ln -s initrd-$KERNEL-xen.gz initrd-xen.gz
|
||||
|
||||
# Clean up kernel sources
|
||||
cd /usr/src/linux-$KERNEL-xen
|
||||
make clean
|
||||
rm initrd-$KERNEL-xen vmlinux-stripped* vmlinuz xen-$XEN
|
|
@ -1,56 +0,0 @@
|
|||
HOW TO INSTALL A SLACKWARE domU XEN GUEST
|
||||
|
||||
After the ordeal of installing and configuring LILO/GRUB, Xen, kernel-xen and
|
||||
initrd, editing rc.local and rc.local_shutdown and finally booting on your
|
||||
Slackware XenLinux, you might be wondering how are you to load you guest OS.
|
||||
If you look around, you might find Xen domU (unprivileged) guest that you can
|
||||
download from the Internet, but some of us might want to roll their own. This
|
||||
MINI-HOWTO shows how to install a Slackware domU guest. The fastest way is to
|
||||
mount your Slackware DVD on /media/SlackDVD, normally this is the mount point
|
||||
chosen by HAL.
|
||||
Then run the included domU.sh script:
|
||||
|
||||
# ./domU.sh
|
||||
|
||||
This will install Slackware onto an 8GB file called slackware.img and a 500MB
|
||||
swap file called swap_file. By default, a typical server installation ensues.
|
||||
|
||||
Have a good look at the "mydom" file as you need to fill in the full path to
|
||||
the slackware.img and swap_file files.
|
||||
|
||||
Then run the following command:
|
||||
|
||||
# xl create -c mydom
|
||||
|
||||
Your Slackware XenLinux domU should boot instantly.
|
||||
|
||||
Since Xen domU support has been in mainline kernel for a while now, those that
|
||||
wish to have the best performance can compile a seperate domU kernel based on a
|
||||
stock Slackware kernel config.
|
||||
This is what you have to select/unselect when building domU only kernel:
|
||||
|
||||
---
|
||||
Processor type and features --->
|
||||
[*] Paravirtualized guest support --->
|
||||
[*] Xen guest support
|
||||
|
||||
Bus options (PCI etc.) --->
|
||||
[ ] PCI support
|
||||
|
||||
Device Drivers --->
|
||||
< > Serial ATA and Parallel ATA drivers --->
|
||||
SCSI device support --->
|
||||
< > SCSI device support
|
||||
---
|
||||
|
||||
Disabling SCSI support frees up the /dev/sd* device names for use as Xen
|
||||
virtual block devices. Basicly, this changes their names from /dev/sd* to a
|
||||
Xen device name format /dev/xvd*. If this is left enabled, ocasionaly domU can
|
||||
get stuck with this error: "XENBUS: Waiting for devices to initialise..."
|
||||
Naturaly, to get the best performance you can disable everything that you
|
||||
don't need in a domU kernel.
|
||||
|
||||
Note that these files are not intended for a production environment. Users who
|
||||
have particular requirements will need to set up their own methods, but these
|
||||
files might provide a good starting point. Refer to the Xen manual and
|
||||
http://xen.org for more details and options.
|
|
@ -1,76 +0,0 @@
|
|||
#!/bin/sh
|
||||
# This Script builds a Slackware domU Xen Guest on a Slackware host,
|
||||
# Although it might work correctly, this script is intended as a template, so
|
||||
# simplicity is the priority here.
|
||||
# Written by Chris Abela <chris.abela@maltats.com>, 20100308
|
||||
# Updated by mario <mario@slackverse.org>, 2010-2012
|
||||
|
||||
set -e
|
||||
|
||||
KERNEL=${KERNEL:-3.2.29}
|
||||
|
||||
# Build an image for the root file system and another for the swap
|
||||
# Default values : 8GB and 500MB resepectively.
|
||||
ROOT_MB=${ROOT_MB:-8000}
|
||||
SWAP_MB=${SWAP_MB:-500}
|
||||
dd if=/dev/zero of=slackware.img bs=1M count=0 seek=$ROOT_MB
|
||||
mkfs.ext4 -F slackware.img
|
||||
dd if=/dev/zero of=swap_file bs=1M count=0 seek=$SWAP_MB
|
||||
mkswap swap_file
|
||||
|
||||
# Make a mountpoint for the root file system and mount it
|
||||
mkdir -p mnt
|
||||
mount -o loop slackware.img mnt
|
||||
|
||||
# Make a mountpoint for proc and mount it
|
||||
mkdir -p mnt/proc
|
||||
mount --bind /proc mnt/proc
|
||||
|
||||
##############################################################################
|
||||
# #
|
||||
# IMPORTANT : This assumes that you have mounted your Slackware DVD on #
|
||||
# /media/SlackDVD #
|
||||
# #
|
||||
##############################################################################
|
||||
|
||||
# This will install a domU with the listed packages
|
||||
for i in a ap d e f k l n t tcl; do
|
||||
installpkg --root mnt/ /media/SlackDVD/slackware*/$i/*.t?z
|
||||
done
|
||||
chroot mnt /sbin/ldconfig
|
||||
|
||||
# create fstab
|
||||
cat >mnt/etc/fstab <<EOF
|
||||
/dev/xvda2 swap swap defaults 0 0
|
||||
/dev/xvda1 / ext4 defaults 1 1
|
||||
#/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0
|
||||
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
|
||||
devpts /dev/pts devpts gid=5,mode=620 0 0
|
||||
proc /proc proc defaults 0 0
|
||||
tmpfs /dev/shm tmpfs defaults 0 0
|
||||
EOF
|
||||
|
||||
chroot mnt /usr/sbin/timeconfig # Set the time
|
||||
chroot mnt /sbin/netconfig # Set the network
|
||||
chroot mnt /usr/bin/passwd # Set root's password
|
||||
|
||||
# Before we could use xencons=tty and leave inittab and securetty files intact,
|
||||
# but that stopped working as of Xen-4.x, so this has to be fixed by adding hvc0.
|
||||
sed 's/^\(c[1-6]:123\)/#\1/' /etc/inittab
|
||||
echo -e '\nc1:12345:respawn:/sbin/agetty 38400 hvc0 linux' >> /etc/inittab
|
||||
echo -e '\nhvc0' >> /etc/securetty
|
||||
|
||||
# This will save us an alarming (yet harmless) warning
|
||||
(cd mnt/lib/modules
|
||||
if [ -d $KERNEL-smp ]; then
|
||||
# for Slack32
|
||||
ln -s $KERNEL-smp $KERNEL-xen
|
||||
else
|
||||
# for Slack64
|
||||
ln -s $KERNEL $KERNEL-xen
|
||||
fi
|
||||
)
|
||||
|
||||
# unmount proc and the filesystem
|
||||
umount mnt/proc
|
||||
umount mnt
|
|
@ -1,10 +0,0 @@
|
|||
kernel = "/boot/vmlinuz-xen"
|
||||
ramdisk = "/boot/initrd-xen.gz"
|
||||
memory = 128
|
||||
name = "Slackware"
|
||||
vif = [ 'mac=00:16:3e:00:00:01']
|
||||
disk = [ 'file:/full_path_to/slackware.img,xvda1,w',
|
||||
'file:/full_path_to/swap_file,xvda2,w' ]
|
||||
root = "/dev/xvda1 ro"
|
||||
extra = "3"
|
||||
extra = "console=hvc0 elevator=noop"
|
|
@ -1,10 +0,0 @@
|
|||
--- xen-4.2.0/tools/Makefile.ORIG 2012-09-17 12:21:18.000000000 +0200
|
||||
+++ xen-4.2.0/tools/Makefile 2012-09-18 13:37:55.410462850 +0200
|
||||
@@ -200,6 +200,7 @@
|
||||
--datadir=$(SHAREDIR)/qemu-xen \
|
||||
--disable-kvm \
|
||||
--python=$(PYTHON) \
|
||||
+ --sysconfdir=/etc \
|
||||
$(IOEMU_CONFIGURE_CROSS); \
|
||||
$(MAKE) all
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
--- xen-4.2.0/tools/firmware/etherboot/Makefile.ORIG 2012-09-17 12:21:18.000000000 +0200
|
||||
+++ xen-4.2.0/tools/firmware/etherboot/Makefile 2012-09-18 13:39:39.466352815 +0200
|
||||
@@ -28,12 +28,6 @@
|
||||
$(MAKE) -C $D/src bin/$(*F).rom
|
||||
|
||||
$T:
|
||||
- if ! wget -O _$T $(IPXE_TARBALL_URL); then \
|
||||
- $(GIT) clone $(IPXE_GIT_URL) $D.git; \
|
||||
- (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \
|
||||
- $(IPXE_GIT_TAG) | gzip >../_$T); \
|
||||
- rm -rf $D.git; \
|
||||
- fi
|
||||
mv _$T $T
|
||||
|
||||
$D/src/arch/i386/Makefile: $T Config
|
|
@ -1,19 +0,0 @@
|
|||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||
# up the first '|' above the ':' following the base package name, and the '|' on
|
||||
# the right side marks the last column you can put a character in. You must make
|
||||
# exactly 11 lines for the formatting to be correct. It's also customary to
|
||||
# leave one space after the ':'.
|
||||
|
||||
|---------handy-ruler--------------------------------------------------|
|
||||
xen: xen (the Xen virtualization hypervisor)
|
||||
xen:
|
||||
xen: The Xen hypervisor, the powerful open source industry standard for
|
||||
xen: virtualization, offers a powerful, efficient, and secure feature set
|
||||
xen: for virtualization of x86, x86_64, IA64, ARM, and other CPU
|
||||
xen: architectures. It supports a wide range of guest operating systems
|
||||
xen: including Windows, Linux, Solaris, and various versions of the BSD
|
||||
xen: operating systems.
|
||||
xen:
|
||||
xen: Homepage: http://xen.org
|
||||
xen:
|
|
@ -1,164 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for xen
|
||||
|
||||
# Copyright 2010-2012, mario <mario@slackverse.org>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of this script must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
PRGNAM=xen
|
||||
VERSION=${VERSION:-4.2.0}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i486 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
*) ARCH=$( uname -m ) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
if [ $ARCH == "x86_64" ] && [ ! -f /usr/include/gnu/stubs-32.h ]; then
|
||||
|
||||
cat << EOF
|
||||
|
||||
For a 32bit guest support 32bit libs are required to build the
|
||||
stub-domain. This is usualy done by installing multilib, but
|
||||
there is also a chance that you do not need 32bit guest support,
|
||||
so you might want to try symlinking stubs-64.h to stubs-32.h
|
||||
like this:
|
||||
|
||||
# ln -s /usr/include/gnu/stubs-64.h /usr/include/gnu/stubs-32.h
|
||||
|
||||
EOF
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "$ARCH" = "x86_64" ]; then
|
||||
LIBDIRSUFFIX="64"
|
||||
else
|
||||
LIBDIRSUFFIX=""
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$VERSION
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
|
||||
cd $PRGNAM-$VERSION
|
||||
chown -R root:root .
|
||||
find . \
|
||||
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||
-exec chmod 755 {} \; -o \
|
||||
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||
-exec chmod 644 {} \;
|
||||
|
||||
# Fix some stupid things
|
||||
patch -p1 <$CWD/patches/configuration_goes_to_system_etc.diff
|
||||
|
||||
# Let's not download stuff during the build...
|
||||
patch -p1 <$CWD/patches/use_already_present_ipxe.diff
|
||||
cp -a $CWD/ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz \
|
||||
tools/firmware/etherboot/_ipxe.tar.gz
|
||||
cp -a $CWD/{lwip,zlib,newlib,pciutils,grub}-*.tar.?z* stubdom
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/man \
|
||||
--docdir=/usr/doc/$PRGNAM-$VERSION \
|
||||
--disable-seabios \
|
||||
--disable-rombios \
|
||||
--build=$ARCH-slackware-linux
|
||||
|
||||
make install-xen \
|
||||
docdir=/usr/doc/$PRGNAM-$VERSION \
|
||||
DOCDIR=/usr/doc/$PRGNAM-$VERSION \
|
||||
mandir=/usr/man \
|
||||
MANDIR=/usr/man \
|
||||
DESTDIR=$PKG
|
||||
make install-tools \
|
||||
docdir=/usr/doc/$PRGNAM-$VERSION \
|
||||
DOCDIR=/usr/doc/$PRGNAM-$VERSION \
|
||||
mandir=/usr/man \
|
||||
MANDIR=/usr/man \
|
||||
DESTDIR=$PKG
|
||||
make install-stubdom \
|
||||
docdir=/usr/doc/$PRGNAM-$VERSION \
|
||||
DOCDIR=/usr/doc/$PRGNAM-$VERSION \
|
||||
mandir=/usr/man \
|
||||
MANDIR=/usr/man \
|
||||
DESTDIR=$PKG
|
||||
make install-docs \
|
||||
docdir=/usr/doc/$PRGNAM-$VERSION \
|
||||
DOCDIR=/usr/doc/$PRGNAM-$VERSION \
|
||||
mandir=/usr/man \
|
||||
MANDIR=/usr/man \
|
||||
DESTDIR=$PKG
|
||||
|
||||
# Remove useless symlinks in boot/
|
||||
find $PKG/boot/ -type l -a -name "xen-*" -exec rm -f {} \;
|
||||
|
||||
# Move from SYSV to BSD init scripts
|
||||
mv $PKG/etc/rc.d/init.d/xen-watchdog $PKG/etc/rc.d/rc.xen-watchdog.new
|
||||
mv $PKG/etc/rc.d/init.d/xencommons $PKG/etc/rc.d/rc.xencommons.new
|
||||
mv $PKG/etc/rc.d/init.d/xend $PKG/etc/rc.d/rc.xend.new
|
||||
mv $PKG/etc/rc.d/init.d/xendomains $PKG/etc/rc.d/rc.xendomains.new
|
||||
|
||||
# Fully qualified paths are needed for /etc/rc.d/rc.local_shutdown
|
||||
sed -i 's:\(^[[:space:]]*\)xend :\1/usr/sbin/xend : ' $PKG/etc/rc.d/rc.xend.new
|
||||
sed -i 's:CMD=x\([m|l]\):CMD=/usr/sbin/x\1:' $PKG/etc/rc.d/rc.xendomains.new
|
||||
|
||||
# Put udev rules files in the right place
|
||||
mkdir -p $PKG/lib/udev/rules.d
|
||||
mv $PKG/etc/udev/rules.d/xen*.rules $PKG/lib/udev/rules.d/
|
||||
|
||||
# Remove empty directories
|
||||
rmdir $PKG/etc/{rc.d/init.d,udev/rules.d,udev} $PKG/usr/doc/$PRGNAM-$VERSION/{pdf,ps}
|
||||
|
||||
# Append .new to config files
|
||||
for i in $PKG/etc/xen/{*.conf,*.sxp,*.xml} ; do mv $i $i.new ; done
|
||||
|
||||
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
|
||||
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
|
||||
find $PKG/usr/man -type f -exec gzip -9 {} \;
|
||||
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
||||
|
||||
cp -a COPYING MAINTAINERS README $CWD/{dom0,domU} $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION/{dom0,domU}
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
cat $CWD/doinst.sh > $PKG/install/doinst.sh
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
|
@ -1,22 +0,0 @@
|
|||
PRGNAM="xen"
|
||||
VERSION="4.2.0"
|
||||
HOMEPAGE="http://www.xen.org/"
|
||||
DOWNLOAD="http://bits.xensource.com/oss-xen/release/4.2.0/xen-4.2.0.tar.gz \
|
||||
http://xenbits.xensource.com/xen-extfiles/ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz \
|
||||
http://xenbits.xensource.com/xen-extfiles/lwip-1.3.0.tar.gz \
|
||||
http://xenbits.xensource.com/xen-extfiles/zlib-1.2.3.tar.gz \
|
||||
http://xenbits.xensource.com/xen-extfiles/newlib-1.16.0.tar.gz \
|
||||
http://xenbits.xensource.com/xen-extfiles/pciutils-2.2.9.tar.bz2 \
|
||||
http://xenbits.xensource.com/xen-extfiles/grub-0.97.tar.gz"
|
||||
MD5SUM="f4f217969afc38f09251039966d91a87 \
|
||||
7496268cebf47d5c9ccb0696e3b26065 \
|
||||
36cc57650cffda9a0269493be2a169bb \
|
||||
debc62758716a169df9f62e6ab2bc634 \
|
||||
bf8f1f9e3ca83d732c00a79a6ef29bc4 \
|
||||
cec05e7785497c5e19da2f114b934ffd \
|
||||
cd3f3eb54446be6003156158d51f4884"
|
||||
REQUIRES="acpica yajl"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
MAINTAINER="mario"
|
||||
EMAIL="mario@slackverse.org"
|
Loading…
Reference in a new issue