To: bsd-dk@bsd-dk.dk Subject: Soekris image producerende script... From: Poul-Henning Kamp <none@phk--freebsd.org.lh.bsd-dk.dk> Date: Sat, 14 Dec 2002 22:30:05 +0100
Som lovet under foredraget:
Det her er det script jeg bruger til at generere flash images til en
af mine soekris'er.
#!/bin/sh
MD=75
SZ=26000
set -ex
umount /mnt || true
mdconfig -d -u $MD || true
mdconfig -a -t malloc -s 246m -u $MD
echo '#
g c984 h16 s32
p 1 165 32 503776
a 1
' > _.fdisk
fdisk -f _.fdisk md${MD}
fdisk md${MD}
echo '
# /dev/md75s1c:
type: unknown
disk: amnesiac
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 1
sectors/cylinder: 63
cylinders: 7996
sectors/unit: 503776
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: XXX 128 unused 0 0 # (Cyl. 0 - 7996*)
c: 503776 0 unused 0 0 # (Cyl. 0 - 7996*)
' | sed "s/XXX/${SZ}/" > _.disklabel
disklabel -R -B md${MD}s1 _.disklabel
disklabel md${MD}s1
newfs /dev/md${MD}s1a
mount /dev/md${MD}s1a /mnt
cd /usr/src/etc
make obj && make depend && make all distrib-dirs DESTDIR=/mnt
echo '/dev/ad0s1a / ufs ro 1 1' > /mnt/etc/fstab
echo '
# server 212.242.86.186
# server 192.38.7.240
pps /dev/oncore.pps.0 assert
server 127.127.30.0
driftfile /mnt/ntp.drift
statsdir /mnt/Ntp/
statistics loopstats peerstats clockstats rawstats
filegen loopstats file loopstats type day
filegen peerstats file peerstats type day
filegen clockstats file clockstats type day
filegen rawstats file rawstats type day
' > /mnt/etc/ntp.conf
echo '
MODE 2
ASSERT
' > /mnt/etc/ntp.oncore
echo -h > /mnt/boot.conf
cp /bang/l135/NTP/Prs10/prs10 /mnt/sbin
echo '#!/bin/sh
set -ex
/sbin/ifconfig sis0 media autoselect
/sbin/mdconfig -a -t malloc -s 1m -u 0
/sbin/newfs /dev/md0
/sbin/mount /dev/md0 /var
( cd /var.template && /usr/bin/find . -print | /usr/bin/cpio -dump /var )
/usr/sbin/syslogd -ss -vv
/sbin/ifconfig lo0 127.0.0.1/32
/sbin/ifconfig sis0 212.242.86.135/27
/sbin/route add default 212.242.86.140
/sbin/mount_nfs -b -s 212.242.86.145:/bang/l135/NTP /mnt
/usr/sbin/ntpdate -b 212.242.86.186 192.38.7.240
/usr/sbin/ntpdate -b 212.242.86.186 192.38.7.240
/usr/sbin/ntpdate -b 212.242.86.186 192.38.7.240
(
cd /dev
/bin/ln -s cuaa5 oncore.serial.0
/bin/ln -s elan-mmcr oncore.pps.0
)
/usr/sbin/ntpd
/sbin/prs10 212.242.86.175:4444
while true
do
/bin/sh -i
echo "shell died, sleeping 10 seconds
"
sleep 10
done
' > /mnt/etc/rc
echo '
*.* /dev/console
' > /mnt/etc/syslog.conf
for i in sbin/init \
bin/sh \
bin/ln \
usr.sbin/ntp \
sys/boot \
sbin/ifconfig \
sbin/route \
sbin/mdconfig \
sbin/newfs \
sbin/mount \
sbin/mount_nfs \
usr.sbin/syslogd \
usr.bin/find \
gnu/usr.bin/cpio
do
cd /usr/src/$i
make -s clean && make -s cleandir && make -s obj && make -s clean
make -s depend && make -s all install \
DESTDIR=/mnt NOMAN=yes NOSHARED=yes CLOCKDEFS="-DDEBUG"
done
for i in netconfig services
do
cd /usr/src/etc
cp $i /mnt/etc
done
cd /usr/src/sys/i386/conf
config GPS2
cp GENERIC.hints /mnt/boot/device.hints
cd ../compile/GPS2
rm -rf /mnt/boot/kernel
make -s depend && make -s -j 4 && make -s install DESTDIR=/mnt
mv /mnt/var /mnt/var.template
mkdir /mnt/var
df -k /mnt
if false ; then
rm -rf /bang/plywood
mkdir -p /bang/plywood
cd /mnt
find . -print | cpio -dump /bang/plywood
cp /bang/plywood/etc/fstab /bang/plywood/etc/_fstab
sed 's/^/#/' /bang/plywood/etc/_fstab > /bang/plywood/etc/fstab
fi
umount /mnt
dd if=/dev/md${MD} count=`expr $SZ + 256` of=/bang/plywood/gps2.ad0
-- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.
This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:26 CET