FreeBSD 4.4-REL to FreeBSD 4.8-STABLE upgrade problem.

Dustin Puryear dpuryear at usa.net
Mon Jul 7 14:00:40 PDT 2003


I sent this to freebsd-questions earlier via the newsgroup, but I just 
found out today that the list-to-news gateway has been down for half a 
month now. Any idea when it's going back up? Who was hosting that service 
anyway?

And now for the question..

I have a test server that is being used to test a 4.4-REL to 4.8-STABLE 
upgrade, and I've found the system will no longer boot unless I load a 
saved 4.4-REL kernel. The error I get is along the lines of:

Mounting root from ufs:/dev/ad4s1a
Root mount failed: 16

At first I got this error using a custom kernel configuration known as WWW, 
but after getting this error I built a new kernel based on GENERIC:

# cd /usr/src
# make update
# make buildkernel
# make installkernel
# reboot

Per /usr/src/UPDATING there was a change in the ATA drive at 4.5-REL, but 
it mentioned running mergemaster to create the new devices, and according 
to /usr/src/Makefile I shouldn't do that until I get past the current stage 
(which is where I am stuck):

(/usr/src/Makefile comments)
1. cd /usr/src
2. make buildworld
3. make buildkernel
4. make installkernel
5. reboot
6. mergemaster -p

This machine does have the Promise RAID-1 IDE controller that is built into 
a lot motherboards these days. Here is my dmesg output from this server on 
a successful boot:

ar0: 39266MB <ATA RAID1 array> [5005/255/63] subdisks:
   ad4: 39266MB <IC35L040AVER07-0> [79780/16/63] at ata2-master UDMA100
   ad6: 39266MB <IC35L040AVER07-0> [79780/16/63] at ata3-master UDMA100

However, this test machine mimics how the web servers were setup, and they 
do not use /dev/ar, but instead use /dev/ad0:

# cat /etc/fstab
# Device    Mountpoint  FStype  Options         Dump    Pass#
/dev/ad4s1b none        swap    sw              0       0
/dev/ad4s1a /           ufs     rw              1       1
/dev/ad4s1f /usr        ufs     rw              2       2
/dev/ad4s1e /var        ufs     rw              2       2
/dev/acd0c  /cdrom      cd9660  ro,noauto       0       0
proc        /proc       procfs  rw              0       0

I am thinking that in 4.5-REL or newer (we are trying to upgrade to 4.8) 
that things might have changed? Again, /usr/src/UPDATING mentions some 
changes to the ATA code, but nothing specific to our configuration.

Any ideas here?

Following are the partition and disklabel information for /dev/ad4 and 
/dev/ar0:

# fdisk /dev/ad4
******* Working on device /dev/ad4 *******
parameters extracted from in-core disklabel are:
cylinders=5005 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=5005 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165,(FreeBSD/NetBSD/386BSD)
     start 63, size 80405262 (39260 Meg), flag 80 (active)
         beg: cyl 0/ head 1/ sector 1;
         end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

# disklabel -r ad4s1
# /dev/ad4s1c:
type: ESDI
disk: ad4s1
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 5004
sectors/unit: 80405262
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # milliseconds
track-to-track seek: 0  # milliseconds
drivedata: 0

8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
   a:   204800        0    4.2BSD     1024  8192    16   # (Cyl.    0 - 12*)
   b:  1056032   204800      swap                        # (Cyl.   12*- 78*)
   c: 80405262        0    unused        0     0         # (Cyl.    0 - 5004*)
   e:    40960  1260832    4.2BSD     1024  8192    16   # (Cyl.   78*- 81*)
   f: 79103470  1301792    4.2BSD     1024  8192    16   # (Cyl.   81*- 5004*)

# fdisk /dev/ar0
******* Working on device /dev/ar0 *******
parameters extracted from in-core disklabel are:
cylinders=5005 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=5005 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165,(FreeBSD/NetBSD/386BSD)
     start 63, size 80405262 (39260 Meg), flag 80 (active)
         beg: cyl 0/ head 1/ sector 1;
         end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

# disklabel -r ar0
# /dev/ar0c:
type: ESDI
disk: ad4s1
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 5004
sectors/unit: 80405262
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # milliseconds
track-to-track seek: 0  # milliseconds
drivedata: 0

8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
   a:   204800        0    4.2BSD     1024  8192    16   # (Cyl.    0 - 12*)
   b:  1056032   204800      swap                        # (Cyl.   12*- 78*)
   c: 80405262        0    unused        0     0         # (Cyl.    0 - 5004*)
   e:    40960  1260832    4.2BSD     1024  8192    16   # (Cyl.   78*- 81*)
   f: 79103470  1301792    4.2BSD     1024  8192    16   # (Cyl.   81*- 5004*)

---
Dustin Puryear <dustin at puryear-it.com>
Puryear Information Technology, LLC <http://www.puryear-it.com>
Providing expertise in the management, integration, and
security of Windows and UNIX systems, networks, and applications.



More information about the freebsd-questions mailing list