From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Heider Date: Wed, 26 Aug 2020 16:43:10 +0200 Subject: [PATCH 4/5] arm: mvebu: Espressobin: Define console env In-Reply-To: <20200826141020.4pat5oulm7t3pdpm@pali> References: <20200824142502.7281-1-pali@kernel.org> <20200824142502.7281-4-pali@kernel.org> <902e3699-095c-032f-f67a-28c070293e91@gmail.com> <20200826133140.ih77mzeozyi2ua7o@pali> <20200826141020.4pat5oulm7t3pdpm@pali> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 26/08/2020 16:10, Pali Roh?r wrote: > On Wednesday 26 August 2020 16:00:05 Andre Heider wrote: >> 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 >>>>> --- >>>>> 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. > > But this looks like to be related to command line 'console=null'. > > Can you check which parameter is causing problem? console=... or > earlycon=... ? Also do you have /dev/ttyMV0 in your system? > yup, it's there: crw--w---- 1 root tty 253, 0 Aug 26 15:09 /dev/ttyMV0 But I think it's related to console=null because it ends up as invalid: Your patch sets "console" to "console=...". Debian's boot.scr set "bootargs" to "... console=${console}". So we end up with with kernel args "console=console=..." :) So we need to strip one "console=", at least for debian's boot scripts: "setenv console ttyMV0,115200 earlycon=ar3700_uart,0xd0012000" and it works again, including earlycon. Regards, Andre