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.
[1] https://www.compulab.com/products/iot-gateways/iot-gate-imx8-industrial-arm-...
Best regards, Pirmin
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_t...
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-...
Best regards, Pirmin
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello Stefan
Thanks fro the explanation, build now works.
Regards, Pirmin