[U-Boot] ARM64 Allwinner Binary Size

André Przywara
2017-12-20T01:55:51Z

On 19/12/17 15:24, Maxime Ripard wrote:
> On Tue, Dec 19, 2017 at 02:41:17PM +0100, Mark Kettenis wrote:
>>> Date: Tue, 19 Dec 2017 14:12:02 +0100
>>> From: Maxime Ripard <maxime.ripard@free-electrons.com>
>>>
>>> On Tue, Dec 05, 2017 at 10:28:20AM +0000, Andre Przywara wrote:
>>>> So even though the actual u-boot.bin for 64-bit boards is still somewhat
>>>> below the limit (~480KB), adding the ATF image (~32KB) pushes it over
>>>> the edge. So since v2017.11 u-boot.itb is already too big for the
>>>> traditional MMC env location.
>>>
>>> So I've had a quick look about what could go possibly go away in our
>>> current armv8 config (using the pine64+ defconfig). Let me know if
>>> some are actually vitals:
>>>
>>> - FIT_ENABLE_SHA256_SUPPORT
>>> - CONSOLE_MUX
>>> - CMD_CRC32
>>> - CMD_LZMADEC
>>> - CMD_UNZIP
>>> - CMD_LOADB
>>> - CMD_LOADS
>>> - CMD_MISC (actually implementing the command sleep)
>>> - ISO_PARTITION (yes. For CDROMs.)
>>> - VIDEO_BPP8, VIDEO_BPP16
>>> - VIDEO_ANSI
>>> - SHA256
>>> - LZMA
>>>
>>> Removing those options make the u-boot.itb binary size going from
>>> 516kB to 478kB, making it functional again *and* allowing us to enable
>>> the DT overlays that seem way more important than any feature
>>> mentionned above (and bumps the size to 483kB).
>>
>> So without CONFIG_CONSOLE_MUX, what is the behaviour when both serial
>> console and usb keyboard are present? Is the usb keyboard used when
>> it is plugged in but serial otherwise?
>
> That's actually a very good question, and I don't know, I never used a
> USB keyboard with U-Boot.
>
> This is enabled on 7 Allwinner boards, and no one complained so far,
> so I would expect to work without that option activated. However, it
> doesn't take that much space either, so it's not like we really need
> to disable it either.

Just tested it: without CONSOLE_MUX we don't use video and USB keyboard
automatically. It seems to default to serial, "setenv stdout vidconsole"
switches over (immediately). This is quite weird behaviour, and probably
quite unpleasant for the casual user.
With CONSOLE_MUX defined we get what we want: always serial console,
plus USB keyboard and HDMI, if connected. Output appears on both, input
is accepted from both.
So I would very much like to keep it in.

Cheers,
Andre.