0

I am debugging a DoA internet router and I need to get more information out of it, so I can narrow down the issue. I am connecting to it via RS232 and Putty. U-Boot seems to function properly as I can see it booting on the console and I can write commands and get a response. The problem comes when booting into Linux.

=> boot
Stopping PFE...
1 bytes read in 6 ms (0 Bytes/s)
12879571 bytes read in 991 ms (12.4 MiB/s)
13330 bytes read in 16 ms (813.5 KiB/s)
## Booting kernel from Legacy Image at 81000000
   Image Name:   Linux
   Image Type:   AArch64 Linux Kernel Image (gzip compressed)
   Data Size:    12879507 Bytes 12.3 MiB
   Load Address: 80080000
   Entry Point:  80080000
## Flattened Device Tree blob at 90000000
   Booting using the fdt blob at 0x90000000
   Uncompressing Kernel Image
   Using Device Tree in place at 0000000090000000, end 0000000090006411
WARNING: fdt fixup stdout: could not read serial0 alias: FDT ERR NOT FOUND
PCIe0: pcie@3400000 Root Complex: no link

Starting kernel...

System kernel started
System init started
System applications started

U-Boot R2.0 (Sep 08 2021 06:01:59)
SoC: LS1012AE Rev2.0 (0x87040020)

The device loads normally all the way until "System applications started" where the next step would be to log into the Linux environment. Instead it hangs there for ~30 seconds and reboots automatically.

How can I get more detailed information from the console about what it's doing during the last few steps?

I tried adding a "console = yes" in the environment variables but that didn't change anything.

What other useful diagnostics can I run inside U-Boot, like a memory checksum or some kind of auto diagnostic?

I tried looking through the list of environment variables to enable some sort of "detailed" log output but didn't find anything similar.

jsotola
  • 2,238
  • 1
  • 10
  • 22
  • You need to inspect your kernel configuration, your Device Tree, and the U-Boot environment (i.e the **bootargs** environment variable) to determine what is in the kernel command line. See https://stackoverflow.com/questions/68307458/how-to-set-linux-kernel-command-line-on-arm/68340492#68340492 – sawdust Mar 20 '23 at 19:15
  • You need to find proper parameters to the `console`, also try to use `earlycon` instead. But this all requires knowledge about hardware. Yet, you may add `ignore_loglevel` to the kernel command line, but I believe the Linux kernel is simply build without `printk()` support and you won't see anything anyway. – 0andriy Mar 24 '23 at 14:26
  • SO is a programming Q&A platform and this question is not about programming. [What topics can I ask about here?](https://stackoverflow.com/help/on-topic) Please delete this. – Rob May 04 '23 at 23:44

0 Answers0