Re: [PATCH v2 0/5] minitty: a minimal TTY layer alternative for embedded systems

From: Andy Shevchenko
Date: Tue Apr 04 2017 - 13:09:00 EST


On Tue, Apr 4, 2017 at 7:59 PM, Tom Zanussi <tom.zanussi@xxxxxxxxxxxxxxx> wrote:
> On Tue, 2017-04-04 at 00:05 +0300, Andy Shevchenko wrote:

> Yes, in a previous project, I had been working toward getting a < 1M
> system to boot on Galileo hardware (which it did, but using more than
> that - the Galileo2 has 256MB, but it was the target hardware at the
> time, and I was hoping eventually to be able to boot out of the 512k
> on-chip SRAM).
>
> I was focused at that point mainly on the kernel static size, and using
> a combination of Josh Triplett's tinification tree, Andi Kleen's LTO and
> net-diet patches, and my own miscellaneous patches that I was planning
> on eventually upstreaming, I ended up with a system that I could boot to
> shell with a 455k text size:
>
> Memory: 235636K/245176K available (455K kernel code, 61K rwdata,
> 64K rodata, 132K init, 56K bss, 3056K reserved, 0K cma-reserved)
>
> virtual kernel memory layout:
> fixmap : 0xfffe5000 - 0xfffff000 ( 104 kB)
> vmalloc : 0xd05f0000 - 0xfffe3000 ( 761 MB)
> lowmem : 0xc0000000 - 0xcfdf0000 ( 253 MB)
> .init : 0xc1094000 - 0xc10b5000 ( 132 kB)
> .data : 0xc1071fac - 0xc1092760 ( 129 kB)
> .text : 0xc1000000 - 0xc1071fac ( 455 kB)
>
> That was without networking. Enabling networking added about 250k, and
> at that point I could ssh in and run a webserver, still less than 1M as
> far as kernel static size, which of course completely ignores the kernel
> dynamic size and userspace.

Thanks for sharing your experience. The question closer to this
discussion what did you do against TTY/UART/(related) layer(s)?

--
With Best Regards,
Andy Shevchenko