SBC ports contributor's HowTo?

Hi,

RPI and ODROID ports seem to lack staffing and, my spare time allowing, I’m interested in helping on these tasks.

Is this the right place to ask for information on this topic ?
If yes, is there some documentation on how to contribute ?
If no, where can I post my question ?

Thanks in advance for your advice !

Hi vinnie

Posting here is fine. @Wimpy is our project leader. Probably a good place to start.

@vinnie What it is you’d like to work on exactly? Help would be appreciated :slight_smile:

Hi Wimpy,

I’ve been a software engineer for 25+ years, so I can help on many technical tasks.
I also have good writing skills and can help on documentation or translations (English/French).
In fact, my main limitation is time. In the long run, I can spend 4 hours a week on Ubuntu MATE, occasionally more.

My view of the situation from the outside is that Ubuntu MATE for AMD64 is correctly staffed whereas the ARM ports are not.

I’d like to help getting the RPI version as close to the AMD64 one as possible and I’m also interested in making an ARM64 version available for the RPI 3. I’ve read somewhere that Linux kernel 4.8 improved ARM processors support, I hope it will help.

Just let me know what I can do in the amount of time I have.

BTW, I’d also like to see Jitsi in Ubuntu’s repos and I can create and maintain this package provided I’m given a pointer to the appropriate instructions. [ Jitsi is great but downloads from the developer’s website are only available for I386 and AMD64. ]

Finally, I have and ODROID C2 and can do some testing and/or compiling on it.

Regarding Jitsi, you could start work on packaging that now. My suggestion would be to create a snap for Jitsi because it’s way easier than making a deb. See http://snapcraft.io for documentation :slight_smile:

Regarding the Raspberry Pi version, what is it you feel needs work?

Ideally, the RPI version should be released at the same time as the AMD64 version or shortly after.
I don’t know how the RPI release is built, but there is probably a way of automating the build process.

My guess is that up to now, ARM ports of Ubuntu had to use kernel 3.x instead of the version in use on Intel platforms. With kernel 4.8, it may be possible to use the same kernel version on ARM and Intel platforms, which should simplify the build process.

Then, as the RPI3 has an arm64 processor, it should also be possible to build a 64-bit release for this platform.

My guess is that it works in the same way as the amd64 version : all packages are built for the arm64 architecture, but armhf 32-bit packages can also be installed if they’re not available as 64-bit (just like i386 packages can be installed on an amd64 Ubuntu).

So basically, a good starting point could be to copy and rename the release build tools for amd64 and replace “amd64” with “arm64” and “i386” with “armhf” in the scripts. The only difference is that there is no installer for ARM platforms, just a disk image with a device-specific boot loader, but this could probably be automated too.

However, these are just assumptions as I don’t know how the Ubuntu build environment works. If you have some documentation to point me at, I could start with a bit of self-training. :slight_smile:

Regarding Jitsi, it is a Java application with only a few native libraries and as .deb exist for amd64 and i386, building armhf and arm64 versions is not a big deal. The most “complex” part of the job is the integration in the Ubuntu repo. :slight_smile: