lkml.org 
[lkml]   [2008]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Force a usb drive to be /dev/sda?
Tomasz Chmielewski wrote:
>> Is it possible to force a usb drive to be /dev/sda? I put an entire
>> linux system to a usb drive and want it boot a system with variable
>> sata disks. However the usb drive is always scanned as a last scsi
>> drive.
>
> Is there a reason why you can't use filesystem labels or UUIDs?

Indeed. Shawn, I see these options:

1. Mount filesystems by UUID or by label.
Doesn't work with some filesystems.

2. Refer to devices by device ID or by device path.
Requires a minimal udev environment which gives you
/dev/disk/by-id or /dev/disk/by-path, or something
similar to udev. People had things like this already
working under Linux 2.4, using programs like devlabel
IIRC. Requires you to set up an initrd with respective
scripts in it.
By-path only works if you never alter the USB topology
and PCI topology. I.e. prefer by-id.

3. Influence the order of disk probing so that your USB
disk is the first one. Works only if there is at most
one disk on the USB bus and requires you to wait with
insertion or probing of the SATA controller driver (PCI
driver) until after the USB disk was probed by sd_mod.

There may or may not be very simple ways to do this.
Simplest would be to configure the SATA controller driver
as module and load that module in an rc script after the
root filesystem was mounted. That would actually be much
simpler than option 2, so maybe you want to try this
before 2.

4. Last resort: Hack sd_mod to defer any probes until after
the first probe of an USB attached disk. Requires some
experience in kernel driver programming.
--
Stefan Richter
-=====-==--- -==- -==--
http://arcgraph.de/sr/


\
 
 \ /
  Last update: 2008-06-12 13:17    [W:0.068 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site