Gentoo Archives: gentoo-sparc

From: BRM <bm_witness@×××××.com>
To: gentoo-sparc@l.g.o
Subject: Re: [gentoo-sparc] QLA2xxx
Date: Thu, 28 Feb 2008 21:39:08
Message-Id: 352021.85709.qm@web65412.mail.ac4.yahoo.com
In Reply to: Re: [gentoo-sparc] QLA2xxx by Ivan Kabaivanov
1 All,
2
3 Thanks for the tips. I'm not sure how it'll all work out right now.
4 They might provide a method for booting the system via the CD, but then
5 the only viable option after that seems to be using the specified patch
6 in kernel builds so that we can boot and gain access to the hard drive.
7
8 The system only has one hard drive, which is attached via the QLA2xxx
9 controller - so I don't see how relying on udev to load the firmware
10 would solve the problem of accessing the only hard drive in the
11 system...
12
13 It does occur to me that there might be another slight solution to the
14 problem, from which udev could then be relied on - using an initrd
15 image, or booting using another device from which udev could be
16 utilized.
17
18 I'd rather not have to leave a floppy (yes the system has a floppy) or
19 CD in the drive all the time, from which it would load an initrd image
20 containing udev, the firmware, and whatever else would be needed; but
21 it seems the only other method would be to use a USB Storage device.
22
23 Does anyone know if the OpenBoot PROM on the SunBlade 2000 will boot a
24 USB device? The Service manual seems to indicate it would for a 100 or
25 250 Iomega Zip Drive (can you even get those anymore?!!) but that too
26 is not an ideal solution. I'd rather be able to get a USB Stick (2
27 GB?), or even a USB Hard Drive (e.g. WD Passport or the likes) that
28 could hold the base system and boot from that. Anyone know if that
29 would work?
30
31 Might one need to upgrade the OpenBoot PROM to to so? If so, how and
32 where do I get the new image?
33
34 My only other alternative is to go and get OpenSolaris and try that
35 out. (Hopefully it won't have the same issue.)
36
37 Any how...thanks for all the helpful tips & everything.
38
39 Ben
40
41
42
43 --- Ivan Kabaivanov <chepati@×××××.com> wrote:
44
45 > On Thursday 21 February 2008 14:50, Friedrich Oslage wrote:
46 > > Hi,
47 > >
48 > > > The problem comes from the fact that the firmware is in the disk
49 > at
50 > > > /lib/firmware starting from kernel 2.6.18 or something. If you
51 > boot
52 > > > the 2617 from the CD it will probably work fine.
53 > > > Anyway even creating a proper initrd with that /lib/firmware the
54 > > > kernel does not load it. Don't know why.
55 > >
56 > > Using an initrd works fine for me, you probably just forgot to put
57 > udev
58 > > in it.
59 > >
60 > > My initrd basicly looks like this:
61 > > /dev/console
62 > > /dev/null
63 > > /bin/busybox
64 > > /bin/udevd
65 > > /lib/udev/firmware.sh
66 > > /lib/udev/udev.conf
67 > > /lib/udev/rules.d/50-udev.rules
68 > > /firmware/ql2200_fw.bin
69 > > /lib/modules/`uname -r`/modules.dep
70 > > /lib/modules/`uname -r`/kernel/drivers/scsi/qla2xxx/qla2xxx.ko
71 > > /linuxrc
72 > >
73 > > The script I used to create it is available @
74 > > http://porno-bullen.de/~bluebird/initrd-qla2xxx/ but don't blame me
75 > if
76 > > it doesn't work ;)
77 > >
78 > > Cheers,
79 > > bluebird
80 >
81 >
82 > This is the preferred method -- to let udev handle the firmware
83 > loading.
84 > However if you don't have udev in the initrd or it doesn't work, all
85 > is not
86 > lost. There's a way to manually load the firmware, but it's tricky.
87 > It's
88 > tricky because you have to be very quick -- you'll have maybe up to
89 > 4-5
90 > seconds to load the firmware. Here's how:
91 >
92 > 1) boot the machine (either with an initrd from the hard drive or
93 > with an
94 > installation cd.)
95 > 2) drop to a shell somehow -- I don't run gentoo so I don't know if
96 > the
97 > installer has this option but debian does and so does ubuntu for
98 > sparc.
99 > 3) Load qla2xxx.ko (just modprobe qla2xxx)
100 > 4) Find out the device path in /sys (on my sunfire280r
101 > it's /sys/devices/pci0001\:00/0001\:00\:04.0/) It might take you a
102 > few tries
103 > to find out. Look for a file
104 > /sys/devices/pci0001:00/0001:00:04.0/obppath
105 > with this line
106 > /pci@8,600000/SUNW,qlc@4. (the numbers are not important. the
107 > important part
108 > is the qlc bit)
109 > 5) Type this: echo 1 > /sys/devices/pci0001:00/0001:00:04.0/loading
110 > 6) Type cat /lib/firmware/ql2200_fw.bin
111 > > /sys/devices/pci0001:00/0001:00:04.0/data (this is one line)
112 > 7) Type echo 0 > /sys/devices/pci0001:00/0001:00:04.0/loading
113 >
114 > for 5), 6) and 7) you'll get error message file not found. It
115 > doesn't matter.
116 > The point is to cache these three command into the shell history so
117 > you can
118 > recall them quickly when you need them. Remember, you have a window
119 > of a few
120 > seconds and regardless how fast you type you won't make it without
121 > using
122 > cached commands.
123 >
124 > 8) Unload qla2xxx (rmmod qla2xxx)
125 > 9) Now load the kernel module again (modprobe qla2xxx). The clock
126 > starts
127 > ticking now. The module tells the kernel that it needs a firmware
128 > before the
129 > hardware can be initialized. The module creates a device path in
130 > /sys and
131 > creates two files, loading and data.
132 > 10) Quickly recall from history the command from 5) and press enter
133 > 11) Quickly recall from history the command from 6) and press enter
134 > 12) Quickly recall from history the command from 7) and press enter
135 >
136 > You'll see messages that the card was initialized. Now you can load
137 > sd_mod.
138 > If you had to resort to this, then chances are you don't have udev
139 > running so
140 > you may have to manually create the device nodes in /dev. For your
141 > convenience:
142 >
143 > brw-rw---- 1 root disk 8, 0 2008-02-21 15:03 /dev/sda
144 > brw-rw---- 1 root disk 8, 1 2008-02-21 15:03 /dev/sda1
145 > brw-rw---- 1 root disk 8, 2 2008-02-21 15:03 /dev/sda2
146 > brw-rw---- 1 root disk 8, 3 2008-02-21 15:03 /dev/sda3
147 > brw-rw---- 1 root disk 8, 4 2008-02-21 15:03 /dev/sda4
148 > brw-rw---- 1 root disk 8, 5 2008-02-21 15:03 /dev/sda5
149 > brw-rw---- 1 root disk 8, 16 2008-02-21 15:03 /dev/sdb
150 > brw-rw---- 1 root disk 8, 17 2008-02-21 15:03 /dev/sdb1
151 > brw-rw---- 1 root disk 8, 18 2008-02-21 15:03 /dev/sdb2
152 > brw-rw---- 1 root disk 8, 19 2008-02-21 15:03 /dev/sdb3
153 > brw-rw---- 1 root disk 8, 20 2008-02-21 15:03 /dev/sdb4
154 >
155 > Once you have all the device nodes in /dev you can go back to the
156 > installer
157 > and resume. Make sure you install udev and make sure you copy the
158 > binary
159 > firmware into /lib/firmware.
160 >
161 > If you're not fast enough the two files loading and data will
162 > disappear. If
163 > this happens, don't worry, just unload qla2xxx and load it again, and
164 > this
165 > time make sure you're faster :-)
166 >
167 > I've done this in the past and I can guarantee that it works.
168 >
169 > 2.6.17 was the last kernel where the fimrware was built into the
170 > module and
171 > you didn't have to load it separately. If you can live with that old
172 > kernel,
173 > you can downgrade.
174 >
175 > IvanK.
176 >
177 > --
178 > gentoo-sparc@l.g.o mailing list
179 >
180 >
181
182 --
183 gentoo-sparc@l.g.o mailing list

Replies

Subject Author
Re: [gentoo-sparc] QLA2xxx Ivan Kabaivanov <chepati@×××××.com>