echo 0 > $rootfs_path/selinux/enforce
# configure the network using the dhcp
- sed -i -e "/^HOSTNAME=.*/HOSTNAME=${utsname}/" ${rootfs_path}/etc/sysconfig/network
+ sed -i -e "s/^HOSTNAME=.*/HOSTNAME=${utsname}/" ${rootfs_path}/etc/sysconfig/network
# set hostname on systemd
if [ $release = "3.0" ]; then
configure_pld_init()
{
- # Setup getty service on the 4 ttys we are going to allow in the
- # default config. Number should match lxc.tty
-# sed -i -e 's///' ${rootfs_path}/etc/inittab
+ # default powerfail action waits 2 minutes. for lxc we want it immediately
+ sed -i -e '/^pf::powerfail:/ s,/sbin/shutdown.*,/sbin/halt,' ${rootfs_path}/etc/inittab
}
configure_pld_systemd()
# make a local copy of the minipld
echo -n "Copying rootfs to $rootfs_path ..."
- cp -a $cache/rootfs/ $rootfs_path || return 1
+ cp -a $cache/rootfs/* $rootfs_path || return 1
return 0
}
{
mkdir -p @LOCALSTATEDIR@/lock/subsys/
(
- flock -x 200
+ flock -x 9
if [ $? -ne 0 ]; then
echo "Cache repository is busy."
return 1
fi
return 0
- ) 200>@LOCALSTATEDIR@/lock/subsys/lxc-pld
+ ) 9>@LOCALSTATEDIR@/lock/subsys/lxc-pld
return $?
}
mkdir -p $config_path
grep -q "^lxc.rootfs" $config_path/config 2>/dev/null || echo "lxc.rootfs = $rootfs_path" >> $config_path/config
cat <<EOF >> $config_path/config
+# Most of below settings should be taken as defaults from
+# lxc.include = /usr/share/lxc/config/common.conf
lxc.utsname = $utsname
lxc.tty = 4
lxc.pts = 1024
+# Consider if below line is right for systemd container
lxc.mount = $config_path/fstab
lxc.cap.drop = sys_module mac_admin mac_override sys_time
# lock, so we won't purge while someone is creating a repository
(
- flock -x 200
+ flock -x 9
if [ $? != 0 ]; then
echo "Cache repository is busy."
exit 1
echo -n "Purging the download cache for PLD Linux $release..."
rm --preserve-root --one-file-system -rf $cache && echo "Done." || exit 1
exit 0
- ) 200>@LOCALSTATEDIR@/lock/subsys/lxc-pld
+ ) 9>@LOCALSTATEDIR@/lock/subsys/lxc-pld
}
usage()
exit 1
fi
-if [ -z "$rootfs_path" ]; then
- rootfs_path=$path/rootfs
- # check for 'lxc.rootfs' passed in through default config by lxc-create
- if grep -q '^lxc.rootfs' $path/config 2>/dev/null ; then
- rootfs_path=$(awk -F= '/^lxc.rootfs =/{ print $2 }' $path/config)
- fi
+if [ -z "$rootfs" ]; then
+ rootfs_path=$path/rootfs
+ # check for 'lxc.rootfs' passed in through default config by lxc-create
+ # TODO: should be lxc.rootfs.mount used instead?
+ if grep -q '^lxc.rootfs' $path/config 2>/dev/null ; then
+ rootfs_path=$(awk -F= '/^lxc.rootfs =/{ print $2 }' $path/config)
+ fi
+else
+ rootfs_path=$rootfs
fi
config_path=$default_path/$name
cache=$cache_base/$release