Out of tree hardware platforms

Stefan Kalkowski stefan.kalkowski at genode-labs.com
Thu Oct 1 14:15:26 CEST 2020


Hello Pirmin,

On Thu, Oct 01, 2020 at 01:43:12PM +0200, Duss Pirmin wrote:
> Hi Genodians
> 
> I'm enabling base-hw on the IoT gateway of CompuLab [1].
> 
> I do this in a separate repository in the same way as arndale, panda etc
> are done in genode-world. This works well apart from some minor
> modifications on the imx8q_evk (for which I will create an issue as soon
> everything is finalized and cleaned up).
> 
> The only thing I'm struggling with is that /tool/run/boot_dir/hw isn't
> used. This leads to the error
> 
> unknown platform no linker address known
> 
> If I add the platform to genode/tool/run/boot_dir/hw building works. But
> as with the other out of tree platforms I'd like to keep the platform
> out of the Genode repository, for cleanness.
> 
> The repository is linked to genode/repos/... and added to REPOSITORIES
> in build/arm_v8a/etc/build.conf.

The problem with the linker address is already solved. You can shadow
the `tool/run/boot_dir/hw` path. This is explained (partly) in release notes
20.05:

  https://genode.org/documentation/release-notes/20.05#Board_support_outside_the_Genode_main_repository

You add the empty file `tool/run/boot_dir/hw` to your repository
include the original version of the genode main repository in that
file with the following line:

  source  [genode_dir]/tool/run/boot_dir/hw

Now, you can overwrite certain functions, e.g.,
`bootstrap_link_address` to add your physical link address, or
`base_src` to denote the base library package for your board.

When building, you have to tweak your RUN_OPT variable in addition to
the changes of the REPOSITORIES variable. Just replace the
following lines in your `etc/build.conf`, which otherwise includes
`[genode_dir]/tool/run/boot_dir/hw`:

  ifdef KERNEL
  RUN_OPT += --include boot_dir/$(KERNEL)
  endif

Instead you would write:

  ifdef KERNEL
  RUN_OPT += --include [path-to-your-repository]/tool/run/boot_dir/$(KERNEL)
  endif

I hope that help.

Best regards
Stefan

> 
> [1]
> https://www.compulab.com/products/iot-gateways/iot-gate-imx8-industrial-arm-iot-gateway/
> 
> Best regards,
> Pirmin
> 
> _______________________________________________
> Genode users mailing list
> users at lists.genode.org
> https://lists.genode.org/listinfo/users

-- 
Stefan Kalkowski
Genode labs

https://github.com/skalk | https://genode.org



More information about the users mailing list