Topic: OpenBSD on Novena

FYI, the latest snapshot releases of OpenBSD will boot on Novena. It's still very rough: no SMP, flaky USB and support for the eeprom (so no MAC addr on the IMX ethernet), but it gets to multi-user and could probably compile its own kernel given the chance.

Jonathan Grey did the work of preparing a kernel configuration for Novena and fixing the memory handling bugs that prevented it from booting.

http://pastebin.com/raw.php?i=dr2qZSi2 is a boot log

To try it out, the easiest way is to setup tftp server and configure DHCP to tell Novena about it. Then boot/reset with the user button held down, ^C when prompted and issue the following u-boot commands:

setenv machid 10ad
setenv loadaddr 0x10800000
dhcp
bootm

Note that u-boot doesn't seem to fully reset the ethernet controller/MAC. If you experience partial transfers that abort due to timeouts during the 'dhcp' command then a workaround is to completely remove power from Novena and try again after a minute or three.

If you get OpenBSD installed, to keep it booting you'll need to put a copy bsd.*IMX.umg on the sdcard's /boot partition via Linux (OpenBSD can't access the sdcard yet) and adjust u-boot to fatload it. Something like:

setenv machid 10ad
setenv loadaddr 0x10800000
fatload mmc 0 0x10800000 bsd.IMG.umg
bootm

Will get it going.

Re: OpenBSD on Novena

Very nice! I would love to run OpenBSD (or maybe Bitrig) on my Novena. I'll try the network boot process on my laptop ...

What would be the best way to create a OpenBSD sdcard? I.e. a bootable system that I can plug in instead of the current debian image.

Can I help in any way with the porting process?

Cheers,
Robb.

Re: OpenBSD on Novena

First, a general update:

USB does work, but the USB-attached ethernet AX88772B doesn't. I suspect a GPIO needs flipping or a driver bug.

The I.MX ethernet is now working reliably on the latest kernels, but I'm not sure whether these fixes have made it into a released snapshot yet.

It's quite reliable on SSD and is able to fully rebuild the kernel+userland.

In answer to your questions:

sdcard access from OpenBSD (either internal or external) isn't working yet unfortunately. I haven't figured out why, but it's probably a GPIO thing again.

To get OpenBSD working, you could download bsd.rd.IMX.umg to /boot on the internal sdcard or boot via TFTP. Attach either a SSD or a USB stick to install too and run the commands I originally posted to load and run the installer kernel. You should be able to complete an install to SSD or a USB drive at present (assuming the I.MX ethernet fixes are in the snapshot otherwise it will be slow and flaky).

If you install to SSD then you can create a small FAT filesystem and you'll be able to load u-bootified kernels directly off it. If you install to a USB stick, you'll have to mule the kernels back to the internal sdcard's /boot via Linux until one of us gets the sdcard support unbroken.

As far as helping with porting, there's still heaps to do:

i2c is flaky and is needed to get to the eeprom with display config to write a wsdisplay driver to get the screen working (only three steps in this yak shave). There's a small AX25 EEPROM driver in bitrig that could be modified for the 2nd step. Bitrig also has a better I2C driver, but I didn't manage to get it working reliably.

The sdcard and AX ethernet problems need to be figured out.

There are quite a few I2C drivers that could be written, e.g. for the MEMS gyro/accellerometer and various other things.

PCIe needs to be got working

A lot of problems would be easier if OpenBSD had good FDT support...

Longer-term goals: SMP, FPGA kernel driver, X11

Re: OpenBSD on Novena

Hello

cool openbsd on novena would be so perfect! Is this effort still on-going?
I'm just starting to look at it, will try to boot and play around see if I can tackle with it

cheers

Re: OpenBSD on Novena

Hoi,

I just tried it boots/install to start playing around, i partitioned the SSD to install on it, changed the bootargs, added the (bsd.rd.umg for install) then the bsd.umg installed on the msdos partition i left untouched and that is used for booting (by u-boot IIUC).

it starts the boot sequence until i reach the kernel debugger with some panic following is the dump:
http://pastebin.com/L7rRMftj

any ideas? i tried with 5.8 released files as well as snapshots from 18 december armv7 same error.

6 (edited by eau 2015-12-23 22:38:03)

Re: OpenBSD on Novena

ah yes btw the install kernel (bsd.rd) went perfectly fine and I could partition/install perfectly fine, which is weird.
I guess I'm missing something here..

FYI, i tried to boot from mmc and/or sata:

=> fatinfo sata 0:1
Interface:  SATA
  Device 0: Model: Samsung SSD 840 EVO 250GB Firm: EXT0CB6Q Ser#: S1DBNSBFA74985D
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 238475.1 MB = 232.8 GB (488397168 x 512)
Filesystem: FAT16 "NO NAME    "
=> fatls sata 0
    35840   u-boot.spl
   305148   u-boot.img
  3602272   zimage
    39800   novena.dtb
  3602272   zimage.recovery
    39800   novena.recovery.dtb
  4628976   bsd.umg
  8026368   bsdrd.umg

8 file(s), 0 dir(s)

=> fatls mmc 0
    44032   u-boot.spl
   302172   u-boot.img
  5615744   zimage
    41415   novena.dtb
  3602272   zimage.recovery
    39800   novena.recovery.dtb
  7590083   bsd.rd
  8026368   bsd.rd.imx.umg
  4668736   bsd.imx.umg

9 file(s), 0 dir(s)

Re: OpenBSD on Novena

ok my bad, for some reason, I fucked up the disklabel, hence the error... I reinstalled and it's fixed now.
I can boot perfectly, starting to tickle around what you mentionned earlier, seeing what can be done/adapted/ported to make it work and usable as a work/hw dev station
any suggestion on where to start?