#!/bin/sh MFDISKSIZE=16m MDNAME=mdisk.img FAKEROOT=fakeroot DISKSIZE=32768 BOOTIMG=bootdisk.img VND=/dev/vnd0 BOOTDISK=bootdisk KERNEL=LIVEKEY KERNDIR=/usr/src/sys/arch/i386/compile/${KERNEL} # set image ID IMGID=`date +"%Y%m%d%H%M"` sed -E s/Image\ ID.*/Image\ ID\:\ ${IMGID}\"/ ${FAKEROOT}/etc/rc > ${FAKEROOT}/etc/rc.XXX mv ${FAKEROOT}/etc/rc.XXX ${FAKEROOT}/etc/rc # generate RAMDISK and push it into the kernel rm -f netbsd cp ${KERNDIR}/netbsd . makefs -s ${MFDISKSIZE} -t ffs ${MDNAME} ${FAKEROOT} mdsetimage netbsd ${MDNAME} echo ">> compressing kernel..." gzip -9 netbsd mv netbsd.gz netbsd echo ">> kernel generated." # this one's taken from http://eggplant.ddo.jp/www/pukiwiki/ echo "miniroot:\ :ty=floppy:se#512:nt#1:rm#3600:ns#${DISKSIZE}:nc#1:\ :pa#${DISKSIZE}:oa#0:ba#4096:fa#512:ta=4.2BSD:\ :pb#${DISKSIZE}:ob#0:\ :pc#${DISKSIZE}:oc#0:" > miniroot.disktab dd if=/dev/zero of=${BOOTIMG} count=${DISKSIZE} bs=512 vnconfig -v -c ${VND} ${BOOTIMG} disklabel -w -f miniroot.disktab ${VND} miniroot newfs ${VND}a echo ">> filesystem created." rm -rf ${BOOTDISK} mkdir ${BOOTDISK} mount ${VND}a ${BOOTDISK} cp /usr/mdec/boot ${BOOTDISK}/boot cp netbsd.gz ${BOOTDISK}/netbsd installboot -v -o timeout=5 /dev/rvnd0a /usr/mdec/bootxx_ffsv1 echo ">> MBR installed" umount ${BOOTDISK} vnconfig -u ${VND}