Date: Mon, 18 Sep 2006 07:07:46 -1000 From: Robert Marella <rmarella@gmail.com> To: freebsd-questions@freebsd.org Subject: Re: how to make fixed Direct Access device (da) ID Message-ID: <20060918070746.057a5c02@asusamd> In-Reply-To: <450C58F7.80004@george.lbl.gov> References: <450C58F7.80004@george.lbl.gov>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 16 Sep 2006 13:05:11 -0700 "Jin Guojun [VFFS]" <jin@george.lbl.gov> wrote: > It is awkward that dynamically and/or statically attaching SCSI hard > drive and > USB hard drive to the system will have different da IDs. > For example, boot system with a SCSI drive (SCSI = 1), will have a > da0 for this > SCSI drive. Then plugging in a USB hard drive, which will be > configured as da1. > > If boot system with both drives online, system will boot from SCSI > drive fine till > mounting root point. It fails because USB drive has da0 and SCSI > drive has da1. > > Is there anyway to configure the system to have fixed da ID for SCSI > drive or > even for USB drive regardless if they are dynamically/statically > attached to the > system? > > -Jin Hello Jin Try man (4) scsi: All devices and the SCSI busses support boot time allocation so that an upper number of devices and controllers does not need to be configured; device da0 will suffice for any number of disk drivers. The devices are either wired so they appear as a particular device unit or counted so that they appear as the next available unused unit. Units are wired down by setting kernel environment hints. This is usu- ally done either interactively from the loader(8), or automatically via the /boot/device.hints file. The basic syntax is: hint.device.unit.property="value" Individual SCSI bus numbers can be wired down to specific controllers with a config line similar to the following: hint.scbus.0.at="ahd1" This assigns SCSI bus number 0 to the ahd1 driver instance. For con- trollers supporting more than one bus, a particular bus can be assigned as follows: hint.scbus.0.at="ahc1" hint.scbus.0.bus="1" This assigns SCSI bus 0 to the bus 1 instance on ahc0. Peripheral driv- ers can be wired to a specific bus, target, and lun as so: hint.da.0.at="scbus0" hint.da.0.target="0" hint.da.0.unit="0" This assigns da0 to target 0, unit (lun) 0 of scbus 0. Omitting the tar- get or unit hints will instruct CAM to treat them as wildcards and use the first respective counted instances. These examples can be combined together to allow a peripheral device to be wired to any particular con- troller, bus, target, and/or unit instance. When you have a mixture of wired down and counted devices then the count- ing begins with the first non-wired down unit for a particular type. That is, if you have a disk wired down as device da1, then the first non- wired disk shall come on line as da2. HTH Robert
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060918070746.057a5c02>