#!/bin/sh ARCH="`uname -m`" REL="8.2-RELEASE" ISO="FreeBSD-${REL}-${ARCH}-disc1.iso" MNT="/mnt" LABEL="FreeBSD-${REL}-${ARCH}-isboot" NAME="FreeBSD-${REL}-${ARCH}-isboot-0.2.4.iso" WORK=/usr/local/isboot/work TEMP=/usr/local/isboot/temp mkdir -p $TEMP mkdir -p $WORK/root/kernel MD=`mdconfig -a -t vnode -f $ISO` mount -t cd9660 -o ro /dev/$MD $MNT mount -t unionfs $WORK $MNT cp -p /boot/kernel/isboot.ko $MNT/boot/kernel/ cp -p $MNT/boot/loader.conf $MNT/boot/loader.conf.new echo 'isboot_load="YES"' >> $MNT/boot/loader.conf.new mv $MNT/boot/loader.conf.new $MNT/boot/loader.conf rm -rf $TEMP >/dev/null 2>&1; chflags -R noschg $TEMP; rm -rf $TEMP mkdir -p $TEMP (cd $TEMP; cat $MNT/$REL/base/base.?? | tar zxf -) cp -p $TEMP/boot/loader.conf $TEMP/boot/loader.conf.new echo 'isboot_load="YES"' >> $TEMP/boot/loader.conf.new mv $TEMP/boot/loader.conf.new $TEMP/boot/loader.conf rm -rf $MNT/$REL/base/base.?? (cd $TEMP; tar -cf - . | gzip --no-name -9 -c | split -b 1392k - \ $MNT/$REL/base/base.) (cd $MNT/$REL/base; sh /usr/src/release/scripts/info.sh base \ > $MNT/$REL/base/base.inf) rm -f $MNT/$REL/base/CHECKSUM.MD5 $MNT/$REL/base/CHECKSUM.SHA256 md5 * > $MNT/$REL/base/.CHECKSUM.MD5 sha256 * > $MNT/$REL/base/.CHECKSUM.SHA256 mv $MNT/$REL/base/.CHECKSUM.MD5 $MNT/$REL/base/CHECKSUM.MD5 mv $MNT/$REL/base/.CHECKSUM.SHA256 $MNT/$REL/base/CHECKSUM.SHA256 rm -rf $TEMP >/dev/null 2>&1; chflags -R noschg $TEMP; rm -rf $TEMP mkdir -p $TEMP (cd $TEMP; cat $MNT/$REL/kernels/generic.?? | tar zxf -) cp -p /boot/kernel/isboot.ko $TEMP/GENERIC/ rm -rf $MNT/$REL/kernels/generic.?? (cd $TEMP; tar -cf - . | gzip --no-name -9 -c | split -b 1392k - \ $MNT/$REL/kernels/generic.) (cd $MNT/$REL/kernels; sh /usr/src/release/scripts/info.sh generic \ > $MNT/$REL/kernels/generic.inf) rm -f $MNT/$REL/kernels/CHECKSUM.MD5 $MNT/$REL/kernels/CHECKSUM.SHA256 md5 * > $MNT/$REL/kernels/.CHECKSUM.MD5 sha256 * > $MNT/$REL/kernels/.CHECKSUM.SHA256 mv $MNT/$REL/kernels/.CHECKSUM.MD5 $MNT/$REL/kernels/CHECKSUM.MD5 mv $MNT/$REL/kernels/.CHECKSUM.SHA256 $MNT/$REL/kernels/CHECKSUM.SHA256 sh /usr/src/release/${ARCH}/mkisoimages.sh -b $LABEL $NAME $MNT #umount /mnt #umount /mnt #mdconfig -d -u $MD #rm -rf $WORK #rm -rf $TEMP; chflags -R noschg $TEMP; rm -rf $TEMP