Port-cobalt archive

[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)

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 
-rnetbsd-5 src

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
something like:

boot hd0a:netbsd.old


Home | Main Index | Thread Index | Old Index