Re: bus-master DMA error (was: stability of Cobalt Qube 2)
Andy Ruhl <[email protected]> Tue, 24 Apr 2012 07:58:39 -0700
| Newsgroups | gmane.os.netbsd.ports.cobalt |
|---|---|
| Message-ID | <CAJcb3foq2=32gd8NN=n_j+0Kg8gY_w4i1zFR=FEnmWM6DySLpA@mail.gmail.com> |
On Tue, Apr 24, 2012 at 5:34 AM, <[email protected]> wrote: > 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 diff= icult. > I think I have 2 problems: > 1) I don't have another BSD machine, so I would need to build the new ker= nel 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-mas= ter 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 pos= sible to "borrow" a kernel (kernels seem quite small), just to try if my pr= oblems 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:[email protected]:/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=3DGENERIC (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 Andy