Re: using bsdlabel




I've never used bsdlabel before; would someone please confirm
I've got this right?
Status quo:

huff@>> bsdlabel da0s1
# /dev/da0s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 1024000 0 4.2BSD 0 0 0
b: 2097152 1024000 swap
c: 8916012 0 unused 0 0 # "raw" part, don't edit
d: 2097152 3121152 4.2BSD 0 0 0

As I understand it, if I run this:

huff@>> bsdlabel -w da0s1 -f /label.new

where /label.new has:

# /dev/da0s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 1024000 0 4.2BSD 0 0 0
b: 2097152 1024000 swap
c: 8916012 0 unused 0 0 # "raw" part, don't edit
d: 2097152 3121152 4.2BSD 0 0 0
e: 3697708 5128304 4.2BSD 0 0 0

this will allocate the rest of the slice to partition 'e'.
(And we're ready to newfs.)

If I am doing it by hand, I would prefer using direct edit as in:
(NOTE, you apparently already have some usable label on the disk)

bsdlabel -e -r da0s1

This will bring up an edit session (vi unless you have your editor
set to something else - I use vi)
as follows.

# /dev/da0s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 1024000 0 4.2BSD 0 0 0
b: 2097152 * swap
c: * 0 unused 0 0 # "raw" part, don't edit
d: 2097152 * 4.2BSD 0 0 0
e: * * 4.2BSD 0 0 0


Then, just write and quit the edit session

It will calculate the last partition size and all the offsets for you
just the way you want it.

I use this method in our programs that automatically build variable
sized disks for our clients. I fix the size of root (da0s1a), swap (da0s1b)
and tmp (da0s1e) and then make the last partition (da0s1f) contain all the
remainder, whatever it is. It works just fine.

If you really want to work from a file, put the output of your bsdlabel
into the file and then edit it as I show above.

bsdlabel -r da0s1 >> label.new
vi label.new

Then do:
disklabel -R da0s1 label.new

The only thing you aren't doing in either of these cases is making
that da0s1a bootable. If you want that, you need to do:
either
bsdlabel -B da0s1
bsdlabel -r -e and then do the edits as above

or to do it from a file as created above do:

disklabel -R -B da0s1 label.new

////jerry



Robert Huff
_______________________________________________
freebsd-questions@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@xxxxxxxxxxx"
_______________________________________________
freebsd-questions@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • bsdlabel on slice vs on mirror
    ... don't edit ... bsdlabel: partition c doesn't cover the whole unit! ... Why doesn't it show the same error on the mirror? ...
    (freebsd-questions)
  • Re: gmirror
    ... The size colum can be human readable number and the offset ... the first and last partitions respectively use "*". ... don't edit ... When I initially create the mirror on the backup disk, I run a bsdlabel -e ...
    (freebsd-questions)
  • Re: bsdlabel editing to create a single partition
    ... am a little confused about editing partitions via "bsdlabel -e ... Don't edit the bsdlabel at all, ... and it will automatically fill out the fsize, bsize, and bps/cpg ...
    (freebsd-questions)
  • Recovering bsdlabel / disklabel with scan_ffs
    ... bsdlabel / disklabel though... ... primary and the previous disk as secondary), ... exactly remember the size and layout of the partitions on that machine. ... If you can't remember the SLICE coordinates, ...
    (freebsd-questions)
  • Re: incorrect superblock error when mounting partition
    ... I've got a 10 gb ide drive that has critical data on one of it's partitions /dev/ad1e. ... I then ran bsdlabel ad1 and got a printout of my label, this showed up which gives me hope that this data can be retrieved. ... depending on what fdisk shows. ...
    (freebsd-questions)