How can I run ubuntu-core 18 on allwinner A64?


#1

Hi,
I am trying to figure out if it is possible to run ubuntu-core 18 (snap support) on an allwinner A64 . chip .
is it just a matter of replacing the kernel (arm) snap with the allwinner kernel ?
will I still be able to use the snap architecture? would I be able to install arm snaps or would I have to re-write some of the snaps to support allwinner?

Thanks!


#2

Using the allwinner kernel, does snap support work in a regular ubuntu (say, ubuntu server for arm64)?


#3

AFAIK, the arm64 variant of the pc-kernel snap should be usable with the allwinner A64 chips (though @ogra should correct me if I’m wrong) , but the more difficult part would be building an image with proper bootloader and partitioning scheme for your particular device.

If you have snaps which are built for arm64 then they should work for the allwinner just fine, unless they are using some specific gpio layout or something specific to another board that’s not an allwinner.


#4

it is definitely possible to bring ubuntu-core to any board that can run linux :wink: but it is a question of the amount of work you need to/want to invest …

as @ijohnson said, we do have an arm64 build of our linux-generic deb package (also used in the classic server images that @chipaca pointed to) as a snap, confusingly called “pc-kernel” at https://snapcraft.io/pc-kernel (see the pulldown next to the “install” button for the selection of available architectures) …

I am not sure if A64 is enabled by default in it ATM but looking at http://linux-sunxi.org/Linux_mainlining_effort a lot of it is in various upstream revisions so our kernel should have some source code support for it at least (which does not mean the required configs are enabled already, that would be a matter of trying/testing) …

the alternative to using this “pc-kernel” snap would be to patch your own version of the sunxi tree with the remaining apparmor patches needed for the particular version and with the required default configs … similar to what i am doing for my non-official raspberry pi4 kernel at: https://github.com/ogra1/linux-raspberrypi-org

now … a kernel isnt enough to get core running, you will also need a gadget snap which contains the bootloader, all board specific information and interfaces as well as the partitioning information … i wrote a bit about this at:

regarding arm64 application snaps, our automated build service builds for that architecture by default unless a packager explicitly picks the target architectures to build for (and omits arm64), so you will find many apps in the global store to be available for arm64, if you are missing one that is available on other arches it is usually a matter of a quick conversation with the packager to get it turned on. for your own apps you can indeed build for arm64 too …

last but not least, for security reasons the store policy does not allow gadgets or kernels (not coming from canonical) to be uploaded to the global store, so you would need to purchase a brand store (you can also obtain packaging/porting support etc along with that) to have them uploaded and properly signed for eventually creating a valid ubuntu core/appliance image from them.

if you have any interest in that latter bit, feel free to contact me or @kyleN in private messages here in the forum.


#5

Thank you all for the great and elaborate explanations !
I’ve done some googling and found out that Nano-PI are using the same CPU with ubuntu-core (they call it friendly core)
http://wiki.friendlyarm.com/wiki/index.php/FriendlyCore_(based_on_ubuntu-core_with_Qt)
are you familiar with that project ?


#6

yes, its a hoax … this is a non-core based server image with Qt and an Xserver added … it is not based on Ubuntu Core at all (there are other posts in this forum about it).