Re: Creating a rootfs with grip packages
Neil Williams wrote:
On Fri, 27 Mar 2009 22:13:39 +1100
Brendan Simon <Brendan@BrendanSimon.com> wrote:
So you just need a smaller rootfs - OK, I'll look at an option in
multistrap that omits the Required: packages and leaves it completely
down to the list of packages specified. However, you will need to be
careful with that selection and that rootfs will still need perl and
glibc etc. It is still Grip.
I had a play with multistrap. A minimal rootfs is about 71-73MB.
There are quite a few packages that are installed which I don't think
are absolutely necessary for an embedded system (depends on purpose).
eg. apt, wget, whiptail, etc.
It seems libc6 depends on gcc-4.3-base which depends on grip-config
which depends on:
- apt, dhcp3-client, module-init-tools, wget, hostname, ifupdown,
mawk, net-tools, nano, ntpdate, passwd, udev, whiptail.
I would argue that most/all of these are not necessary for an embedded
system. It may be for an emdebian system, where the target system is a
small Debian system (including apt update/upgrade capabilities), but
some embedded systems don't have that requirement.
So if multistrap can be configured to only install the specified
packages, with or without dependencies, then that would be good.
The other thing is to remove the packages as dependencies, either
removing grip-config as a dependency and/or the packages that are
dependencies of grip-config.
Er, why does a rootfs for my target "need" perl ???
Simple - various parts of the core Debian packages are written in perl,
some core packages contain scripts written in perl and these scripts
are actually used during normal installation and/or boot. Finally some
maintainer scripts are written in perl.
I don't think multistrap uses the maintainer scripts, so we don't need
perl for that purpose, right ???
I might be wrong, but I don't think a standard Debian box can boot
normally without /usr/bin/perl. You certainly have enormous problems
configuring, upgrading or maintaining a Debian system without perl. I'm
guessing but it's probably the same with Fedora and other distros of
If not using apt, dpkg, etc on embedded system, then "configuring,
upgrading, or maintaining" is not required, and not perl.
I would prefer to configure during the build/generation of the rootfs.
Is it do with init scripts or something ???
Compare Crush and Grip - everything that Crush does not do that Grip
does do is likely to be down to a tool somewhere in the chain being
written in perl. adduser is one.
I don't think I need adduser either. /etc/passwd (and friends) can be
specified or generated during the build.
I'm not anti-perl, but would like to remove it if it's not really
required :) I can see advantages to having it for many purposes, but
not having the option to omit it would be good too.
Multistrap is the best option for Grip. I need to do some work on the
Grip webpages though.
Yes, it seems to work quite well :)
The other thing is to be able to store/cache the Grip packages
somewhere, so that they do not need to be downloaded every time I
execute multistrap (with --tidy-up option).
My "hope" is to be able to get a minimal system running with Grip.
eg. Kernel, C library, shell?, startup program (eg. init=).
From there, the builder could extend to include sysvinit, adduser, apt,
..., as required for their purposes.
Maybe there needs to be Grip themes or variants ???
eg. Grip-Standard, Grip-Minimal ???