|
Home > Archive > Linux Debian support > April 2007 > Nondeterministic scsi device load order leading to boot issues
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Nondeterministic scsi device load order leading to boot issues
|
|
| Jan Met De Pet 2007-04-16, 1:14 pm |
| Hi,
I recently installed Debian/amd64 (from a sid/lenny netinst iso) on my
machine. Install went smoothly, all hardware (except for the X-Fi, but
that's a known issue) supported, including my Areca RAID controller.
However, half the time the system doesn't boot.
Hardware Situation:
- Machine is a dual-cpu system, with two dual-core Opterons
=> 4-core SMP (may or may not be relevant to the issue at hand)
- A+ (Supermicro) H8DCi motherboard (N-Force chipset)
- One Western Digital 150GB SATA2 disk on the MB's SATA controller
=> Used as system disk, contains both WinXP64 and Linux (one /boot
partition, one swap and one for /)
- NEC DVDRW on MB's ATA controller
- Plextor 750-SA on MB's SATA controller
- Areca 1220 8-port RAID controller with 8 500GB drives in RAID-6
-> contains NTFS partitions (GPT) with data; doesn't have to be
accessed from linux very often (but that DOES work just fine,
yay for GPT and NTFS support)
The problem is that sometimes the WD drive gets initialized first,
making the boot work (because the root=/dev/sda2 points to the right
place) and sometimes it's the Areca raidset that gets /sda (breaking
the boot).
Is there any way to avoid this, and guarantee /dev/sda is always
assigned to the same physical device?
(replies to usenet only please - thanks)
| |
| Ben Peddell 2007-04-17, 7:13 am |
| Jan Met De Pet wrote:
>
> The problem is that sometimes the WD drive gets initialized first,
> making the boot work (because the root=/dev/sda2 points to the right
> place) and sometimes it's the Areca raidset that gets /sda (breaking
> the boot).
>
> Is there any way to avoid this, and guarantee /dev/sda is always
> assigned to the same physical device?
Try using an initrd (or initramfs with 2.6 kernels) with either
disklabel or EVMS.
| |
| Jan Met De Pet 2007-04-17, 1:13 pm |
| On Tue, 17 Apr 2007 16:42:23 +1000, Ben Peddell
<klightspeed@netspace.net.au> wrote:
>Jan Met De Pet wrote:
>
>Try using an initrd (or initramfs with 2.6 kernels) with either
>disklabel or EVMS.
As I understand it a disklabel is an allternative to a "normal" PC
partition table, so that's not a viable way to go (same disk has
Windows partitions); but EVMS looks promising, I'll try setting that
up - thanks.
It's odd that debian doesn't have an out-of-the-ox solution for this;
I would expect similar numbering issues to occur when using
USB-attached storage.
| |
| Andreas Janssen 2007-04-17, 7:13 pm |
| Hello
Jan Met De Pet (<john.with-the-clack@fake-email.com> ) wrote:
> I recently installed Debian/amd64 (from a sid/lenny netinst iso) on my
> machine. Install went smoothly, all hardware (except for the X-Fi, but
> that's a known issue) supported, including my Areca RAID controller.
>
> [...]
>
> The problem is that sometimes the WD drive gets initialized first,
> making the boot work (because the root=/dev/sda2 points to the right
> place) and sometimes it's the Areca raidset that gets /sda (breaking
> the boot).
If you use udev with kernel 2.6, you can address disks by other criteria
that the normal device name. Take a look at /dev/disk. You might want
to use fstab entries and the root entry in your grub/menu.lst
using /dev/disk/by-label.
regards
Andreas Janssen
--
Andreas Janssen <andreas.janssen@bigfoot.com>
PGP-Key-ID: 0xDC801674 ICQ #17079270
Registered Linux User #267976
http://www.andreas-janssen.de/debian-tipps-sarge.html
| |
| Kees Theunissen 2007-04-18, 7:13 am |
| Jan Met De Pet wrote:
> As I understand it a disklabel is an allternative to a "normal" PC
> partition table, so that's not a viable way to go (same disk has
> Windows partitions); but EVMS looks promising, I'll try setting that
> up - thanks.
A disk label is _not_ an alternative to a partition table. It is just
what its name says: a label; a text string used to identify the disk
partition. The label is not stored in the partition table but in
the file system header.
Regards,
Kees.
--
Kees Theunissen.
| |
| Ben Peddell 2007-04-18, 7:13 am |
| Andreas Janssen wrote:
> Hello
>
> Jan Met De Pet (<john.with-the-clack@fake-email.com> ) wrote:
>
>
> If you use udev with kernel 2.6, you can address disks by other criteria
> that the normal device name. Take a look at /dev/disk. You might want
> to use fstab entries and the root entry in your grub/menu.lst
> using /dev/disk/by-label.
>
His problem is cropping up when attempting to mount the root filesystem,
before udev can even start.
| |
| Ben Peddell 2007-04-18, 7:13 am |
| Jan Met De Pet wrote:
> On Tue, 17 Apr 2007 16:42:23 +1000, Ben Peddell
> <klightspeed@netspace.net.au> wrote:
>
>
> As I understand it a disklabel is an allternative to a "normal" PC
> partition table, so that's not a viable way to go (same disk has
> Windows partitions); but EVMS looks promising, I'll try setting that
> up - thanks.
>
Sorry. I meant blkid. --disklabel is the option in genkernel to enable
blkid in its initrds.
libblkid allows you to mount devices by label, type or UUID.
> It's odd that debian doesn't have an out-of-the-ox solution for this;
> I would expect similar numbering issues to occur when using
> USB-attached storage.
Try initrd-tools or initramfs-tools.
Before you try the initrd, make sure you have some way to recover.
With an initrd installed, try e.g. (with grub, assuming /dev/sda1 is /boot):
kernel=(hd0,0)/vmlinuz root=LABEL=linux_root <your other kernel options>
initrd=(hd0,0)/initrd
| |
| Andreas Janssen 2007-04-18, 1:14 pm |
| Hello
Ben Peddell (<nothamtrap@hotmail.com> ) wrote:
> Andreas Janssen wrote:
>
> His problem is cropping up when attempting to mount the root
> filesystem, before udev can even start.
If you use initramfs-tools, which is the default for new installations
or upgrades from Sarge, udev is included in the initrd and loaded
before the root fs is mounted.
regards
Andreas Janssen
--
Andreas Janssen <andreas.janssen@bigfoot.com>
PGP-Key-ID: 0xDC801674 ICQ #17079270
Registered Linux User #267976
http://www.andreas-janssen.de/debian-tipps-sarge.html
| |
| Jan Met De Pet 2007-04-21, 1:13 pm |
| On Tue, 17 Apr 2007 22:39:27 +0200, Andreas Janssen
<andreas.janssen@bigfoot.com> wrote:
>Hello
>
>Jan Met De Pet (<john.with-the-clack@fake-email.com> ) wrote:
>
>
>If you use udev with kernel 2.6, you can address disks by other criteria
>that the normal device name. Take a look at /dev/disk. You might want
>to use fstab entries and the root entry in your grub/menu.lst
>using /dev/disk/by-label.
>
>regards
> Andreas Janssen
Yeah, I saw those today; will have to use uuid though, I didn't see an
option to set a label on my root filesystem when creating it (it's
ReiserFS), so it doesn't show up in the by-label category.
In any case, thanks for clearing this up, looks like I'll get things
booting normally soon :-)
Would be nice if there was an additional table used by udev to map the
raw disk id (WDC_BLAH) to a (shorter) "friendly name", but this looks
like it will do nicely.
| |
| Kees Theunissen 2007-04-21, 7:13 pm |
| Jan Met De Pet wrote:
> On Tue, 17 Apr 2007 22:39:27 +0200, Andreas Janssen
>
> Yeah, I saw those today; will have to use uuid though, I didn't see an
> option to set a label on my root filesystem when creating it (it's
> ReiserFS), so it doesn't show up in the by-label category.
I'm working on a Slackware 11.0 at the moment, and I'm too lazy to
check a Debian system.
From the mkreiserfs(8) manpage on this Slack box:
-l | --label LABEL
Sets the volume label of the filesystem. LABEL can at most
be 16 characters long; if it is longer than 16 characters,
mkreiserfs will truncate it.
There is a tool on the Slack box that can be used to set or change
the label of an existing reiser file system: reiserfstune. I'm sure
that it is available on Debian too.
From the reiserfstune(8) manpage:
-l | --label LABEL
Set the volume label of the filesystem. LABEL can be
at most 16 characters long; if it is longer than 16 char-
acters, reiserfstune will truncate it.
Regards,
Kees,
--
Kees Theunissen.
|
|
|
|
|