Hi All,
Brief background
I have built a custom carrier board for an Intrinsyc open-q 410 board. I also have an Intrinsyc devkit board available to test the open-q 410 boards. The carrier board is designed largely based on the devkit board, but leaves several hardware features (such as USB hub, HDMI output) out. Some of the BLSP pins will also need to be configured differently.
Initially I loaded Linaro onto the open-q 410 board using the instructions for the fastboot method
in the 96boards documentation (I can’t add the link here as I am a new user here which restricts me to adding two links to a post).
The board then boots and functions as expected using the devkit, however when booting the board on the custom carrier board, it doesn’t boot “completely” (“completely” implying some modules such as Wifi and Bluetooth do not function, but a custom systemd script which toggles a GPIO high and low does run as expected).
This is the ultimate issue I am trying to solve (so if you have ideas feel free to comment), but the scope of this post is intended for a more specific issue I am trying to fix while solving the main problem.
Current issue I’m trying to solve
A suspicion I had for the 410 board not booting “completely” on my custom carrier board was that the device tree for the default linaro kernel loads modules and sets up BLSP pins differently from how they are used on my custom carrier.
I have linked boot logs from the boot process on the devkit
and from srs
(the custom carrier board).
My approach is to build the kernel from source and take out modules which I am not using, starting with the display output.
I built the kernel image using the instructions provided by the 96boards documentation.
Details worth noting from how I followed the documentation:
-
I checked out tag
debian-qcom-dragonboard410c-19.01
, then branched off of that -
I made the following changes to files, before building the kernel and modules
File: arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
From
adv_bridge: bridge@39 { status = "okay"; ... }
To
adv_bridge: bridge@39 { status = "disabled"; ... }
From
mdss@1a0000 { status = "okay"; ... }
to
mdss@1a0000 { status = "disabled"; ... }
-
I followed the rest of the instructions as in the documentation (including copying over the modules inside
db410c-modules
created from themodules_install
command using a USB after booting the board on the devkit).
The issue is that no modules are loaded when booting the board on the devkit now (ie lsmod
returns nothing).
FYI:
uname -r
returns 4.14.96.01198-gc6a40c56e419
and I have copied the the modules created from the modules_install
command to /lib/modules/4.14.96.01198-gc6a40c56e419
Log files
- boot-devkit-4_14_96-no_mod.log (successfully booting on the dev kit)
- boot-devkit-4_14_96-disable_display-clean.log (this boot doesn’t load any modules anymore)
And another log FYI of the custom carrier board (srs) not booting “completely” after loading on the un-modded linaro kernel from the documentation
- boot-srs-4_14_96-no_mod.log
Thanks in advance for help regarding getting the modules to load with a custom built kernel, and/or with insights into why the boot process doesn’t load the wifi module when booting the un-modded kernel on my carrier board.