On Fri, Mar 27, 2015 at 11:29:53PM +0100, marc wrote:
<snip>
> And maybe even:
>
> - minimising the size and dependency graph of the essential
> system. I have had friends worry that the base Debian seems
> to have been growing each year so that it doesn't fit onto
> small/embedded systems anymore. For anybody who has tried
> to build a distribution from scratch particularly for a
> new architecture or just platform (a really instructive
> exercise), a small core lets one get to a running system
> quickly (the first big win), and then a self-hosting system
> (the real win). Beyond these points the nonessential stuff
> can depend on arbitrary things, but getting the core up
> and running is critical for a free distribution to support
> new/unconventional platforms, or to serve as base for other
> distributions or appliances. The downside is that somebody's
> favourite scripting language isn't essential - but it is
> still there ... it just not used in the core.
>
> Maybe visualise this as a well-formed tree, with the kernel, libc,
> compiler, shell and shell utilities forming the trunk and then only
> at some meters above ground things branching into complex
> dependencies ...
The core of the command-line tools can be found thus:
dpkg-query -W --showformat='${Package}\t${Essential}\n'|grep yes
And here that's 25 lines long.
But it includes 2 shells, Perl, util-linux and a host of GNU utilities,
and requires at least 25 libraries.
util-linux builds some dozen packages) and pam seem to be the biggest
sources of proliferation in the base system.
But this comment reminds me of Aboriginal Linux:
http://landley.net/aboriginal/
and Bootstrap Linux:
https://github.com/pikhq/bootstrap-linux
(You can build a self-hosting system in six packages, if you choose the
right ones.)
Thanks,
Isaac Dunham