Myself and a colleague are developing a new Cortex-A9-based router. I would like to use OpenBSD as the O.S. for reasons of the security credentials that OpenBSD has. I have made a start in getting OpenBSD running on the hardware but at the moment, the only tool I can use for debugging is a JTAG debugger as I am working on getting a serial-port driver working. I would very much appreciate some assistance from the ARM hardware gurus on this list to make sure that I am doing things the "OpenBSD way" and not making any fundamental errors through ignorance. If I was trying to get FreeBSD running, what I would do as a first step would be to build an image using the nearest supported platform. The OpenBSD sources only appear to use the GENERIC and RAMDISK templates. I have built the cross tools here on my development machine which is running OpenBSD5.9 and am using the source from this release as the starting-point for development. I have a BeagleBoneBlack which runs the bsd.rd.OMAP.umg from the 6.0 tree. I then tried building a BEAGLEBONE image using the RAMDISK template as my starting point. This works and produces a bsd ELF-32 kernel image. I can tftp this across to the BeagleBoneBlack using the U-boot that comes with the board but when I try running this, bootm does not recognize the image as a valid one. What I would appreciate in the first instance is a list of step-by-step instructions on how to recreate the bsd.rd.OMAP.umg image on my development machine in order to validate the build process and build environment on my machine. I have spent many hours looking through the archives of this list looking for relevant threads. In the past, I have worked on a PCI-based WiFi card fitted to a PC and am happy with building the native GENERIC kernel and hacking the source code to get the WiFi card working but I have never built a bsd kernel for a new non-x86 hardware platform. I have read the relevant config and related man pages and have a copy of M.W. Lucas' book "Absolute OpenBSD" book and read the relevant section. The code I have built for my prototype hardware is valid ARM code and starts to run but falls over just after enabling the MMU. It is falling over somewhere in the initarm function but I am not sure where yet. Apologies for the length of this email - I was hoping to keep it short but with just enough detail to pique the interest of any guru who might be interested in offering some assistance and not annoy those who are not interested.
Thank you in anticipation.
David

Reply via email to