OpenBSD Journal

Octeon and Beagle now Full-Fledged Architectures

Contributed by tbert on from the welcome-to-the-club-now-get-to-work dept.

As some of you may have noticed, the OpenBSD architecture family has two new members, Beagle and Octeon. Jasper Lievisse Adriaanse(jasper@) and Patrick Wildt(patrick@) were kind enough to tell us about their efforts bringing these ports up to spec.

patrick@

I just tried to get that new ARM stuff running. I based my work on a WIP diff from miod@, debugged its problems to get the systems to boot, fixed some panics and other problems. Also I worked on getting the L2 cache usable, for some additional speed, but that's not enabled in the tree. Plus, I worked on making some drivers more generic, by putting them on a cortex0-bus, instead of having them attach on beagle0 or so.

PandaBoard related I have mostly/only worked on EHCI/USB and the drivers which were needed to set it up (clock control, gpio, ...).

Future work? I've been working and progressing on:

  • SMP
  • hard-float userland
  • "one kernel for them (= boards) all"
  • flattened device tree support (correlates a lot with the item before)
  • FreeScale i.MX6 SoC (runs very well)
  • Samsung Chromebook (Exynos 5250)
The first four items will still take a while until I have something stable
and well written for OpenBSD, but it's ongoing (though slow, because
of -ETooManyProjects) work.

jasper@
OpenBSD/octeon is a port to systems with a Cavium Octeon (Plus) CPU using the MIPS64 architecture. This allows for using a lot of the low level MIPS64 code that's already part of OpenBSD. The port was originally developed by IIJ and imported into OpenBSD in 2010, however a lack of readily available hardware prevented this port from really taking off.

Then in 2013 Ubiquiti Networks released the EdgeRouter Lite (ERL) platform which sports an Octeon CPU. This sparked a renewed interest in the original port. The code that was already in OpenBSD was already fairly complete and just needed that final push to make it actually usable.

chris@ was friendly enough to send me an ERL as well as CAM-0100 board. The fact that the latter board had a CF slot made this my primary development board as currently it's the only way of having local storage on this platform. In the course of the next few months I worked on fixing various issues and wrote an installer to go along with it. During the t2k13 hackathon I also started working on sorting out the remaining issues with SMP support that was started by syuu@, and I also began working on a real bootloader. Neither of these are finished at the moment; but perhaps by the time OpenBSD 5.5 goes to the CD plant I have more to report on this.

There are still some outstanding projects such as USB support and a real standalone bootloader, but generally the port is maturing and 5.4 will be the first official release supporting OpenBSD/octeon.

Octeon hardware is still scarce among developers; do note that there is a request for various unsupported boards that will be able to run OpenBSD/octeon once a developer gets their hands on them.

(Comments are closed)


Comments
  1. By Renaud Allard (renaud) renaud@allard.it on

    This is really good news, congratulations.
    I think the "one kernel for them (= boards) all" would be marvellous. Keep up the good work.

  2. By Michael Schenck (96.239.100.47) mschenck@gmail.com on mschenck.com

    I'm pretty interested in the effort around supporting OpenBSD on the ARM-based Chromebook. Apologies for the newbie question, but where can I look to see what work is needed to support these neat little netbooks?

    Comments
    1. By raindog308 (174.25.127.166) raindog308@raindog308.com on http://www.vpsadvice.com

      > I'm pretty interested in the effort around supporting OpenBSD on the ARM-based Chromebook. Apologies for the newbie question, but where can I look to see what work is needed to support these neat little netbooks?

      Yes, that looks to be an ideal OBSD laptop. I'm partial to the SSD-drived Samsung Chrome 3 - cheap, full-size-ish keyboard, wireless, more than enough disk, etc.

      Might start by booting off a flash drive and seeing what dmesg has to report.

      The basic "how to boot off USB" is easy to find...for example:

      http://www.chromebook-linux.com/2011/11/booting-gnulinux-distribution-from-usb.html

      Might want to make a recovery disk first to restore your CB to pristine condition...just in case:

      https://support.google.com/chromeos/answer/1080595?hl=en

  3. By thomasw_ (thomasw_) thomas.wildeman@gmail.com on http://www.flickr.com/photos/thomasw_/

    this is fantastic news, i've been looking forward to running my beaglebone black with OpenBSD. what a splendidly tiny, portable and cost-effective system for so many uses, especially in education where money is always tight. thanks heaps for the stellar work so far!!! i think i will have to make another donation to the OpenBSD foundation to express a small fraction of my gratitude; if only i had more to offer... You devs rock :)

  4. By Motley Fool (MotleyFool) motleyfool@dieselrepower.org on

    I know at least one D-Link DSR-500 is in developer's hands. Anyone else willing to donate one?

  5. By kapu (kapu) kapu@lavabit.com on guntari.com

    Thank you very much for your work! I can't wait to get one of these boards. I'd like to see a video of your work on this. Too cool.

  6. By Janne Johansson (jj) jj@stacken.kth.se on http://www.inet6.se

    I just wanted to chip in with Brandon Mercers recount of the early stages which didn't make it into the article in time:
    Early on I was just trying to get the "experimental" beagle port to
    run on my Pandaboard. Shortly after that there was an arm hackathon
    that produced this giant diff. Shortly before g2k12 I got my hands on
    it and tried to see what it did. Patrick@ and I collaborated on making
    things work even though he wasn't at the hackathon. There were various
    things that needed ironed out to make it boot into multi user mode on
    -current. Fast forward a bit. There were a couple attempts to get this
    diff in tree but they failed because they broke the existing
    architectures. Eventually Patrick@ got things into tree which made it
    much easier to collaborate on changes. At the next general hackathon
    I'd hoped to bring the installer up to a usable state and get
    snapshots working, but those came a few weeks later. What I did start
    at the hackathon was porting the network driver over for the
    beaglebone. Now that we've got updated docs, snapshots, network and a
    working installer I hope that other folks can start to use OpenBSD on
    their arm boards. We've seen a couple new arm folks contributing
    recently which is really encouraging. It definitely helped take our
    beagle port to a supported platform.
    

  7. By sneaker (sneaker) sneaker@noahpugsley.net on octeon mailing list?

    Will there be an openbsd-octeon mailing list?

    Comments
    1. By Jasper (jasper) on

      > Will there be an openbsd-octeon mailing list?

      I don't think there's enough octeon-talk on the mailinglists yet to warrant that. But if you want to discuss octeon, please don't be afraid to use misc@ or tech@ ;-)

Latest Articles

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]