pldistro=$1 ; shift
nodefamily=$1; shift
+rpmversion=$1; shift
# Packages to install, junk and precious : see build/<pldistro>/bootcd.pkgs
install -d -m 755 $bootcd
# Write version number
-rpmquery --specfile bootcd.spec --queryformat '%{VERSION}\n' | head -1 > build/version.txt
-echo $nodefamily > build/nodefamily
+echo ${rpmversion} > build/version.txt
+echo ${nodefamily} > build/nodefamily
# Install base system
+echo "* Creating fedora root image"
pl_root_makedevs $bootcd
pkgsfile=$(pl_locateDistroFile ../build/ $pldistro bootcd.pkgs)
pl_root_mkfedora $bootcd $pldistro $pkgsfile
# Install initscripts
echo "* Installing initscripts"
-for file in pl_functions pl_sysinit pl_hwinit pl_netinit pl_validateconf pl_boot ; do
+for file in pl_functions pl_sysinit pl_hwinit pl_netinit pl_validateconf pl_boot pl_wrapper ; do
sed -i -e "s,@PLDISTRO@,$pldistro,g" -e "s,@FCDISTRO@,$fcdistro,g" initscripts/$file
install -D -m 755 initscripts/$file $bootcd/etc/init.d/$file
done
-# Install systemd files
-echo "* Installing systemd files"
-for file in pl_boot.service pl_boot.target pl_sysinit.service pl_sysinit.target; do
- install -D -m 644 systemd/$file $bootcd/lib/systemd/system
-done
-ln -sf /lib/systemd/system/pl_boot.target $bootcd/etc/systemd/system/default.target
-mkdir -p $bootcd/lib/systemd/system/pl_boot.target.wants
-mkdir -p $bootcd/lib/systemd/system/pl_sysinit.target.wants
-ln -sf /lib/systemd/system/pl_boot.service $bootcd/lib/systemd/system/pl_boot.target.wants/pl_boot.service
-ln -sf /lib/systemd/system/pl_sysinit.service $bootcd/lib/systemd/system/pl_sysinit.target.wants/pl_sysinit.service
-
-
# Install configuration files
echo "* Installing configuration files"
for file in fstab mtab modprobe.conf inittab hosts sysctl.conf ; do
# use our startup script in runlevel 2
sed -i -e 's,/etc/rc\.d/rc[ \t][ \t]*2,/etc/init.d/pl_boot,g' rc2
popd
-elif [ -d $bootcd/etc/init ] ; then
+fi
# ditto for f14 and higher init style
+if [ -d $bootcd/etc/init ] ; then
echo "* Tuning /etc/init/ for upstart"
pushd $bootcd/etc/init
# use our system initialisation script
sed -i -e 's,/etc/rc.d/rc[a-z\.]*,/etc/init.d/pl_boot,g' rc.conf
popd
fi
+# Install systemd files for f16 and above
+if [ -d $bootcd/etc/systemd/system ] ; then
+ echo "* Installing systemd files"
+ for file in pl_boot.service pl_boot.target ; do
+ install -D -m 644 systemd/$file $bootcd/etc/systemd/system
+ done
+ echo "* Enabling getty on tty2"
+ # select pl_boot target this way instead of using kargs, as kargs apply to kexec boot as well
+ ln -sf /etc/systemd/system/pl_boot.target $bootcd/etc/systemd/system/default.target
+ [ -d $bootcd/etc/systemd/system/default.target.wants ] || mkdir -p $bootcd/etc/systemd/system/default.target.wants
+ ln -sf /usr/lib/systemd/system/getty@.service $bootcd/etc/systemd/system/default.target.wants/getty@tty2.service
+fi
# Install fallback node configuration file
echo "* Installing fallback node configuration file"