[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bus-master DMA error (was: stability of Cobalt Qube 2)
OMG, you guys are so helpful and compiling a netbsd kernel using below
instructions is even easier than compiling linux :)
I think I found the culprit. The 320 GB drive is fairly new and is probably not
telling the kernel which modes / DMA it supports. So I disabled DMA and PIO
modes alltogether (based on GENERIC config):
wd* at atabus? drive ? flags 0x0ff0
Now it boots just fine (great!). Thank you very much for your help.
----- Original Message -----
From: "Andy Ruhl" <acruhl%gmail.com@localhost>
To: "kenneth westelinck" <kenneth.westelinck%telenet.be@localhost>
Cc: "Mike Hebel" <nimitz%nimitzbrood.com@localhost>, "Erik Berls"
Sent: Tuesday, April 24, 2012 4:58:39 PM
Subject: Re: bus-master DMA error (was: stability of Cobalt Qube 2)
On Tue, Apr 24, 2012 at 5:34 AM, <kenneth.westelinck%telenet.be@localhost>
> Yes, I can imagine you can strip a lot of things from the kernel and make it
> small. When I was young, I used to strip Linux kernels to run on a 486, but
> creating a custom kernel for a netbsd machine seems a little more difficult.
> I think I have 2 problems:
> 1) I don't have another BSD machine, so I would need to build the new kernel
> on the Qube. For this to work, I need some more space and I don't have a lot
> of free space left on the CF (the CF is only 1 GB). I also think this might
> take a long time (?).
> 2) Suppose I manage to build a custom kernel, will this solve my "bus-master
> DMA error". As far as I know, the GENERIC kernel is similar to a Linux kernel
> with all of the modules compiled in it (right?). So, even if I strip stuff
> out, I am not sure if this will make my problems disappear.
> Since there are some people on this list owning a Qube 2, would it be
> possible to "borrow" a kernel (kernels seem quite small), just to try if my
> problems go away?
> I am now running 5.1.3, also tried 6.0_BETA, still same issue :(
You can build a kernel on Linux. Cross builds are no problem.
Go somewhere on the Linux machine, and do this:
mkdir src tools obj
cvs -d :pserver:anoncvs%anoncvs.netbsd.org@localhost:/cvsroot checkout -PA
This will get you the latest 5.x source tree.
From there you need to cross build a kernel. I'm short on time, so briefly:
go to src/sys/arch/cobalt/conf/
copy GENERIC to some other name, and edit it and save it.
go back to src
./build.sh -m cobalt -T ../tools -O ../obj kernel=GENERIC (but not
GENERIC, whatever you called it)
After a while it will end up in the obj/sys/..... path called netbsd.
Put it in / on the cobalt, and rename the old kernel netbsd.old
Have your serial cable ready for when it doesn't boot. You can
interrupt the netbsd bootloader and tell it to boot the old kernel
Main Index |
Thread Index |