On 12/27/06, Ingo Schwarze <[EMAIL PROTECTED]> wrote:
Ryan Flannery wrote on Tue, Dec 26, 2006 at 07:26:59PM -0500:
> On 12/26/06, George C <[EMAIL PROTECTED]> wrote:

>> I just upgraded my 4.0 system to -current (GENERIC.MP),

You mean, before that, you had a 4.0-release or -stable system?
Just a wild guess since you explicitely mention the kernel:
Did you also extract the -current base40.tgz file set?

I had a 4.0-release install right from the cd pack.  I extracted the source
from the cd and then updated it to -current (both /usr/src and /usr/src/sys).
then i built the new kernel, reboot, and was going to build the userland
when i ran into the bnx firmware problem.

i installed the firmware following the instructions above, reboot, and then
attempted to build the userland.

In section 5.3.4 of the FAQ, after building & installing the new kernel...

 "At this point, reboot your machine to activate this new kernel. Note
   that the new kernel should be running before the next step, though if
   you have followed the above advice about upgrading to the most
   recent available snapshot, it may not matter as much. Sometimes,
   however, APIs change, and the old kernel will be unable to run new
   applications, but the new kernel will generally support the old ones."

however, when I went to build the userland (after rebooting with the new
kernel and rebooting after installing the bnx firmware), the build itself went
fine (as far as i can tell) but when it was installing everything, i got the
following kernel panic:

  uvm_fault(0xd0761680, 0xefd32000, 0, 1) -> e
  kernel: page fault trap, code=0
  Stopped at     pmap_page_remove_86+0x114:   movl   0(%eax, %edx, 4), %eax)
  ddb{3}>

(my USB keyboard stopped working at that point, and i could not obtain a 'ps'
or 'trace' output...my apologies)

when I reboot, I get the following error after "most" of the kernel
loads, right afer
the two bnx devices are found:

  init: not found
  panic: no init
  Stopped at     Debugger+0x4:   leave

I guess I should NOT have reboot before building the userland?  After
reading the portion of the FAQ I posted above, I thought rebooting would
be the 'safe' thing to do.

See http://www.openbsd.org/faq/faq5.html#Flavors:

|| Keeping Things in Sync
|| It is important to understand that OpenBSD is an Operating System,
|| intended to be taken as a whole, not a kernel with a bunch of
|| utilities stuck on.  You must make sure your kernel, "userland"
|| (the supporting utilities and files) and ports tree are all in
|| sync, or unpleasant things will happen.  Said another way (because
|| people just keep making the error), you can not run brand new ports
|| on a month old system, or rebuild a kernel from -current source and
|| expect it to work with a -release userland.

Note the last sentence in particular.

>> and when I reboot, the two bnx devices could not find firmware
>> in /etc/firmware.  It appears to be looking for /etc/firmware/bnx,
>> but that file is not present.

> try the following:
> # cd /usr/src/sys/dev/microcode/bnx
> # make
>
> that should produce a file named 'bnx' in that directory.  copy it to
> /etc/firmware and reboot.

That may solve the immediate problem, but i suspect you might have
more problems than you noticed yet.

>> I can reboot the old kernel just fine (so it appears the old bnx
>> driver did not require it).  Curious how/where the new firmware for
>> bnx is located at, and where I can obtain a copy.
>>
>> Is there some step I missed in the upgrade procedure that builds/adds
>> these firmware files?  or is this simply done separately?

No, at least on i386, they are just contained in base40.tgz.

>> I followed the FAQ.

Very strange.  After properly updating to 4.0-current on i386,
/etc/firmware/bnx is in place.  I just did a source upgrade of
my development machine tonight:

[EMAIL PROTECTED] $ sysctl kern.version
kern.version=OpenBSD 4.0-current (GENERIC) #3: Tue Dec 26 20:45:43 CET 2006
    [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
[EMAIL PROTECTED] $ grep bnx make-061226.log | tail -n3
===> sys/dev/microcode/bnx
install -c -o root -g bin -m 644  bnx /etc/firmware
install -c -o root -g bin -m 644
  /usr/src/sys/dev/microcode/bnx/bnx-license /etc/firmware
[EMAIL PROTECTED] $ ll /etc/firmware/bnx
-rw-r--r--  1 root  bin  87616 Dec 27 01:26 /etc/firmware/bnx

The Dec 25 snapshot looks fine, too:

[EMAIL PROTECTED] $ tar -tzvf base40.tgz | grep 'etc.*bnx'
-rw-r--r--  1 root bin 87616 Dec 25 11:50 ./etc/firmware/bnx
-rw-r--r--  1 root bin  1946 Dec 25 11:50 ./etc/firmware/bnx-license

Obviously, something went wrong in your case.
Do not rely on the correctness of your system
before you understand what exactly was screwed up.

>> Also I've google'ed the archives/web for any answer to these
>> questions... unfortunately the web & mail archives are full of
>> references to the iwi firmware licensing issue, and little else.

Reply via email to