Skip to Content.
Sympa Menu

baslinux - Re: [BL] uclibc static lynx 2.8.6dev16, lynx.lss and mplayer

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: sindi keesan <keesan AT sdf.lonestar.org>
  • To: baslinux AT lists.ibiblio.org
  • Subject: Re: [BL] uclibc static lynx 2.8.6dev16, lynx.lss and mplayer
  • Date: Fri, 20 Jan 2006 01:31:57 +0000 (UTC)

On Thu, 19 Jan 2006, David Moberg wrote:

sindi keesan wrote:

I've uploaded it. By changing CFLAGS to -Os (in the makefiles) I
was able to reduce the size by about 30k after compression.

Please provide the URL.

It is still at the same location. You apparently found it
anyway.

I looked through a lot of old emails. Do you mind if I link your BL download site to my site? I know you have a varying set of files there.


I thought larger code ran faster (or loaded faster).

No, twice as much code usually takes twice as long to
execute. But sometimes a faster algorithm will be slightly
larger than a slower one because of design choices.
For example, using a lookup table (list of numbers) for
computation will take more memory but will also be
much faster than calculating every single problem.

If -Os optimizes for both size and speed, why use -02 as default?

Inertia. -O2 is the traditional switch, and since so many programs
used it in the past (before -Os became available) it is still often
the default.

MPlayer uses -O4 for some reason. Perhaps they feel that a couple
K will not make a difference in a multi-megabyte binary.

-O4 optimizes for speed, right? So the only reason not to use it is if you want smaller executables?


With ordinary libraries (not uClibc) do faster executables get larger?

Not noticeably or consistently.

They have in addition to the root-fs files, some tar.bz2 files
uClibc-0.9.28.tar.bz2 etc., about 1.7MB. Are these source code and the
root_fs precompiled image?

Yes, exactly.


The root_fs includes binaries of gcc, binutils, bash, busybox, and lots
more. The source code is just uClibc.


To use the rootfs image, you need a partition with several hundred
MB of disk space to grow into. bunzip2 it, then mount -o loop.
I am thinking about adding a 9GB scsi drive to one computer.
Does this 21MB expand to several 100MB?

It expands to more than 100M. But you also need room to unpack
whatever you are compiling.

So this 21MB image gets mounted to loop and then copied to a large directory (or another partition) and includes uclibc library, gcc, binutils, bash, and busybox. I presume after copying it to that directory I also copy the source code to that directory before I chroot there and then compile it and it ignores any other libc on the computer.


If I am in a directory /uClibc does it use uClibc's root_fs libc and
binutils and gcc instead of the other ones on my computer?

Yes, if you chroot to that directory. Just like chrooting between
BL2 and BL3. The uClibc root_fs is essentially a kernel-less
operating system that you can chroot into.

I think you are overestimating my understanding of linux.

Maybe, but I don't think there is much that can go wrong.

Want to bet on it? I will also need to either find precompiled, or compile from source code, various dependencies such as ncurses, or libjpeg, etc., or use ones compiled statically with glibc which I think would make them larger. Where do I find precompiled libraries?

I hope the instructions tell you how to compile statically or dynamically. Is this a switch when you ./configure, with dynamic as default? For static ./configure --with-uclibc --with-ncurses etc.?
For lynx I think I had some configuration file for configure.


David




Archive powered by MHonArc 2.6.24.

Top of Page