summaryrefslogtreecommitdiffstats
path: root/tools/tools/nanobsd/i386.diskimage
blob: 82c37848f8b242dca4a54be6a9f9f87835b9409b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh
#
# Copyright (c) 2003-2004 Poul-Henning Kamp.
#
# See /usr/share/examples/etc/bsd-style-copyright for license terms.
#
# $FreeBSD$
#
# Called as:
#
# ${.CURDIR}/i386.diskimage $SECTS $HD $SC $DATASLICE ${.OBJDIR}/_.w ${.OBJDIR}/_.i
#
# XXX: newfs params.

set -ex

SECTS=$1
HD=$2
SC=$3
DATASLICE=$4
WD=$5
IMG=$6

TMPFILE0=`mktemp -t nanobsd`
TMPFILE1=`mktemp -t nanobsd`
TMPMNT=`mktemp -d -t nanobsd`

dd if=/dev/zero of=${TMPFILE0} count=${SECTS}
MD=`mdconfig -a -t vnode -f ${TMPFILE0} -x ${SC} -y ${HD}`
rm -f ${TMPFILE0}
(
sl=`expr "(" ${SECTS} - ${SC} - ${DATASLICE} ")" / 2`
cyl=`expr ${SECTS} / ${SC} / ${HD}`
echo g c${cyl} h${HD} s${SC}
echo p 1 165 ${SC} $sl
echo p 2 165 `expr ${SC} + $sl` $sl
echo p 3 165 `expr ${SC} + $sl + $sl` ${DATASLICE}
) > ${TMPFILE1}
cat ${TMPFILE1}
fdisk -i -f ${TMPFILE1} ${MD}
fdisk ${MD}
boot0cfg -B -b ${WD}/boot/boot0sio -s 1 -m 3 ${MD}
rm -f ${TMPFILE1}
bsdlabel -w -B ${MD}s1
newfs -O1 -U ${MD}s1a
newfs -O1 -U ${MD}s3
mount /dev/${MD}s1a ${TMPMNT}
(cd ${WD} && find . -print | cpio -dump ${TMPMNT}) || true
df ${TMPMNT}
umount ${TMPMNT}
dd if=/dev/${MD}s1 of=/dev/${MD}s2 bs=64k
dd if=/dev/${MD} of=${IMG} bs=64k
dd if=/dev/${MD}s1 of=${6}.s1 bs=64k
mdconfig -d -u ${MD}
OpenPOWER on IntegriCloud