Uboot Watchdog - how to prevent reboot in Linux

#1

Hi everyone,

I use the de0 board (Cyclone 5) to run a Yocto generated Linux. This linux can be run with either the uboot as produced by using the sources that come with the quartus 18.1 lite installation (uboot 2013.01) or an up-to-date uboot (2019.04) compiled in Yocto.

It is much easier to use the 2013.01 uboot to have linux up and running on the cyclone5 HPS since a lot of functionality is part of the uboot realization and has a direct connection to the quartus project (e.g. bridge_enable).

Nevertheless, it is also possible to issue the right commands in uboot to run the linux in combination with the 2019.04 uboot realization if providing a lot of addresses manually. However, in this case the linux system seem to run only about 30 seconds before a reset is issued. My guess is that the uboot watchdog is responsible for the reboot.

My question: I have the feeling that it would be the purpose of the linux kernel to report watchdog events such that uboot does not reset on watchdog timer expired. Has anyone found how this can be achieved in Linux? I run a mainline 4.18 kernel (the yocto-rt kernel in thud).

Thank you and best regards

Hauke

#2

Hello hkhauke,
I use the v2019.04 U-Boot with the 4.20 kernel on my DE-10 Nano with no issues. Can you elaborate on how you compile the u-boot?
About the kernel, I usualy write a extlinux.conf file that is loaded by u-boot, to point the kernel to be loaded, root fs partition etc…
I’m not used to the yocto-rt kernel, but I think it will work fine with that method.
Please, read Robert Nelson’s Instructions on how to setup a SDCARD with u-boot and linux, if you use the same principle, but with the 4.18 yocto-rt kernel it should work.
Another thing is that to compile u-boot, Robert Nelson uses a patch to the de0 nano defconfig file, to use another devicetree file, you don’t need to use that, the devicetree for the board works just fine, just remember to put the dtb file with the correct name at the right folder (or… change that variable latter with u-boot terminal)