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

Re: Debian based root fs



Hi,

I have gone about the problem solving this way:

I get the following packages from the repository (i'm using the ubuntu
feisty mirrors) basesystem, busybox, bash, libc6, libgcc1, libncurses;
run dpkg-deb -x
on each of them;
in a seperate location i have a store a set of files that are to be
stripped out - I supply these as input to tar so I only get the files
I want in a package (there are also what I call global rules which
strip out doc/ share/ etc);
the result is a set of tar.gz files that I then;
extract on to my target root file system;

I have achieved quite small sizes using this method, including a
minimal rxvt-term / x setup and a dhcp/tftp server setup.  I am sure
many will point out that the resulting system is not a debian system
because there is no package management built in, but the idea is to
have the same libraries as you would on the main distribution so you
can follow the dependency chains to install any program without
recompiling.

These dependency chains get quite large and pulling in one thing can
result in pulling in dozens of packages - some of which seem a bit
daft: I have not solved this problem still, but the way I am handling
it right now is to just use the first level dependencies and hope
nothing breaks.  For this to work properly large packages need to be
branched and everything relying on that large package must then adjust
thier dependencies to only the parts that they are using.

I am working on having the package database external to the target
filesystem and using possibly union fs to mount just in time for the
apt utilities to work.  I really like busybox's dpkg utilities, they
are very light weight (written in c) and access the /var database as
the big versions do - so I am thinking of using them.



Reply to: