freebsd-dev/release/picobsd/install/floppy.tree/etc/prepdisk

53 lines
1.3 KiB
Plaintext
Raw Normal View History

#!/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} __