site  contact  subhomenews

Porting EasyOS to Rock64 is a work-in-progress

January 29, 2019 — BarryK

I do have Quirky Pyro64 0.9.6 on an SD-card booting on the Rock64, and it runs real nice. Remarkably nice, in fact -- unlike the sluggish Pi3, I get snappy performance, and have been using Quirky as a desktop system, browsing the web, compiling. Very nice.

The way that I created the Quirky Pyro64 SD-card was just to modify an Ubuntu image provided by Rockchip Linux developer 'Ayufan'. It was a simple matter of replacing the Ubuntu filesystem with that from Quirky.

EasyOS, though, is very different. Number one difficulty is that it has an initramfs, file 'initrd'.

I investigated using u-boot, yes, doable, however, u-boot requires the initrd to be converted to u-boot format, then there is some messing around to get it to be loaded at bootup. A lot of stuffing-around in fact, and I am unfamiliar with u-boot.

There is a problem with this scenario, with management of upgrades and downgrades, when initrd is in a different format.

The images created by Ayufan use extlinux, which can work with u-boot. This means that we could use a normal EasyOS 'initrd'. However, Ayufan's ready-made images use GPT, which EasyOS currently has a problem with -- will be unable to create the working-partition if it doesn't exist.

What I am now planning, is to create a skeleton SD-card image, using u-boot, following instructions provided by the Arch Linux aarch64 developers -- thanks guys, they are simple and clear instructions -- and build a kernel with initrd inside it, and no BOOT_SPECS file inside the initrd.

This avoids the messing around with loading of initrd. The 'init' script inside initrd will see that there is no 'BOOT_SPECS' and will search for it externally, and if found will load it.

This is a fairly simple arrangement, and I expect to have a image for the Rock64 soon! In fact, it should be bootable on all of the Rockchip-based boards. 

Tags: easy