Porting EasyOS to Rock64 is a work-in-progress
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