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

Re: d-i: status and where to go from here



> Well sorta. If you pick "execute a shell", its postinst crashes since it
> needs the freopen symbol, which is not in the reduced libc. It's time to
> confront the issue of needing a reduced libc to boot, and a larger one
> later on, I suppose.

Here are some possible solutions, ideas:

1.  Once the network is up we grab full versions of all our reduced libraries.
This has the obvious advantage that is will be easy to implement.  The problem
is, however, that it takes a while to download libc etc., if someone has to
repeat a step of the installer multiple times they won't be happy about having
to wait for the download on network installs.  Maybe we can cache to hard disk
so we don't need to do this more than once if the install is interrupted? 

2. Reduced libc etc. will contain all the symbols needed by all potential udebs.
We create a root filesystem containing all the udebs that we will boot with plus
those that we will have the option of downloading, run mklibs.sh on it.  If this
eats up a lot of space on the initial floppy, this won't be fun.  But if we only
need a few extra symbols here and there this solution is nice because it is also
fairly simple.

3. Have individual udebs declare the symbols they need, sort of like
micro-dependancies. anna will resolve these by asking ftp.debian.org for a
special libc.  

4. Have the install system dynmically calculate the symbols it needs.  A
modified version of mklibs.sh is included on the boot floppy.  It knows how to
check for missing symbols, and asks ftp.debian.org to provide them.  Do objdump,
objcopy, libbfd etc. live on the boot floppy? If not then we have to ensure that
they have all the symbols they need too.

Other ideas?

I'm leaning towards 2 because it is fairly straight forward.  I haven't looked
into how much it will bloat the floppy.

David



Reply to: