bsdlabel and moving to a bigger drive

Omar Thameen omar at westside.urbanblight.com
Mon Jul 25 10:11:49 GMT 2005


I'm trying to transfer a 5.4 box from one drive to another bigger one.
I've added the second drive, partitioned and labeled it using
sysinstall's "post-install configuration of FreeBSD" menu item,
created new partitions with better space allocation, then dumped/restored
the filesystems.

I had sysinstall create all the filesystems on /mnt so I could do
the dump/restore.  Because there was no / partition (it was "/mnt"
on the new drive), sysinstall did not create an ad2s1a partition.
The / partition on the new drive is thus ad2s1d.

After the dump/restore, I edited /etc/fstab in preparation for putting
the new drive on the primary IDE controller and the original drive on
the secondary IDE controller.  On reboot, I had to tell the boot
process to boot from ad0s1d (the new drive is now ad0) via
0:ad(0,d)/boot/loader
at the boot prompt.

That works fine, but I'd like to avoid having to type that in every
time.  I figured I could just use bsdlabel to rename the 'd' partition
to 'a' so it can be booted from, but here's my first problem:
bsdlabel -e ad0s1
doesn't save my changes.  I've tried this after a default boot and
in single-user mode.  Do I need to boot from floppy/cd to accomplish
this, or is there something else I'm missing?

While I'm on the boot kick, here's my next question.  I tried booting
from the original drive (now on the 2nd IDE controller) via:
1:ad(0,a)/boot/loader
at the boot prompt, but it won't boot because it's looking for the
kernel on ad0s1d.  The only place I can think it would be getting
that information from is /etc/fstab the IDE drive on the primary
controller.  I thought that if I booted from the IDE drive on
the secondary controller, the whole process would proceed by reading
files off of that drive - but do the boot files always look on
the primary drive?

Omar



More information about the freebsd-questions mailing list