[PATCH 4/5] arm: mvebu: Espressobin: Define console env

Andre Heider a.heider at gmail.com
Wed Aug 26 16:00:05 CEST 2020


On 26/08/2020 15:31, Pali Rohár wrote:
> On Wednesday 26 August 2020 15:22:26 Andre Heider wrote:
>> Hi,
>>
>> On 24/08/2020 16:25, Pali Rohár wrote:
>>> Some distribution bootscripts append console env into boot cmdline.
>>> So define console env correctly to have early console access.
>>>
>>> Signed-off-by: Pali Rohár <pali at kernel.org>
>>> ---
>>>    include/configs/mvebu_armada-37xx.h | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/include/configs/mvebu_armada-37xx.h b/include/configs/mvebu_armada-37xx.h
>>> index 6feceda757..b473072976 100644
>>> --- a/include/configs/mvebu_armada-37xx.h
>>> +++ b/include/configs/mvebu_armada-37xx.h
>>> @@ -17,6 +17,7 @@
>>>    #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, \
>>>    					  115200, 230400, 460800, 921600 }
>>> +#define CONFIG_DEFAULT_CONSOLE "console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000"
>>>    /*
>>>     * For booting Linux, the board info and command line data
>>> @@ -99,6 +100,7 @@
>>>    	"kernel_addr=0x7000000\0"	\
>>>    	"kernel_addr_r=0x7000000\0"	\
>>>    	"ramdisk_addr_r=0x8000000\0"	\
>>> +	"console=" CONFIG_DEFAULT_CONSOLE "\0" \
>>>    	BOOTENV
>>>    #endif /* _CONFIG_MVEBU_ARMADA_37XX_H */
>>>
>>
>> this breaks booting debian with systemd for me:
>> [    4.632197] systemd-udevd[90]: Starting version 241
>> [    4.639324] systemd-udevd[91]: Failed to create udev control event
>> source: Operation not permitted
>>
>> "env delete console" and it works again.
> 
> This is really suspicious. Why systemd has problems with control socket
> when console= parameter is specified on boot command line? And if
> console= parameter is problematic on command line, why console output is
> working fine? For me it looks like this variable controls something
> different, not (only) console output. Maybe some bootscript sets
> something more when it see u-boot env ${console} non-empty?

It sounds like a bug in systemd, this may be related:
https://github.com/systemd/systemd/issues/13332

With ugly workarounds like:
https://github.com/openembedded/openembedded-core/commit/dd6ee0b06cd8df6204cf600050516d15172302ea

This is easy for to me to work around, but note that this systemd 
version is the one shipping with current debian stable.


More information about the U-Boot mailing list