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