On Mon, Mar 14, 2016 at 09:07:37AM +0000, Roderick wrote: > What about AMD Opteron A-Series? Does OpenBSD run on it? > > http://www.amd.com/en-us/products/server/opteron-a-series > > Rodrigo. >
The raspberry pi 3 has its good and bad sides. It's easy to use, everywhere available and rather cheap. Yes, there's the ODROID-C2 which is similarly cheap and better, but the raspberry pi might actually be easier to support. First of all, the blobs. Every ARM machine has some kind of blob. Some are hidden, like stored on a flash. Some are visible, e. g. stored on the SD card. The raspberry pi is of the latter. Its blobs have to be stored on the SD card so that it can boot. The Cubox-i is similar, it also needs a blob on the SD card. The difference though is that the cubox blobs can be compiled from some u-boot repository on github. The raspberry pi blobs are not open source. Still, both have blobs that run as part of the boot stage, and are not driver blobs that have to be run on the CPU, like a kernel module. Though, the raspberry pi blobs are a bit special. They actually run on the GPU, not the CPU, and take care of the boot stage. This means that the GPU is booted first, from a blob stored on the SD card, which then loads the kernel from the SD card into memory, and then starts the CPU. That's not nice. There's no IOMMU, though we can't secure ourselves against malicious memory access from the GPU. But I'm not sure that's much worse than other machines, where the blob isn't visible. The USB Controller is crap, but it's the same as the octeon, so we got a driver for that. HDMI is controlled by the GPU. For a simple framebuffer the GPU provides an interface to ask for framebuffer memory. This means it's comparatively easy to actually have HDMI output: you just ask the GPU's API to kindly provide it. Making OpenBSD run on the raspberry pi is feasible, though (without adding hacks) it's only feasible with proper device tree support, which is a work in progress at the moment. The AMD machine is quite nice actually. As it's based on a Cortex-A57, which is backwards compatible to 32-bit armv7, it might be possible to run OpenBSD/ARMv7 on it. For that we will need some kind of mechanism to boot a 32-bit kernel. The machine, as far as I know, boots using UEFI. So maybe we'll need an efiboot for ARMv8, which can boot an ARMv7 kernel. Or maybe one can use u-boot as a payload for EFI? No idea. Also one needs to port the 10 GbE ethernet controller driver, or write a new one. The one in linux is dual-licensed, so in theory it could be pulled over. Oh, and that machine is kind of expensive. But there'll be $300 USD 96boards (enterprise edition) available this year, which is much cheaper than the original devkit from AMD. That's my brain dump, hopefully that clears some things up. Patrick

