On Sat, 23 Jan 2021 at 02:29, Jonas Vautherin <[email protected]> wrote: > > As a learning experience, I am trying to create a BSP for a device I own and > whose downstream kernel is published. The device in question is the Parrot > Skycontroller3, and the sources are available here. > > Let me start by sharing my issue. When I build the kernel with `bitbake > virtual/kernel`, it fails with errors like: > > ``` > | AS arch/arm/lib/backtrace.o > | AS arch/arm/lib/bswapsdi2.o > | AS arch/arm/lib/call_with_stack.o > | /tmp/ccz8jKgm.s: Assembler messages: > | /tmp/ccz8jKgm.s:985: Error: .err encountered > | /tmp/ccz8jKgm.s:1033: Error: .err encountered > | /tmp/ccz8jKgm.s:6812: Error: .err encountered > ``` > > My layer is available here. > > I created it getting inspiration from meta-raspberrypi and meta-qti-bsp, > which seems to have the same CPU: apq8009. According to the Parrot sources, > my device runs a Qualcomm apq8009/msm89090 cpu. In my repo, I use as a > defconfig file the linux.config that is available in the Parrot sources (I > copied it in my kernel recipe under `files/defconfig` and added it to > SRC_URI). > > The Parrot sources also refer to `LINUX_DEFAULT_CONFIG_TARGET := > msm8909_defconfig`, so I tried to set `KBUILD_DEFCONFIG = > "msm8909_defconfig"`, but that is failing with different errors, such as: > > ``` > error: 'VM_ARM_DMA_CONSISTENT' undeclared (first use in this function); did > you mean 'DMA_ATTR_NON_CONSISTENT'? > ``` > > or > > ``` > error: 'L_PTE_YOUNG' undeclared > ``` > > As a side note, their `drivers/Kconfig` seemed invalid, so I patched it. > > I am a bit lost now, not completely sure where my issues come from. I realize > that changing the defconfig has quite some impact (I get different errors), > and also that my machine configuration may be completely wrong (I am > essentially guessing from the fact that it is an apq8009/msm8909, but for > instance the tuning I just copied from meta-qti-bsp, which may be invalid). > > I would be glad if I could get hints about debugging this. Again, it is > really a learning project: I would like to learn how to create a BSP from a > downstream kernel.
I think setting `KBUILD_DEFCONFIG = "msm8909_defconfig"` is likely the correct approach here. What you may be missing though is the correct value for KCONFIG_MODE. By default, the supplied defconfig file is copied to .config but dependencies between config options aren't resolved. You need to set `KCONFIG_MODE = "--alldefconfig"` to get the equivalent of `make msm8909_defconfig` to occur. See https://github.com/agherzan/meta-raspberrypi/blob/master/recipes-kernel/linux/linux-raspberrypi.inc#L19 for an idea of how this is done for Raspberry Pi. Thanks, -- Paul Barker Konsulko Group
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#52070): https://lists.yoctoproject.org/g/yocto/message/52070 Mute This Topic: https://lists.yoctoproject.org/mt/80047657/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
