Hi Alberto,

On 04/06/2020 22:15, Alberto Bursi wrote:
> Hi, I have a Kobol Helios 4, a Marvell Armada 388-based  Armv7 device that 
> boots
> Armbian off a SDcard and is mostly upstreamed (u-boot, dts, kernel, and so on)
> apart from a kernel patch that allows PWM control of two system fans from the
> same GPIO bank.
> 
> I'm not a fan of Debian (the base of Armbian), nor Armbian. Even the "latest"
> software I can install on it is years old.
> 
> I would like a lot to run Tumbleweed on it, as it is what I use in my PC and
> home server too.
> 
> I looked at the wiki for ARM support and I really don't understand what is 
> going
> on. Can someone explain what I should do to add this device to the OpenSUSE 
> ARM
> build system?
> Or where is a project I can look at as example.

As I'm in the process to add support for the bananapi-r2 to tumbleweed, I'll try
to explain what you have to do.

First of all you will need to check if our U-Boot package builds an image for
your board. If not you will have to add that. [1]

The package name holds the name of the defconfig of U-Boot. Make sure to also
add it to the _multibuild file, as otherwise your package does not get build.

In U-Boot we rely on the distro boot environment. If your U-Boot config does not
use that, please send a patch upstream to fix that. You can see that I have a
patch for that in my downstream U-Boot package, which should be part of 
v2020.07.
If you need help on that, let me know.

Please also check your "Project Configs" [2] if you experience that the package
is not build. There is some explanation in the .spec file. What I had to add to
my config is:
<copy>
Macros:
%prjconf_multibuild_selection patch
:Macros
Buildflags: onlybuild:u-boot:mt7623nbpir2
</copy>

Now we come to the JeOS image.
If you look on the diff [3] you see many files, but basically you will only need
to edit a few and create the rest via pre_checkin.sh

You will need to add your board to _multibuild and _constraints files. Also add
your board to pre_checkin.sh. It should be added to the list of 
armv7_jeos_images.

Apart of this, there are three *.in files.
Images.kiwi.in:
You add here your if you want to use kernel config default or lpae (BOOTKERNEL
variable), which kernel boot parameters (e.g. serial console) are needed and
which packages you need to build the image. At least your newly created U-Boot
package and the corresponding dtb-* package. Latter is created by the
kernel-source package, if your dtb is not part of the kernel, you have to add it
[4].

uboot-image-install.in:
This is called at image creation and can be used if your board needs some
firmware blobs to be written to some specific places on the SD card. Sometimes
that breaks GPT partitions, so you can also set a flag to force creating the
image with MBR.

uboot-image-setup.in:
I didn't needed that for my board. You can set U-Boot environment variables and
the like. I suppose you could use this instead of enable distro boot in upstream
U-Boot.

Hope that helps. Let me know if you have any questions. Actually we would need
someone to document the whole process so that it gets easier for other to add
support for their board in openSUSE. Feel free to volunteer on that :)

Regards,
Matthias

[1]
https://build.opensuse.org/package/rdiff/home:mbrugger:bananapi-r2/u-boot?opackage=u-boot&oproject=hardware%3Aboot%3Astaging&rev=11
[2] https://build.opensuse.org/projects/home:mbrugger:bananapi-r2/prjconf
[3]
https://build.opensuse.org/package/rdiff/home:mbrugger:bananapi-r2/JeOS?opackage=JeOS&oproject=openSUSE%3AFactory%3AARM%3ALive&rev=18
[4]
https://github.com/openSUSE/kernel-source/commit/8ff92d07ea655e0ac242ae974a10850303d530d0

> 
> I recently added support for it in OpenWrt [1], and it was very easy, so I 
> felt
> optimistic I could pull this off in OpenSUSE too.
> 
> 1. https://github.com/openwrt/openwrt/pull/3073
> 
> -Alberto
-- 
To unsubscribe, e-mail: opensuse-arm+unsubscr...@opensuse.org
To contact the owner, e-mail: opensuse-arm+ow...@opensuse.org

Reply via email to