Seagate HD not detected by FreeBSD

Vizion vizion at vizion.occoxmail.com
Sat May 28 18:16:12 PDT 2005


On Saturday 28 May 2005 18:08,  the author Ulf Magnusson contributed to the 
dialogue on Re: Seagate HD not detected by FreeBSD:
>From: Vizion <vizion at vizion.occoxmail.com>
>
>> On Saturday 28 May 2005 16:48,  the author Ulf Magnusson
>> contributed to the
>>
>> dialogue on Seagate HD not detected by FreeBSD:
>> >I'm trying to add a 120 GiB Seagate Barracuda (ST3120022A) HD. I've
>> >attached it as the sole device on IDE cable 2, jumpering it as a
>>
>> slave>device. It is correctly detected by the BIOS as the Secondary
>> Slave.>
>>
>> >The drive isn't detected by FreeBSD. There's no entry for it among
>>
>> the>dmesg messages, and no device node gets created. I've tried
>> disabling>UDMA on the drive, to no avail.
>>
>> >System info:
>> >
>> >Epox Nforce2 motherboard
>> >FreeBSD obygden 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Wed May 11
>>
>> 17:32:06>CEST 2005     ulf at obygden:/usr/obj/usr/src/sys/DEB  i386
>>
>> >Parts of dmesg output:
>> >
>> >atapci0: <nVidia nForce2 UDMA133 controller> port
>> >0xf000-0xf00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 9.0 on
>>
>> pci0>ata0: channel #0 on atapci0
>>
>> >ata1: channel #1 on atapci0
>> >...
>> >ad0: 38166MB <ST340014A/8.01> [77545/16/63] at ata0-master UDMA100
>> >Mounting root from ufs:/dev/ad0s1a
>> ><End of dmesg output>
>>
>> Can you please attach the full output from dmesg
>>
>> daid
>
>Copyright (c) 1992-2005 The FreeBSD Project.
>Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>        The Regents of the University of California. All rights reserved.
>FreeBSD 5.4-RELEASE #0: Wed May 11 17:32:06 CEST 2005
>    ulf at obygden:/usr/obj/usr/src/sys/DEB
>Timecounter "i8254" frequency 1193182 Hz quality 0
>CPU: AMD Athlon(tm) processor (1403.19-MHz 686-class CPU)
>  Origin = "AuthenticAMD"  Id = 0x644  Stepping = 4
>
>Features=0x183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,
>CM OV,PAT,PSE36,MMX,FXSR>
>  AMD Features=0xc0440000<RSVD,AMIE,DSP,3DNow!>
>real memory  = 536805376 (511 MB)
>avail memory = 511438848 (487 MB)
>mptable_probe: MP Config Table has bad signature:
>ACPI APIC Table: <Nvidia AWRDACPI>
>ioapic0 <Version 1.1> irqs 0-23 on motherboard
>npx0: <math processor> on motherboard
>npx0: INT 16 interface
>acpi0: <Nvidia AWRDACPI> on motherboard
>acpi0: Power Button (fixed)
>Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
>acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
>cpu0: <ACPI CPU> on acpi0
>acpi_button0: <Power Button> on acpi0
>pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
>pci0: <ACPI PCI bus> on pcib0
>agp0: <NVIDIA nForce2 AGP Controller> mem 0xe0000000-0xe1ffffff at
>device 0.0 on
> pci0
>pci0: <memory, RAM> at device 0.1 (no driver attached)
>pci0: <memory, RAM> at device 0.2 (no driver attached)
>pci0: <memory, RAM> at device 0.3 (no driver attached)
>pci0: <memory, RAM> at device 0.4 (no driver attached)
>pci0: <memory, RAM> at device 0.5 (no driver attached)
>isab0: <PCI-ISA bridge> at device 1.0 on pci0
>isa0: <ISA bus> on isab0
>pci0: <serial bus, SMBus> at device 1.1 (no driver attached)
>ohci0: <OHCI (generic) USB controller> mem 0xe4001000-0xe4001fff irq 22
>at devic
>e 2.0 on pci0
>usb0: OHCI version 1.0, legacy support
>usb0: <OHCI (generic) USB controller> on ohci0
>usb0: USB revision 1.0
>uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
>uhub0: 3 ports with 3 removable, self powered
>ohci1: <OHCI (generic) USB controller> mem 0xe4004000-0xe4004fff irq 21
>at devic
>e 2.1 on pci0
>usb1: OHCI version 1.0, legacy support
>usb1: <OHCI (generic) USB controller> on ohci1
>usb1: USB revision 1.0
>uhub1: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
>uhub1: 3 ports with 3 removable, self powered
>pci0: <serial bus, USB> at device 2.2 (no driver attached)
>pcib1: <ACPI PCI-PCI bridge> at device 8.0 on pci0
>pci1: <ACPI PCI bus> on pcib1
>xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xd000-0xd07f mem
>0xe3000000-0xe300
>007f irq 16 at device 8.0 on pci1
>miibus0: <MII bus> on xl0
>xlphy0: <3c905C 10/100 internal PHY> on miibus0
>xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>xl0: Ethernet address: 00:04:76:1c:4b:d1
>pcm0: <Creative EMU10K1> port 0xd400-0xd41f irq 18 at device 10.0 on pci1
>pcm0: <SigmaTel STAC9708/11 AC97 Codec>
>atapci0: <nVidia nForce2 UDMA133 controller> port
>0xf000-0xf00f,0x376,0x170-0x17
>7,0x3f6,0x1f0-0x1f7 at device 9.0 on pci0
>ata0: channel #0 on atapci0
>ata1: channel #1 on atapci0
>pci0: <serial bus, FireWire> at device 13.0 (no driver attached)
>pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
>pci2: <ACPI PCI bus> on pcib2
>nvidia0: <GeForce3> mem
>0xdc000000-0xdc07ffff,0xd8000000-0xdbffffff,0xd0000000-0
>xd0ffffff irq 19 at device 0.0 on pci2
>acpi_tz0: <Thermal Zone> on acpi0
>fdc0: <floppy drive controller> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
>fd0: <1440-KB 3.5" drive> on fdc0 drive 0
>sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on
>acpi0
>sio0: type 16550A
>sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
>sio1: type 16550A
>ppc0: <Standard parallel printer port> port 0x778-0x77b,0x378-0x37f irq
>7 on acp
>i0
>ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
>ppbus0: <Parallel port bus> on ppc0
>lpt0: <Printer> on ppbus0
>lpt0: Interrupt-driven port
>atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
>atkbd0: <AT Keyboard> irq 1 on atkbdc0
>kbd0 at atkbd0
>pmtimer0 on isa0
>orm0: <ISA Option ROMs> at iomem 0xcc000-0xcc7ff,0xc0000-0xcb7ff on isa0
>sc0: <System console> at flags 0x100 on isa0
>sc0: VGA <16 virtual consoles, flags=0x300>
>vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
>ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/13.20, addr 2, iclass 3/1
>ums0: 4 buttons and Z dir.
>Timecounter "TSC" frequency 1403190916 Hz quality 800
>Timecounters tick every 10.000 msec
>ad0: 38166MB <ST340014A/8.01> [77545/16/63] at ata0-master UDMA100
>Mounting root from ufs:/dev/ad0s1a

OK your drive is recognized as at1 
Here is the page from the handbook on www.freebsd.org - if you follow the 
instructions you should be OK:
---------------------------------------------------------------------------------------
16.3 Adding Disks
Originally contributed by David O'Brien.

Lets say we want to add a new SCSI disk to a machine that currently only has a 
single drive. First turn off the computer and install the drive in the 
computer following the instructions of the computer, controller, and drive 
manufacturer. Due to the wide variations of procedures to do this, the 
details are beyond the scope of this document.

Login as user root. After you have installed the drive, 
inspect /var/run/dmesg.boot to ensure the new disk was found. Continuing with 
our example, the newly added drive will be da1 and we want to mount it on /1 
(if you are adding an IDE drive, the device name will be wd1 in pre-4.0 
systems, or ad1 in 4.X and 5.X systems).

FreeBSD runs on IBM-PC compatible computers, therefore it must take into 
account the PC BIOS partitions. These are different from the traditional BSD 
partitions. A PC disk has up to four BIOS partition entries. If the disk is 
going to be truly dedicated to FreeBSD, you can use the dedicated mode. 
Otherwise, FreeBSD will have to live within one of the PC BIOS partitions. 
FreeBSD calls the PC BIOS partitions slices so as not to confuse them with 
traditional BSD partitions. You may also use slices on a disk that is 
dedicated to FreeBSD, but used in a computer that also has another operating 
system installed. This is a good way to avoid confusing the fdisk utility of 
other, non-FreeBSD operating systems.

In the slice case the drive will be added as /dev/da1s1e. This is read as: 
SCSI disk, unit number 1 (second SCSI disk), slice 1 (PC BIOS partition 1), 
and e BSD partition. In the dedicated case, the drive will be added simply 
as /dev/da1e.

Due to the use of 32-bit integers to store the number of sectors, bsdlabel(8) 
(called disklabel(8) in FreeBSD 4.X) is limited to 2^32-1 sectors per disk or 
2TB in most cases. The fdisk(8) format allows a starting sector of no more 
than 2^32-1 and a length of no more than 2^32-1, limiting partitions to 2TB 
and disks to 4TB in most cases. The sunlabel(8) format is limited to 2^32-1 
sectors per partition and 8 partitions for a total of 16TB. For larger disks, 
gpt(8) partitions may be used.
16.3.1 Using sysinstall(8)

   1.

      Navigating Sysinstall

      You may use sysinstall (/stand/sysinstall in FreeBSD versions older than 
5.2) to partition and label a new disk using its easy to use menus. Either 
login as user root or use the su command. Run sysinstall and enter the 
Configure menu. Within the FreeBSD Configuration Menu, scroll down and select 
the Fdisk option.
   2.

      fdisk Partition Editor

      Once inside fdisk, typing A will use the entire disk for FreeBSD. When 
asked if you want to “remain cooperative with any future possible operating 
systems”, answer YES. Write the changes to the disk using W. Now exit the 
FDISK editor by typing q. Next you will be asked about the “Master Boot 
Record”. Since you are adding a disk to an already running system, choose 
None.
   3.

      Disk Label Editor

      Next, you need to exit sysinstall and start it again. Follow the 
directions above, although this time choose the Label option. This will enter 
the Disk Label Editor. This is where you will create the traditional BSD 
partitions. A disk can have up to eight partitions, labeled a-h. A few of the 
partition labels have special uses. The a partition is used for the root 
partition (/). Thus only your system disk (e.g, the disk you boot from) 
should have an a partition. The b partition is used for swap partitions, and 
you may have many disks with swap partitions. The c partition addresses the 
entire disk in dedicated mode, or the entire FreeBSD slice in slice mode. The 
other partitions are for general use.

      sysinstall's Label editor favors the e partition for non-root, non-swap 
partitions. Within the Label editor, create a single file system by typing C. 
When prompted if this will be a FS (file system) or swap, choose FS and type 
in a mount point (e.g, /mnt). When adding a disk in post-install mode, 
sysinstall will not create entries in /etc/fstab for you, so the mount point 
you specify is not important.

      You are now ready to write the new label to the disk and create a file 
system on it. Do this by typing W. Ignore any errors from sysinstall that it 
could not mount the new partition. Exit the Label Editor and sysinstall 
completely.
   4.

      Finish

      The last step is to edit /etc/fstab to add an entry for your new disk.

16.3.2 Using Command Line Utilities
16.3.2.1 Using Slices

This setup will allow your disk to work correctly with other operating systems 
that might be installed on your computer and will not confuse other operating 
systems' fdisk utilities. It is recommended to use this method for new disk 
installs. Only use dedicated mode if you have a good reason to do so!

# dd if=/dev/zero of=/dev/da1 bs=1k count=1
# fdisk -BI da1 #Initialize your new disk
# disklabel -B -w -r da1s1 auto #Label it.
# disklabel -e da1s1 # Edit the disklabel just created and add any partitions.
# mkdir -p /1
# newfs /dev/da1s1e # Repeat this for every partition you created.
# mount /dev/da1s1e /1 # Mount the partition(s)
# vi /etc/fstab # Add the appropriate entry/entries to your /etc/fstab.

If you have an IDE disk, substitute ad for da. On pre-4.X systems use wd.
16.3.2.2 Dedicated

If you will not be sharing the new drive with another operating system, you 
may use the dedicated mode. Remember this mode can confuse Microsoft 
operating systems; however, no damage will be done by them. IBM's OS/2® 
however, will “appropriate” any partition it finds which it does not 
understand.

# dd if=/dev/zero of=/dev/da1 bs=1k count=1
# disklabel -Brw da1 auto
# disklabel -e da1               # create the `e' partition
# newfs -d0 /dev/da1e
# mkdir -p /1
# vi /etc/fstab               # add an entry for /dev/da1e
# mount /1

An alternate method is:

# dd if=/dev/zero of=/dev/da1 count=2
# disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin
# newfs /dev/da1e
# mkdir -p /1
# vi /etc/fstab                   # add an entry for /dev/da1e
# mount /1

    Note: Since FreeBSD 5.1-RELEASE, the bsdlabel(8) utility replaces the old 
disklabel(8) program. With bsdlabel(8) a number of obsolete options and 
parameters have been retired; in the examples above the option -r should be 
removed with bsdlabel(8). For more information, please refer to the 
bsdlabel(8) manual page.
-------
David

-- 
40 yrs navigating and computing in blue waters.
English Owner & Captain of British Registered 60' bluewater Ketch S/V Taurus.
 Currently in San Diego, CA. Sailing May bound for Europe via Panama Canal.


More information about the freebsd-questions mailing list