#!/bin/bash #(C)DatuX 2005 - all rights reserved #root filesystem in $1 gereed maken voor systeemboot TARGETPATH=$1 ############################################################## echo "* Preparing libraries:" ldconfig -r $TARGETPATH || exit 1 ############################################################## echo "* Activating configuration:" chroot $TARGETPATH "/sbin/etc-update" || exit 1 ############################################################## echo "* Mounting proc, sysfs and dev:" #proc mounten chroot $TARGETPATH "/bin/bash" -c "mount -t proc none /proc" || exit 1 #sysfs mounten chroot $TARGETPATH "/bin/bash" -c "mount -t sysfs none /sys" || exit 1 #/dev populaten #OBSOLETE?: chroot $TARGETPATH "/bin/bash" -c "udevstart" || exit 1 #mtab fixen chroot $TARGETPATH "/bin/bash" -c "cat /proc/mounts > /etc/mtab" || exit 1 ############################################################## echo "* Activating kernel:" #forcefully 'activate' the testkernel and testinitrd mv $TARGETPATH/boot/initrd.gz.test $TARGETPATH/boot/initrd.gz || exit 1 mv $TARGETPATH/boot/bzImage.test $TARGETPATH/boot/bzImage || exit 1 #new installations use syslinux by default (instead of grub) ln -s syn3-install-syslinux $TARGETPATH/sbin/syn3-install-bootloader || exit 1 ############################################################## echo "* Adjusting config:" rm $TARGETPATH/etc/rc.d/rc.httpd echo 'local7.* -/var/log/simpellinux.log' >> $TARGETPATH/etc/syslog.conf #echo "SV:123456:respawn:/usr/bin/svscanboot" >> $TARGETPATH/etc/inittab #echo "PI:123456:wait:/sbin/postinst.sh" >> $TARGETPATH/etc/inittab echo "export LC_ALL=C" >>$TARGETPATH/etc/profile chroot $TARGETPATH "/bin/bash" -c "ln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime" chroot $TARGETPATH "/bin/bash" -c "depmod -ae" cp -a /var/chpasswd $TARGETPATH/tmp || exit 1 chmod 755 $TARGETPATH/tmp/chpasswd #for networ.php: touch $TARGETPATH/boot/if-assign.conf || exit 1 #TODO: kijken of lvm.conf en hosts weg kunnen omdat ze in een package zitten cp -a /var/lvm.conf $TARGETPATH/etc/lvm ||exit 1 touch $TARGETPATH/etc/lvm/lvm.conf || exit 1 chmod 644 $TARGETPATH/etc/lvm/lvm.conf cp -a /var/hosts $TARGETPATH/etc ||exit 1 chmod 644 $TARGETPATH/etc/hosts chmod 1777 $TARGETPATH/tmp || exit 1 echo $LANG > $TARGETPATH/etc/webint/LANG || exit 1 #hack for mysql chroot $TARGETPATH "/bin/bash" -c "mkdir -p /var/run/mysql && chown mysql /var/run/mysql" || exit 1 #hack for old postgresql (will upgrade it later) ln -s /usr/lib/libreadline.so.6.3 $TARGETPATH/usr/lib/libreadline.so.5 #prevent old stuff from being installed touch $TARGETPATH/var/log/packages/mysql-4-noarch-9999 touch $TARGETPATH/var/log/packages/libgcc_g++-9999-noarch-9999 touch $TARGETPATH/var/log/packages/libgcc-9999-noarch-9999 touch $TARGETPATH/var/log/packages/pecl_bcompiler-9999-noarch-9999 touch $TARGETPATH/var/log/packages/glibc_profile-9999-noarch-9999 touch $TARGETPATH/var/log/packages/pecl_pdo_mysql-1.0.2.tgz-i586-5946 touch $TARGETPATH/var/log/packages/device_mapper-1.02.24-i586-3898 touch $TARGETPATH/var/log/packages/drbd-0.7.25-i586-4667 touch $TARGETPATH/var/log/packages/db4-4.7.25-i586-5057 # -> heet nu db48 touch $TARGETPATH/var/log/packages/svn-9999-noarch-9999 # -> heet nu subversion touch $TARGETPATH/var/log/packages/glibc_i18n-2.5-i486-9999 touch $TARGETPATH/var/log/packages/pecl_eaccelerator-9-i486-9999 touch $TARGETPATH/var/log/packages/eaccelerator-9-i486-9999 touch $TARGETPATH/var/log/packages/openswan-9-i486-9999 touch $TARGETPATH/var/log/packages/zarafa-9-i486-9999 touch $TARGETPATH/var/log/packages/zarafa_conf-9-i486-9999 touch $TARGETPATH/var/log/packages/mod_jk-1.2.6-i486-2526 touch $TARGETPATH/var/log/packages/libgd2-9-i486-9999 # -> heet nu gd touch $TARGETPATH/var/log/packages/ntop-9-i486-9999 # -> heet nu ntopng touch $TARGETPATH/var/log/packages/libjasper-9-i486-9999 # -> heet nu jasper touch $TARGETPATH/var/log/packages/smbclient-9-i486-9999 touch $TARGETPATH/var/log/packages/samba_tools-9-i486-9999 #bootstrap webint (postinstaller normally does this, but we need the htdocs dir to do the networking stuff on the first boot) mv $TARGETPATH/usr/webint/htdocs.new $TARGETPATH/usr/webint/htdocs #set password chroot $TARGETPATH "/bin/bash" -c "/tmp/chpasswd" || exit 1 rm $TARGETPATH/tmp/chpasswd #disable services that are not down already #until the wizard completes #SvcUpdateActivationStatus() in the webint will reenable them #( # cd $TARGETPATH/service || exit 1 # for RUN in `find . -follow -name run|grep -v log`; do # DOWN=`dirname $RUN`/down # if ! [ -f $DOWN ]; then # echo disabled > $DOWN # fi # done #) || exit 1 #linkbeeper should be up, since you want it after just installing #rm $TARGETPATH/service/linkbeep/down &>/dev/null #sshkey voor regressie test. #Deze word alleen gekopieerd als het systeem in regressietest modus is, geen paniek dus. if [ -e /etc/remote.conf ]; then mkdir $TARGETPATH/root/.ssh cp -a /root/.ssh/authorized_keys $TARGETPATH/root/.ssh/ || exit 1 fi #mark the system as clean touch $TARGETPATH/.cleanshutdown touch $TARGETPATH/home/.cleanshutdown touch $TARGETPATH/boot/.cleanshutdown #cleanup mounts and daemons #killall udevd chroot $TARGETPATH "/bin/bash" -c "umount /proc" || exit 1 chroot $TARGETPATH "/bin/bash" -c "umount /sys" || exit 1