Can't add new 1TB disk in FreeBSD 6.1

Jeremy Chadwick koitsu at FreeBSD.org
Mon Oct 6 16:45:56 UTC 2008


On Mon, Oct 06, 2008 at 09:36:19AM -0700, Don O'Neil wrote:
> 
> > On Mon, Oct 06, 2008 at 08:03:46AM -0700, Don O'Neil wrote:
> > 
> > > > I just swapped out an old 500G disk with a 1TB one and I'm trying 
> > > > to label it and mount it...
> > > > 
> > > > If I run bsdlabel -w ad4, I get:
> > > > 
> > > > bsdlabel: Geom not found
> > > > 
> > > > If I run sysinstall, it tells me that it can't write to the disk.
> > > > 
> > > > I've tried an old 'bypass': sysctl kern.geom.debugflags=16, but 
> > > > that didn't help.
> > > > 
> > > > Can anyone help me get this new disk installed without having to 
> > > > boot off a recovery CD? The server is 500 miles away from me and I 
> > > > don't have direct console access.
> > > > Can you provide output from dmesg, as well as "geom disk list"?
> > > 
> > > OK... I tried:
> > > 
> > > # dd if=/dev/zero of=/dev/ad4 bs=512 count=1000
> > > dd: /dev/ad4: Operation not permitted
> > > 
> > > # fdisk /dev/ad4
> > > ******* Working on device /dev/ad4 ******* parameters extracted from 
> > > in-core disklabel are:
> > > cylinders=1938021 heads=16 sectors/track=63 (1008 blks/cyl)
> > > 
> > > Figures below won't work with BIOS for partitions not in cyl 1 
> > > parameters to be used for BIOS calculations are:
> > > cylinders=1938021 heads=16 sectors/track=63 (1008 blks/cyl)
> > > 
> > > fdisk: invalid fdisk partition table found 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 (0xa5),(FreeBSD/NetBSD/386BSD)
> > >     start 63, size 1953525105 (953869 Meg), flag 80 (active)
> > >         beg: cyl 0/ head 1/ sector 1;
> > >         end: cyl 612/ head 15/ sector 63 The data for partition 2 
> > > is:
> > > <UNUSED>
> > > The data for partition 3 is:
> > > <UNUSED>
> > > The data for partition 4 is:
> > > <UNUSED>
> > 
> > 
> > OK.   That looks pretty normal.
> >
> > Well, except for not allowing the dd to the disk.  
> > I haven't had that happen on a disk.  (I used to see that a lot on DAT
> tapes)
> >
> > So, maybe, as someone else suggested, you also need:
> >
> > > OK... I tried:
> > > 
> > > # dd if=/dev/zero of=/dev/ad4 bs=512 count=1000
> > > dd: /dev/ad4: Operation not permitted
> > > 
> > Did you "sysctl kern.geom.debugflags=16" before doing this?
> > > 
> > What's happening here is that GEOM isn't letting you overwrite the MBR 
> > on the disk.  Setting kern.geom.debugflags=16 should permit that to 
> > happen.
> > 
> >
> > But, do the following too.  
> >
> > 
> > Did you try doing an:     fdisk -I ad4   or  maybe  fdisk -BI ad4
> > 
> > It takes that to get fdisk to initialize the disk.
> > (the -B puts the master boot block there.
> > 
> > Just doing an    fdisk ad4   only had fdisk read out stuff
> > and there isn't anything there yet to read - so of course it is 
> > invalid.
> > 
> > 
> > > 
> > > Geometry output:
> > > 
> > > Geom name: ad4
> > > Providers:
> > > 1. Name: ad4
> > >    Mediasize: 1000204886016 (932G)
> > >    Sectorsize: 512
> > >    Mode: r0w0e0
> > >    fwsectors: 63
> > >    fwheads: 16
> > > 
> > > Nothing exciting coming from dmesg.
> 
> I tried kern.geom.debugflags=16 originally, still doesn't help.

Can you please do it and then attempt the exact dd you ran above?

The reason I'm hounding: you're not providing a lot of detail between
whatever it is you're doing.  Just a lot of one-liner responses "No
didn't work, next".  It's very difficult to discern what exactly you're
doing; for example, you could've run the sysctl and then attempted an
install, rather than re-execute the dd.

I can refer you to historic data that shows people have gotten the exact
error you're seeing when attempting to write to block 0 (MBR), stopped
by GEOM, which is why I'm a little wary.

> Someone else recommended running sade(8) and properly configuring this disk.
> What is sade(8)? I don't have such an application on 6.1, and there is
> nothing in the ports. I think that sade is a 7.0+ tool.

6.1?  Why?  This is a new install, right?  Is there some reason you're
installing 6.1 and not 6.3, or better yet, 7.0?  That's a separate
question, but it does make me wonder if something was fixed between 6.1
and 6.3/7.0 which might address this problem.

There is one thing about later FreeBSDs which I am aware of: 48-bit LBA
addressing.  I'm left wondering if what you're running into is a bug or
a problem with older FreeBSD (6.1) not supporting this.  I would have to
go back through CVS commit lots for ata(4) to find out when 48-bit LBA
was added.  I think 48-bit LBA support is required for disks >500GB.

sade(8) is the "famous" console UI for disk partitioning and labelling
inside of sysinstall.  It's a separate application, and was introduced
in FreeBSD 6.3.  You can get the exact same functionality out of
sysinstall on earlier FreeBSDs.

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



More information about the freebsd-questions mailing list