[U-Boot] ARM64 Allwinner Binary Size

Mark Kettenis
2017-12-19T22:35:11Z

> Date: Tue, 19 Dec 2017 16:24:59 +0100
> From: Maxime Ripard <maxime.ripard@free-electrons.com>
>
> 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.

I've used it on several board including my Orange Pi PC2. With this
option enabled, all output from U-Boot and the EFI bootloader is
visible on both serial and hdmi, and I can interact with U-Boot and
the EFI bootloader over serial and using a USB keyboard.

That allows users to interact with U-Boot and/or the EFI bootloader
and configure whether the kernel sould use serial or "glass" console.