Re: Essential packages (Re: Debian on the Sharp Zaurus/SL-5xxx)
> You are able to boot by replacing these programs with (at least minimally)
> functionally equivalent versions. They are still necessary.
No, unless tr, wc, head and tail is hiding somewhere where I can't find them.
This image boots without them: http://oxtan.campus.luth.se/debian/root_fs.gz
root password 'testtest'
Thanks to Adam Heath for mentioning UML.
> > > There is, of course, nothing stopping a user from deleting those
> > > programs if they do not use them.
> > While they certainly can delete them they would have to be very brave
> > indeed. Since they cannot possibly know if another program in the distro
> > depends on the program they delete.
> The same is true if they want to install something like asmutils-req and
> recover the extra space.
I'm not advocating for asmutils-req. I'm advocating for a (long term) plan to
reduce the number of essential programs.
> dpkg will also immediately configure essential packages after they are
> unpacked, even if multiple packages are being installed in one run. I
> don't know if this is documented anywhere, but anyone who has used dpkg or
> apt for any period of time has seen it happen.
I'm not sure if any of the programs I recommend we remove from essential need
this feature. But if they do it shouldn't be to difficult to add another tag
in the control files. 'Configure Immediately: yes'
> > > It is also not worthwhile to split packages at the finest possible
> > > granularity, just to support users who can do without certain
> > > components. The benefit must justify the additional cost of packaging
> > > and maintaining the critical programs which coexist with the
> > > non-critical ones, and not overcomplicating essential infrastructure.
> > True, but even for the Zaurus I think the effort is worth while in the
> > long term. And we must remember that Zaurus is a high end PDA. It would
> > be sad if we put a lot of work in the Zaurus that would have to be redone
> > for another PDA.
> The only Zaurus-specific work that I will be doing involves the kernel and
> boot process. Everything else is just packaging new software, and helping
> Debian to fit into a smaller space.
> > Package: asmutils-req (some assembler, some busybox, some original progs)
> > Installed-Size: 358k
> > Replaces: gzip, e2fsprogs, grep, bsdutils, hostname, shellutils,
> > textutils, util-linux, fileutils
> > Installed-Size: 7688k
> > the reduction in size is ~95%, and I think 7330k is worth the effort. And
> > thats only what I can do. I think that the 14 debian essential
> > maintainers can do a lot better. They have indepth knowledge on their
> > packages and probably know some additional tweaks.
> As far as I know, there is no asmutils equivalent for ARM, so that part is
> unusable for the Zaurus.
> Also, I am assuming that in calculating Installed-Size, you are including
> the entire size of the packages, which includes documentation and other
> things that I will be excluding.
Installed-Size is taken from the 'dpkg -p package' output. You could probably
reduce the size of the programs above by half simply by removing docs. I'm
not saying that your approach is bad, I like every suggestion so far. But I'm
saying that there is a lower limit to where such trimming can take you
size-wise. And after that you have to remove programs.
While asmutils-req contains assembler replacing the assembler progs with
busybox equivalents would increase the size <50k. Assembler optimization is
sub 100k optimization (IMHO), and there is a lot that can be done before
resorting to that.
1. Replace the really large packages (glibc, dpkg, login with pam depends)
2. The already proposed dpkg changes at your zaurus site.
3. Remove unnecessary progs
4. Replace the remaining progs by smaller variants (at this stage you can
assimilate a lot of microdists)
5. If you find a executable packer for arm, you will reduce the size of the
executables by ~50%
6. In some cases you will find assembler variants of programs that will
reduce the size even further.
For Zaurus it might be sufficient with only 1 and 2. But if we want to make
debian scale down to be an true embedded dist we need to look at all the
first 5 stages.
Magnus Ekdahl 0739-287181 email@example.com firstname.lastname@example.org
public key available at http://oxtan.campus.luth.se/magnus.public
Key fingerprint = 18DE CB62 8A86 374E 824E 09ED 1987 4B18 1213 79F6
To UNSUBSCRIBE, email to email@example.com
with a subject of "unsubscribe". Trouble? Contact firstname.lastname@example.org