Return to BSD News archive
Newsgroups: comp.os.386bsd.apps Path: sserve!sserve.cc.adfa.oz.au!jjh From: jjh@cserve.cs.adfa.oz.au (Joe Holloway) Subject: Disklabel to Disktab Filter Message-ID: <JJH.93Jul21112400@cserve.cs.adfa.oz.au> Sender: news@sserve.cc.adfa.oz.au Organization: Australian Defence Force Academy, Canberra, Australia Date: Wed, 21 Jul 1993 01:24:00 GMT Here is a little script for converting the output of disklabel for insertion into the disktab file. I hope it is usefull. -Joe- --8<-- Cut Here --8<-- #!/bin/sh # qlabel Script for converting Disklabel data to Disktab format # Author: jjh@cs.adfa.oz.au (Joe Holloway) # Thanks: wkt@cs.adfa.oz.au (Warren Toomey) # Date: Tue Jul 20 17:42:01 EST 1993 # # Comment: What a really disgusting hack... # Usage: disktab -r [device] | qlabel >> <file> # tr -d ':' | awk ' BEGIN { FS = " "; RS = "\n" } NR == 1 { device = $2 next } NR == 2 { dt = $2 next } NR == 3 { label = $2 next } NR == 4 { name = $2 next } NR == 5 { ty = "winchester" next } NR == 6 { se = $2 next } NR == 7 { ns = $2 next } NR == 8 { nt = $2 next } NR == 9 { sc = $2 next } NR == 10 { nc = $2 next } NR == 11 { rm = $2 next } NR == 12 { il = $2 next } NR == 13 { sk = $2 next } NR == 14 { cs = $2 next } NR == 15 { hs = $2 next } NR == 16 { ts = $2 next } NR == 17 { next } NR == 18 { printf ("%s|Device %s on %s:\\ \n", label, device, name) printf ("\t:dt=%s:ty=%s:se#%d:nt#%d:ns#%d:nc#%d:", dt, ty, se, nt, ns, nc) next } NR == 19 { partitions = $1 next } NR == 20 { # comment line next } NR >= 21 && /./ && partitions >= 2 { pn = $1 px = $2 ox = $3 tx = $4 fx = $5 bx = $6 printf (" \\ \n\t:p%s#%d:o%s#%d:t%s=%s:", pn, px, pn, ox, pn, tx) if ( tx != "swap" && tx != "unused" ) printf ("b%s#%d:f%s#%d:", pn, bx, pn, fx) next } END { printf ("\n") }'