|
|
coherent
:
: Build a Coherent executable with a host adapter driver linked in.
:
DRIVERS="rm fl lp mm"
COH_TYPE=fl
HD=""
KB=nkb
for ARG
do
case $ARG in
at|aha|ss)
HD=$ARG
COH_TYPE=$ARG
;;
kb|nkb)
KB=$ARG
;;
*) echo "Usage: $0 { at | ss | aha } { kb | nkb }"
exit 0
;;
esac
done
DRIVERS="$KB $HD $DRIVERS"
echo "Kernel: /coh.$COH_TYPE"
echo "Devices: $DRIVERS"
: default root/pipe device
BOOTDEV="fva0"
echo "Default root/pipe device is $BOOTDEV."
( cd /usr/src/sys/i8086/drv; make -f Makefile install ) || exit 1
./config ibm-at $DRIVERS root=$BOOTDEV || exit 1
cp coherent /tmp/coh || exit 1
strip /tmp/coh || exit 1
set `ls -s /tmp/coh`
SIZE=$1
rm /tmp/coh || exit 1
echo "Coherent bootable limit is 138 blocks. This kernel is $SIZE"
if [ $SIZE -gt 138 ] ;then
echo
echo Your Coherent image exceeds the bootable limit of 138 blocks
echo by `expr $SIZE - 138` 'block(s).' You will need to decrease the
echo size of your kernel in order to make it bootable.
echo
echo We suggest removing some of the non critical drivers from the
echo default list of drivers linked into Coherent. These additional
echo drivers may then be linked as loadable drivers using the
echo ldconfig script located in this directory.
fi
mv coherent /coh.$COH_TYPE
chown sys /coh.$COH_TYPE
chgrp sys /coh.$COH_TYPE
chmod 400 /coh.$COH_TYPE
echo "New kernel in /coh.$COH_TYPE"
ls -l /coh.$COH_TYPE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.