On 02/12/15 19:57, David Woodfall wrote:
Hi,
I have to build packages for Slackware 14.0 and 14.1 as well as the
upcoming 14.2, for both 32-bit and 64-bit architecture and different
scenarios: server vs. desktop.
Until april 2015 I built everything in a series of VirtualBox guests on
my main workstation, which worked quite well most of the time. I vaguely
remember having had trouble with one or two packages, but don't recall
exactly which one.
Since this date I've setup a dedicated package build host on a rather
modest hardware (AMD dual core processor, meh), and with a quite
bone-headed setup. No virtualization here, only a good old multiboot
with a hard disk partitioned to death: 15 partitions with a shared swap
and a maximum of 14 different systems, currently 8 in use. I reckon this
is a rather unusual way of doing things, but 1) KISS 2) works perfectly.
Last week I bought a thick book about Linux & Virtualization, and before
diving head first into all this stuff, I have a general question out of
curiosity. I guess most of you build your stuff in virtual guests
(correct me if I'm wrong). What kind of virtualization do you use for
this? KVM + qemu seems to be great for servers, but is it apt for
setting up a desktop stuff and building graphical applications (Scribus,
VLC, whatever)?
I think I'll read the book differently if I already have a vague sense
of where I'm heading.
Cheers,
Niki
I use chroots - a 64bit for pretty much everything, but I also have a
32bit chroot for building wine in. It's faster than booting a VM.
Can you write a bit more on how you do this?
Or give an reference?
I use this 'mkchroot' script, after mounting the Slackware DVD, to
install into the chroot:
##########################################
#!/bin/sh
set -e
SERIES="a ap d f k kde l n t tcl x xap y"
CHPATH="/home/chroots/slackware64"
CDPATH="/mnt/cdrom/slackware64"
bgreen="^[[01;32m"
normal="^[[0m"
cd $CDPATH
for i in $SERIES
do
echo "${bgreen}Installing series $i${normal}"
upgradepkg --reinstall --install-new -root $CHPATH $i/*.t?z
done
mkdir -p $CHROOT/proc
mkdir -p $CHROOT/dev
mkdir -p $CHROOT/sys
mkdir -p $CHROOT/tmp
##########################################
I use this script 'cht' to use log in:
##########################################
#!/bin/sh
CHROOT=/home/chroots/slackware64
if [ ! -r "$CHROOT" ]; then
exit 1
fi
# These are now mounted in /etc/fstab
#mount -o bind /proc $CHROOT/proc
#mount -o bind /dev $CHROOT/dev
#mount -o bind /sys $CHROOT/sys
#mount -o bind /tmp $CHROOT/tmp
cp /etc/resolv.conf $CHROOT/etc
cp /home/david/.Xauthority $CHROOT/root
chroot $CHROOT /bin/zsh
##########################################
My /etc/fstab entries:
/proc /home/chroots/slackware64/proc auto rw,bind,noatime 0 0
/dev /home/chroots/slackware64/dev auto rw,bind,noatime 0 0
/sys /home/chroots/slackware64/sys auto rw,bind,noatime 0 0
/tmp /home/chroots/slackware64/tmp auto rw,bind,noatime 0 0
/tmp is shared between guest and host so I can move files/packages in
and out easier.
Hope this help.
David
#!/bin/sh
set -e
SERIES="a ap d f k kde l n t tcl x xap y"
CHPATH="/home/chroots/slackware64"
CDPATH="/mnt/cdrom/slackware64"
bgreen="[01;32m"
normal="[0m"
cd $CDPATH
for i in $SERIES
do
echo "${bgreen}Installing series $i${normal}"
upgradepkg --reinstall --install-new -root $CHPATH $i/*.t?z
done
#!/bin/sh
CHROOT=/home/chroots/slackware64
if [ ! -r "$CHROOT" ]; then
exit 1
fi
# These are now mounted in /etc/fstab
#mount -o bind /proc $CHROOT/proc
#mount -o bind /dev $CHROOT/dev
#mount -o bind /sys $CHROOT/sys
#mount -o bind /tmp $CHROOT/tmp
cp /etc/resolv.conf $CHROOT/etc
cp /home/david/.Xauthority $CHROOT/root
chroot $CHROOT /bin/zsh
_______________________________________________
SlackBuilds-users mailing list
[email protected]
http://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - http://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - http://slackbuilds.org/faq/