boot problem w/ barebox

Enrico Weigelt, metux IT consult enrico.weigelt at gr13.net
Mon Sep 11 11:47:03 PDT 2017


On 11.09.2017 09:16, Uwe Kleine-König wrote:

> Try adding a #define DEBUG in linux-4.13/arch/arm/boot/compressed/head.S > and make sure enabled DEBUG_LL and selected the right UART in your> 
.config.
After deep digging in the init code, I've meanwhile fixed it (at least
with self-compiled 2015 bbx - didn't try newer versions yet). In the end
was just dt misconfiguration (that wasn't obvious in this dts wood,
which I ported from the old 4.1-phy tree): the debug uart was disabled.

This lead to some funny situations:

* DEBUG_ll worked after fixing the port number (the counting is a bit
   confusing: ttymxc1 is #2)
* console works up to the point where the uarts tty drivers are
   configured. as the uart was disabled in dt, no tty driver was
   associated (while ll driver was still active), so the clock was
   disabled on some point, leading to supposedly hangup (actually,
   just the console was gone)
* hacking out the clock disable lead further to the point where rootfs
   is mounted and init started
* init couldn't do much, as it didn't get a console. first I suspected
   rootfs would be mounted too late, but then turned out that
   /dev/console indeed was there (in the internal initramfs), but open()
   returned ENODEV (hmm, we should have verbose errno printouts - already
   got some patches for that in some other trees ...)
* the reason for ENODEV was the lack of an tty driver for the uart
   (printk() still went through ll driver) -- may we should add a proper
   warning for that ...


--mtx



More information about the barebox mailing list