List Info

Thread: Re: QLA2xxx




Re: QLA2xxx
country flaguser name
United States
2008-02-28 15:39:05
All,

Thanks for the tips. I'm not sure how it'll all work out
right now.
They might provide a method for booting the system via the
CD, but then
the only viable option after that seems to be using the
specified patch
in kernel builds so that we can boot and gain access to the
hard drive.

The system only has one hard drive, which is attached via
the QLA2xxx
controller - so I don't see how relying on udev to load the
firmware
would solve the problem of accessing the only hard drive in
the
system...

It does occur to me that there might be another slight
solution to the
problem, from which udev could then be relied on - using an
initrd
image, or booting using another device from which udev could
be
utilized.

I'd rather not have to leave a floppy (yes the system has a
floppy) or
CD in the drive all the time, from which it would load an
initrd image
containing udev, the firmware, and whatever else would be
needed; but
it seems the only other method would be to use a USB Storage
device.

Does anyone know if the OpenBoot PROM on the SunBlade 2000
will boot a
USB device? The Service manual seems to indicate it would
for a 100 or
250 Iomega Zip Drive (can you even get those anymore?!!) but
that too
is not an ideal solution. I'd rather be able to get a USB
Stick (2
GB?), or even a USB Hard Drive (e.g. WD Passport or the
likes) that
could hold the base system and boot from that. Anyone know
if that
would work?

Might one need to upgrade the OpenBoot PROM to to so? If so,
how and
where do I get the new image?

My only other alternative is to go and get OpenSolaris and
try that
out. (Hopefully it won't have the same issue.)

Any how...thanks for all the helpful tips & everything.

Ben



--- Ivan Kabaivanov <chepatiyahoo.com> wrote:

> On Thursday 21 February 2008 14:50, Friedrich Oslage
wrote:
> > Hi,
> >
> > > The problem comes from the fact that the
firmware is in the disk
> at
> > > /lib/firmware starting from kernel 2.6.18 or
something. If you
> boot
> > > the 2617 from the CD it will probably work
fine.
> > > Anyway even creating a proper initrd with
that /lib/firmware the
> > > kernel does not load it. Don't know why.
> >
> > Using an initrd works fine for me, you probably
just forgot to put
> udev
> > in it.
> >
> > My initrd basicly looks like this:
> > /dev/console
> > /dev/null
> > /bin/busybox
> > /bin/udevd
> > /lib/udev/firmware.sh
> > /lib/udev/udev.conf
> > /lib/udev/rules.d/50-udev.rules
> > /firmware/ql2200_fw.bin
> > /lib/modules/`uname -r`/modules.dep
> > /lib/modules/`uname
-r`/kernel/drivers/scsi/qla2xxx/qla2xxx.ko
> > /linuxrc
> >
> > The script I used to create it is available 
> > http
://porno-bullen.de/~bluebird/initrd-qla2xxx/ but don't
blame me
> if
> > it doesn't work ;)
> >
> > Cheers,
> > bluebird
> 
> 
> This is the preferred method -- to let udev handle the
firmware
> loading.  
> However if you don't have udev in the initrd or it
doesn't work, all
> is not 
> lost.  There's a way to manually load the firmware, but
it's tricky. 
> It's 
> tricky because you have to be very quick -- you'll have
maybe up to
> 4-5 
> seconds to load the firmware.  Here's how:
> 
> 1) boot the machine (either with an initrd from the
hard drive or
> with an 
> installation cd.)
> 2) drop to a shell somehow -- I don't run gentoo so I
don't know if
> the 
> installer has this option but debian does and so does
ubuntu for
> sparc.
> 3) Load qla2xxx.ko (just modprobe qla2xxx)
> 4) Find out the device path in /sys (on my sunfire280r

> it's /sys/devices/pci0001:00/0001:00:04.0/)  It
might take you a
> few tries 
> to find out.  Look for a file
> /sys/devices/pci0001:00/0001:00:04.0/obppath
> with this line
> /pci8,600000/SUNW,qlc4. (the numbers are not
important.  the
> important part 
> is the qlc bit)
> 5) Type this: echo 1 >
/sys/devices/pci0001:00/0001:00:04.0/loading
> 6) Type cat /lib/firmware/ql2200_fw.bin 
> > /sys/devices/pci0001:00/0001:00:04.0/data (this is
one line)
> 7) Type echo 0 >
/sys/devices/pci0001:00/0001:00:04.0/loading
> 
> for 5), 6) and 7) you'll get error message file not
found.  It
> doesn't matter.  
> The point is to cache these three command into the
shell history so
> you can 
> recall them quickly when you need them.  Remember, you
have a window
> of a few 
> seconds and regardless how fast you type you won't make
it without
> using 
> cached commands.
> 
> 8) Unload qla2xxx (rmmod qla2xxx)
> 9) Now load the kernel module again (modprobe qla2xxx).
 The clock
> starts 
> ticking now.  The module tells the kernel that it needs
a firmware
> before the 
> hardware can be initialized.  The module creates a
device path in
> /sys and 
> creates two files, loading and data.
> 10) Quickly recall from history the command from 5) and
press enter
> 11) Quickly recall from history the command from 6) and
press enter
> 12) Quickly recall from history the command from 7) and
press enter
> 
> You'll see messages that the card was initialized.  Now
you can load
> sd_mod.  
> If you had to resort to this, then chances are you
don't have udev
> running so 
> you may have to manually create the device nodes in
/dev.  For your 
> convenience:
> 
> brw-rw---- 1 root disk 8,  0 2008-02-21 15:03 /dev/sda
> brw-rw---- 1 root disk 8,  1 2008-02-21 15:03
/dev/sda1
> brw-rw---- 1 root disk 8,  2 2008-02-21 15:03
/dev/sda2
> brw-rw---- 1 root disk 8,  3 2008-02-21 15:03
/dev/sda3
> brw-rw---- 1 root disk 8,  4 2008-02-21 15:03
/dev/sda4
> brw-rw---- 1 root disk 8,  5 2008-02-21 15:03
/dev/sda5
> brw-rw---- 1 root disk 8, 16 2008-02-21 15:03 /dev/sdb
> brw-rw---- 1 root disk 8, 17 2008-02-21 15:03
/dev/sdb1
> brw-rw---- 1 root disk 8, 18 2008-02-21 15:03
/dev/sdb2
> brw-rw---- 1 root disk 8, 19 2008-02-21 15:03
/dev/sdb3
> brw-rw---- 1 root disk 8, 20 2008-02-21 15:03
/dev/sdb4
> 
> Once you have all the device nodes in /dev you can go
back to the
> installer 
> and resume.  Make sure you install udev and make sure
you copy the
> binary 
> firmware into /lib/firmware.
> 
> If you're not fast enough the two files loading and
data will
> disappear.  If 
> this happens, don't worry, just unload qla2xxx and load
it again, and
> this 
> time make sure you're faster 
> 
> I've done this in the past and I can guarantee that it
works.
> 
> 2.6.17 was the last kernel where the fimrware was built
into the
> module and 
> you didn't have to load it separately.  If you can live
with that old
> kernel, 
> you can downgrade.
> 
> IvanK.
> 
> -- 
> gentoo-sparclists.gentoo.org mailing list
> 
> 

-- 
gentoo-sparclists.gentoo.org mailing list


Re: QLA2xxx
country flaguser name
United States
2008-02-28 16:05:20
On Thursday 28 February 2008 16:39, BRM wrote:
> All,
>
> Thanks for the tips. I'm not sure how it'll all work
out right now.
> They might provide a method for booting the system via
the CD, but then
> the only viable option after that seems to be using the
specified patch
> in kernel builds so that we can boot and gain access to
the hard drive.
>
> The system only has one hard drive, which is attached
via the QLA2xxx
> controller - so I don't see how relying on udev to load
the firmware
> would solve the problem of accessing the only hard
drive in the
> system...



Ben,

if nobody explicitly mentioned it, it's because we all
either forgot, or took 
it as common knowlegde -- you do need an initramfs in order
to bootstrap the 
init process on QLA2xxx machines.

OBP knows how to load silo, silo knows how to load the
kernel.  Things break 
when the kernel tries to find the root device and that's
where you need an 
initramfs.  You can roll your own.  All it needs is the
firmware 
in /lib/firmware/, udev, qla2xxx.ko, scsi.ko, sd_mod.ko,
ext3.ko, and any 
other modules you may need, and udev.  You also need
/etc/udev with 
appropriate rules, /lib/udev and all the udev helpers,
especially 
firmware.sh.  Your /init script needs to mount /proc, /sys,
/dev, start udev 
and load qla2xxx.ko.  udev will take care of firmware
loading.  After that 
just switch_root.

IvanK.



>
> It does occur to me that there might be another slight
solution to the
> problem, from which udev could then be relied on -
using an initrd
> image, or booting using another device from which udev
could be
> utilized.
>
> I'd rather not have to leave a floppy (yes the system
has a floppy) or
> CD in the drive all the time, from which it would load
an initrd image
> containing udev, the firmware, and whatever else would
be needed; but
> it seems the only other method would be to use a USB
Storage device.
>
> Does anyone know if the OpenBoot PROM on the SunBlade
2000 will boot a
> USB device? The Service manual seems to indicate it
would for a 100 or
> 250 Iomega Zip Drive (can you even get those
anymore?!!) but that too
> is not an ideal solution. I'd rather be able to get a
USB Stick (2
> GB?), or even a USB Hard Drive (e.g. WD Passport or the
likes) that
> could hold the base system and boot from that. Anyone
know if that
> would work?
>
> Might one need to upgrade the OpenBoot PROM to to so?
If so, how and
> where do I get the new image?
>
> My only other alternative is to go and get OpenSolaris
and try that
> out. (Hopefully it won't have the same issue.)
>
> Any how...thanks for all the helpful tips &
everything.
>
> Ben
>
> --- Ivan Kabaivanov <chepatiyahoo.com> wrote:
> > On Thursday 21 February 2008 14:50, Friedrich
Oslage wrote:
> > > Hi,
> > >
> > > > The problem comes from the fact that the
firmware is in the disk
> >
> > at
> >
> > > > /lib/firmware starting from kernel
2.6.18 or something. If you
> >
> > boot
> >
> > > > the 2617 from the CD it will probably
work fine.
> > > > Anyway even creating a proper initrd
with that /lib/firmware the
> > > > kernel does not load it. Don't know
why.
> > >
> > > Using an initrd works fine for me, you
probably just forgot to put
> >
> > udev
> >
> > > in it.
> > >
> > > My initrd basicly looks like this:
> > > /dev/console
> > > /dev/null
> > > /bin/busybox
> > > /bin/udevd
> > > /lib/udev/firmware.sh
> > > /lib/udev/udev.conf
> > > /lib/udev/rules.d/50-udev.rules
> > > /firmware/ql2200_fw.bin
> > > /lib/modules/`uname -r`/modules.dep
> > > /lib/modules/`uname
-r`/kernel/drivers/scsi/qla2xxx/qla2xxx.ko
> > > /linuxrc
> > >
> > > The script I used to create it is available

> > > http
://porno-bullen.de/~bluebird/initrd-qla2xxx/ but don't
blame me
> >
> > if
> >
> > > it doesn't work ;)
> > >
> > > Cheers,
> > > bluebird
> >
> > This is the preferred method -- to let udev handle
the firmware
> > loading.
> > However if you don't have udev in the initrd or it
doesn't work, all
> > is not
> > lost.  There's a way to manually load the
firmware, but it's tricky.
> > It's
> > tricky because you have to be very quick -- you'll
have maybe up to
> > 4-5
> > seconds to load the firmware.  Here's how:
> >
> > 1) boot the machine (either with an initrd from
the hard drive or
> > with an
> > installation cd.)
> > 2) drop to a shell somehow -- I don't run gentoo
so I don't know if
> > the
> > installer has this option but debian does and so
does ubuntu for
> > sparc.
> > 3) Load qla2xxx.ko (just modprobe qla2xxx)
> > 4) Find out the device path in /sys (on my
sunfire280r
> > it's /sys/devices/pci0001:00/0001:00:04.0/)  It
might take you a
> > few tries
> > to find out.  Look for a file
> > /sys/devices/pci0001:00/0001:00:04.0/obppath
> > with this line
> > /pci8,600000/SUNW,qlc4. (the numbers are not
important.  the
> > important part
> > is the qlc bit)
> > 5) Type this: echo 1 >
/sys/devices/pci0001:00/0001:00:04.0/loading
> > 6) Type cat /lib/firmware/ql2200_fw.bin
> >
> > > /sys/devices/pci0001:00/0001:00:04.0/data
(this is one line)
> >
> > 7) Type echo 0 >
/sys/devices/pci0001:00/0001:00:04.0/loading
> >
> > for 5), 6) and 7) you'll get error message file
not found.  It
> > doesn't matter.
> > The point is to cache these three command into the
shell history so
> > you can
> > recall them quickly when you need them.  Remember,
you have a window
> > of a few
> > seconds and regardless how fast you type you won't
make it without
> > using
> > cached commands.
> >
> > 8) Unload qla2xxx (rmmod qla2xxx)
> > 9) Now load the kernel module again (modprobe
qla2xxx).  The clock
> > starts
> > ticking now.  The module tells the kernel that it
needs a firmware
> > before the
> > hardware can be initialized.  The module creates a
device path in
> > /sys and
> > creates two files, loading and data.
> > 10) Quickly recall from history the command from
5) and press enter
> > 11) Quickly recall from history the command from
6) and press enter
> > 12) Quickly recall from history the command from
7) and press enter
> >
> > You'll see messages that the card was initialized.
 Now you can load
> > sd_mod.
> > If you had to resort to this, then chances are you
don't have udev
> > running so
> > you may have to manually create the device nodes
in /dev.  For your
> > convenience:
> >
> > brw-rw---- 1 root disk 8,  0 2008-02-21 15:03
/dev/sda
> > brw-rw---- 1 root disk 8,  1 2008-02-21 15:03
/dev/sda1
> > brw-rw---- 1 root disk 8,  2 2008-02-21 15:03
/dev/sda2
> > brw-rw---- 1 root disk 8,  3 2008-02-21 15:03
/dev/sda3
> > brw-rw---- 1 root disk 8,  4 2008-02-21 15:03
/dev/sda4
> > brw-rw---- 1 root disk 8,  5 2008-02-21 15:03
/dev/sda5
> > brw-rw---- 1 root disk 8, 16 2008-02-21 15:03
/dev/sdb
> > brw-rw---- 1 root disk 8, 17 2008-02-21 15:03
/dev/sdb1
> > brw-rw---- 1 root disk 8, 18 2008-02-21 15:03
/dev/sdb2
> > brw-rw---- 1 root disk 8, 19 2008-02-21 15:03
/dev/sdb3
> > brw-rw---- 1 root disk 8, 20 2008-02-21 15:03
/dev/sdb4
> >
> > Once you have all the device nodes in /dev you can
go back to the
> > installer
> > and resume.  Make sure you install udev and make
sure you copy the
> > binary
> > firmware into /lib/firmware.
> >
> > If you're not fast enough the two files loading
and data will
> > disappear.  If
> > this happens, don't worry, just unload qla2xxx and
load it again, and
> > this
> > time make sure you're faster 
> >
> > I've done this in the past and I can guarantee
that it works.
> >
> > 2.6.17 was the last kernel where the fimrware was
built into the
> > module and
> > you didn't have to load it separately.  If you can
live with that old
> > kernel,
> > you can downgrade.
> >
> > IvanK.
> >
> > --
> > gentoo-sparclists.gentoo.org mailing list

-- 
gentoo-sparclists.gentoo.org mailing list


[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )