From f9d0d2cbbf401ffb74c251e75581174d91a02cfc Mon Sep 17 00:00:00 2001 From: InformatiQ Date: Mon, 5 Mar 2012 23:53:14 +0100 Subject: fix cached rootfs update* fix rootfs path* add handling of systemd Signed-off-by: InformatiQ Signed-off-by: Daniel Lezcano --- templates/lxc-fedora.in | 35 +++++++++++++++++++++++++++-------- 1 file 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 -- cgit v1.2.3-65-gdbad