On Mon, Jul 04, 2016 at 09:49:57AM +0100, David Barrass wrote: > 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 >
If you're going to target anything target -current. There is now an efi bootloader instead of umg files. The hardcoded board id driven device tables are being migrated to dynamic device tree based configuration but that is not finished yet. Cortex A9 is rather vague, if you have specific problems with a specific soc mention them. cross-tools is intended for bootstrapping new architectures, build on real hardware. Keep in mind there is a reason the armv7 port is filed under "current porting events" rather than "supported platforms" on the platforms page, there is still a lot of things to work on.