X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=prep.sh;h=8e6c79462a085d16bc5ef4db1088e913e7e6495d;hb=db98445203a2f5f5e1b962395d68a185f3e576b1;hp=6c58fae3ffe09d400e5f080b676727dbca4aa385;hpb=764328b6063dd0d23d7ff7bad0c419dcfd63edd7;p=bootcd.git diff --git a/prep.sh b/prep.sh index 6c58fae..8e6c794 100755 --- a/prep.sh +++ b/prep.sh @@ -50,29 +50,55 @@ pkgsfile=$(pl_locateDistroFile ../build/ $pldistro bootcd.pkgs) pl_root_mkfedora $bootcd $pldistro $pkgsfile pl_root_tune_image $bootcd +# Add site_admin console account to BootCD: with root priv, and empty passwd +CRYPT_SA_PASSWORD=$(python -c "import crypt, random, string; salt = [random.choice(string.letters + string.digits + \"./\") for i in range(0,8)] ; print crypt.crypt('site_admin', '\$1\$' + \"\".join(salt) + '\$')") +chroot ${bootcd} /usr/sbin/useradd -p "$CRYPT_SA_PASSWORD" -o -g 0 -u 0 -m site_admin + # Install ipnmac (for SuperMicro machines with IPMI) echo "* Installing IPMI utilities" install -D -m 755 ipnmac/ipnmac.x86 $bootcd/usr/sbin/ipnmac -# Install configuration files -echo "* Installing configuration files" -for file in fstab mtab modprobe.conf inittab hosts sysctl.conf ; do - install -D -m 644 etc/$file $bootcd/etc/$file -done - # Install initscripts echo "* Installing initscripts" for file in pl_sysinit pl_hwinit pl_netinit pl_validateconf pl_boot ; 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 configuration files +echo "* Installing configuration files" +for file in fstab mtab modprobe.conf inittab hosts sysctl.conf ; do + install -D -m 644 etc/$file $bootcd/etc/$file +done +# connect our initscripts scripts for upstart +# fedora 9 comes with /sbin/init from upstart, that uses /etc/event.d instead of inittab +# (in fact inittab is read for determining the default runlevel) +if [ -d $bootcd/etc/event.d ] ; then + echo "* Tuning /etc/event.d/ for upstart" + pushd $bootcd/etc/event.d + # use our system initialisation script + sed -i -e 's,/etc/rc\.d/rc\.sysinit[a-z\.]*,/etc/init.d/pl_sysinit,g' rcS + # 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 +# ditto for f14 and higher init style + echo "* Tuning /etc/init/ for upstart" + pushd $bootcd/etc/init + # use our system initialisation script + sed -i -e 's,/etc/rc\.d/rc\.sysinit[a-z\.]*,/bin/bash -c /etc/init.d/pl_sysinit,g' rcS.conf + # use our startup script in runlevel 2 + sed -i -e 's,/etc/rc.d/rc[a-z\.]*,/etc/init.d/pl_boot,g' rc.conf + popd +fi + # Write nodefamily stamp, to help bootmanager do the right thing mkdir -p $bootcd/etc/planetlab echo $nodefamily > $bootcd/etc/planetlab/nodefamily # Install fallback node configuration file echo "* Installing fallback node configuration file" -install -D -m 644 conf_files/default-net.cnf $bootcd/usr/boot/default-net.cnf +install -D -m 644 usr-boot/default-node.txt $bootcd/usr/boot/default-node.txt # Copy /etc/passwd out install -D -m 644 $bootcd/etc/passwd build/passwd