we are evaluating mender for our embedded device development. To start we would like to follow the walkthrough as outlined.
However, we get stuck while attempting to connect a physical device, based on the Raspberry Pi 3B example image as provided.
When starting the target device, it boots up and fails to identify an Ethernet connection. It shows a message “Ethernet: No ethernet” and fails to continue booting.
Any clues as what is happening? The target device is a Raspberry Pi 3B (not the plus variant).
Do you have attached serial console on device (or just use hdmi monitor?) If raspbian works then it is not likely HW problem. That is the reason why I asked to share bootlog. So if you don’t have serial console just when board boots and over monitor type
journalctl -b
this should print kernel messages and provide some info. Can you pls also try to provide output of:
ifconfig -a
Which version of poky you’re using?
There is already a topic Raspberry Pi 3 Model B/B+ which is same board as you use. Image from topic is tested on rocko, sumo and latest thud poky versions.
Thanks.
I have yet to start building our custom image using Yocto. As I said I’m just using the prebuilt demo image as can be downloaded from the Mender QuickStart docs.
Also, when the device boots it seems to be stuck early on in U-boot. It doesn’t get to the point at which I can enter commands at the command prompt (to enter the commands you entered)
Any clues as to why the prebuilt demo image might generate this scenario?
Hello, I have confirmed the problem to be in the fact that we have connected a custom UART module to the Raspberry PI’s GPIO pins. Apparently the bootloader expects there to be a serial console input, but that is not the case.
I have succesfully tested the image using a plain Raspberry PI without any external modules connected toe the GPIO’s.
Maybe that’s worth mentioning since many PI’s are augmented with external modules.
What would be the impliciation for our use case? In other words, would it be possible to allow this scenario (instead of the bootloader to fail)?
thanks for the suggestion, it seems like this is a similar issue. I have yet to test a custom Yocto version of an image with a modified version of the u-boot. But judging from the discussion in the said issue I would say this would solve the issue.
If it turns out that the mentioned solution won’t fix our problems, I will reopen the issue.
It appears as the solution would be to patch the U-boot such that it doesn’t use the serial port as a console output (as also described in the said topic).
However, as we are fairly new to the Yocto built process, could you provide a hint as how to implement this within the process? Would that be a recipe of some sorts?
To provide a patch to U-boot you would typically provide a bbappend file, which amends the recipe for actual U-boot. This is normally done by creating a custom layer and putting that bbappend there.
Hello mirzak,
many thanks for pointing me in the right direction. I have managed to create a custom u-boot patch that disables the serial input/output on the raspberry pi3 in u-boot.
Regards