aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInformatiQ <rhanna@informatiq.org>2012-03-05 23:53:14 +0100
committerDaniel Lezcano <daniel.lezcano@free.fr>2012-03-05 23:53:14 +0100
commitf9d0d2cbbf401ffb74c251e75581174d91a02cfc (patch)
treeeef2cca83a845bd626fe7578ce77dd35c69d822c
parentcgroups: fix broken support for deprecated ns cgroup (diff)
downloadlxc-f9d0d2cbbf401ffb74c251e75581174d91a02cfc.tar.gz
lxc-f9d0d2cbbf401ffb74c251e75581174d91a02cfc.tar.bz2
lxc-f9d0d2cbbf401ffb74c251e75581174d91a02cfc.zip
fix cached rootfs update* fix rootfs path* add handling of systemd
Signed-off-by: InformatiQ <rhanna@informatiq.org> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
-rw-r--r--templates/lxc-fedora.in35
1 files changed, 27 insertions, 8 deletions
diff --git a/templates/lxc-fedora.in b/templates/lxc-fedora.in
index e7f42a6..3f50895 100644
--- a/templates/lxc-fedora.in
+++ b/templates/lxc-fedora.in
@@ -69,11 +69,6 @@ EOF
127.0.0.1 localhost $name
EOF
- sed -i 's|.sbin.start_udev||' ${rootfs_path}/etc/rc.sysinit
- sed -i 's|.sbin.start_udev||' ${rootfs_path}/etc/rc.d/rc.sysinit
- chroot ${rootfs_path} chkconfig udev-post off
- chroot ${rootfs_path} chkconfig network on
-
dev_path="${rootfs_path}/dev"
rm -rf $dev_path
mkdir -p $dev_path
@@ -99,6 +94,23 @@ EOF
return 0
}
+configure_fedora_init()
+{
+ sed -i 's|.sbin.start_udev||' ${rootfs_path}/etc/rc.sysinit
+ sed -i 's|.sbin.start_udev||' ${rootfs_path}/etc/rc.d/rc.sysinit
+ chroot ${rootfs_path} chkconfig udev-post off
+ chroot ${rootfs_path} chkconfig network on
+}
+
+configure_fedora_systemd()
+{
+ unlink ${rootfs_path}/etc/systemd/system/default.target
+ touch ${rootfs_path}/etc/fstab
+ chroot ${rootfs_path} ln -s /dev/null //etc/systemd/system/udev.service
+ chroot ${rootfs_path} ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
+ #dependency on a device unit fails it specially that we disabled udev
+ sed -i 's/After=dev-%i.device/After=/' ${rootfs_path}/lib/systemd/system/getty\@.service
+}
download_fedora()
{
@@ -170,7 +182,8 @@ copy_fedora()
update_fedora()
{
- chroot $cache/rootfs yum -y update
+ YUM="yum --installroot $cache/rootfs -y --nogpgcheck"
+ $YUM update
}
install_fedora()
@@ -353,7 +366,7 @@ if [ "$(id -u)" != "0" ]; then
fi
-rootfs_path=$path/$name/rootfs
+rootfs_path=$path/rootfs
config_path=$default_path/$name
cache=$cache_base/$release
@@ -362,7 +375,7 @@ revert()
echo "Interrupted, so cleaning up"
lxc-destroy -n $name
# maybe was interrupted before copy config
- rm -rf $path/$name
+ rm -rf $path
rm -rf $default_path/$name
echo "exiting..."
exit 1
@@ -388,6 +401,12 @@ if [ $? -ne 0 ]; then
exit 1
fi
+type /bin/systemd >/dev/null 2>&1
+if [ $? -ne 0 ]; then
+ configure_fedora_init
+else
+ configure_fedora_systemd
+fi
if [ ! -z $clean ]; then
clean || exit 1