freebsd-dev/release/picobsd/install/floppy.tree/etc/prepdisk
Doug White 88e4dbacdb Add a new floppy type, install. This type builds a disk that can
slice, partition, newfs, and install FreeBSD from a tarball on a remote server.
Handy for doing mass-installs for server farms.

Documentation following shortly.
1999-10-08 04:00:21 +00:00

53 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
#
# Prepares disk based on kernel disk information. Assumes fdisk -e was
# run beforehand.
#
# 'swap' is the size of the swap partition in 512 byte blocks (def: 256MB)
# dev=target_disk
target_disk=$1
dmesg | grep "${target_disk}.*sectors" | tr -d '(:)' | awk '
{
v = $3
c = $5
h = $7
s = $9
ss = c * h * s - s
sw = 522240
ap = ss - sw
print "#",$0 > "_"
print "g c"c" h"h" s"s > "_"
print "p 1 165",s,ss > "_"
print "a 1" > "_"
print "#",$0 > "__"
print "type: ESDI" > "__"
print "disk:", $1 > "__"
print "label:" > "__"
print "flags:" > "__"
print "bytes/sector: 512" > "__"
print "sectors/track:", s > "__"
print "tracks/cylinder:", h > "__"
print "sectors/cylinder:", s * h > "__"
print "cylinders:", c > "__"
print "sectors/unit:", ss > "__"
print "rpm: 3600" > "__"
print "interleave: 1" > "__"
print "trackskew: 0" > "__"
print "cylinderskew: 0" > "__"
print "headswitch: 0 # milliseconds" > "__"
print "track-to-track seek: 0 # milliseconds" > "__"
print "drivedata: 0 " > "__"
print "8 partitions:" > "__"
print "# size offset fstype [fsize bsize bps/cpg]" > "__"
print "a:",ap,"0 4.2BSD 512 4096 " > "__"
print "b:",sw,ap,"swap " > "__"
print "c:",ss,"0 unused 0 0" > "__"
}
'
disklabel -BrR ${target_disk} __