:: Re: [Dng] The more things change, t…
Top Page
Delete this message
Reply to this message
Author: Laurent Bercot
Date:  
To: dng
Subject: Re: [Dng] The more things change, the more they remain the same
On 27/05/2015 17:51, Irrwahn wrote:

> No intention to lessen your main point, but that last observation
> does not come as a surprise. Development systems inherently have
> an installation overhead compared to simple runtime environments,
> it's always been that way.


Oh, definitely. My router doesn't need a C compiler, or make, or
even a shell, to run. (True: at no point in its normal operation
does it call a single shell script.) However, I still have those
installed, because keeping the production environment and the build
environment separate is kind of an exercise in futility, and a waste
of time, when you have gigabytes of SSD to spare.
For my previous router, which didn't have any storage space except
for a 32 MB CompactFlash card, I definitely built the image offline.
It worked well, but the development cycle was a bit uncomfortable :)

My point was that when you're that close to the kernel, when you're
doing pure C development at a low level, you should need a shell, some
POSIX utilities such as sed/grep, a C toolchain, and make. *That's it*.
Anything more than that is bloat - and in particular, when you're Linux-
specific, i.e. not even trying to be portable, autotools is not an
asset, it's a hindrance. (I won't make a lot of friends by saying that,
but it's okay. Feel free to ignore me.)


> However, it amazes me what heaps of
> packages one has to wade through to get a minimal usable GNU/Linux
> system /capable of replicating itself/. (I'm currently digging my
> way through Linux from scratch, as an educational exercise.)


Yeah, well, the problem with self-replication is that it starts with
a C toolchain, and bootstrapping the GNU toolchain is an adventure
of its own - you can't exactly call that simple or lightweight software.
(Unfortunately, I'm not aware of any working alternative so far. AFAIK,
clang/llvm can't bootstrap itself.)

I've never delved into the nine circles of toolchain building and
self-replication myself, because another guy has already done all the
hard work: http://landley.net/aboriginal/
(Yes, I do love that project. It's an awesome time-saver.)

--
Laurent