[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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
equivalent functionality.

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 ???

Cheers, Brendan.

Reply to: