Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-sparc
Navigation:
Lists: gentoo-sparc: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-sparc@g.o
From: BRM <bm_witness@...>
Subject: Re: QLA2xxx
Date: Thu, 28 Feb 2008 14:55:17 -0800 (PST)
Thanks. Quick additional Q though - 

where's the best place to store the initrd? USB? Floppy? CD?

As I said earlier, I have my preference, but any tips would certainly
be welcome.

Thanks!

Ben


--- Ivan Kabaivanov <chepati@...> wrote:

> 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 <chepati@...> 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
> > > /pci@8,600000/SUNW,qlc@4. (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-sparc@g.o mailing list
> 
> -- 
> gentoo-sparc@g.o mailing list
> 
> 

-- 
gentoo-sparc@g.o mailing list


Replies:
Re: QLA2xxx
-- Ivan Kabaivanov
References:
Re: QLA2xxx
-- Ivan Kabaivanov
Navigation:
Lists: gentoo-sparc: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: QLA2xxx
Next by thread:
Re: QLA2xxx
Previous by date:
Re: QLA2xxx
Next by date:
Re: QLA2xxx


Updated Jun 17, 2009

Summary: Archive of the gentoo-sparc mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.