On Thursday 28 February 2008 16:39, BRM wrote:
> 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
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
> 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
> 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.
> --- 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.
> > --
> > firstname.lastname@example.org mailing list
email@example.com mailing list