Dave Neil posted to the
debian-devel mailing list:
Hi Everyone,
I’m sure some of you have been wondering what we’re doing at Corel.
We’ve been busy defining what our distribution will look like and
how we’ll execute certain tasks, such as installation and package
management. In doing so we’ve tried to stick as much as possible to
the present Debian layout and methods. Adam D’Carlo has setup a
setup-api section under cvs.debian.org/debian-boot/setup-api.
That will be where we will do our development from. Our own
internal CVS site will be for backup purposes. By using the Debian
CVS site we will be essentially putting our work “out there” for
everyone to see, and should they choose work with. Our work will be
uploaded there shortly.
To date most of our work has been in planning , with some
initial experimentation of concepts, such as live CD.Here’s what we
are proposing for our design. Please note that all the following
procedures and steps can be ignored or modified by Debian. The
overall design is very flexible.
- We intend to use a rescue image to boot off either a floppy or
CD-ROM. - A splash screen will appear(lilo) and the initrd image and
kernel will be loaded. - Kernel boot messages will be sent to an alternate console.
- A linuxrc will determine the cdrom, mouse, network card and
hard drive devices. - linuxrc then mounts the cdrom on /instmnt and loads the correct
mouse driver and corresponding XF86Config file. - linuxrc then starts X [startx] and the setup UI from a
preconfigured xinitrc.
As you can see this is a big change from the current Debian
install. We have actually got the above scenario working. Here is
what will be required to implement the above design if Debian
should wish to use it also.
- The rescue image will need to be rebuilt to use lilo.
- The root.bin image will have to be rebuilt to include the
linuxrc script and the needed libs and links to the cdrom where X
resides. - A 2.2.X kernel will need to be used since the linuxrc script
uses it’s new /proc layout to grab info. - dbootstrap will be replaced by the setup API (dbootstrap 2)
which is a shared library written in C++ possibly or C. It contains
the disk partitioning , package installation, system configuration
, and other needed installation functions, but not the UI. The
setup API would reside in the root.bin image not cdrom. - A Setup UI of either GTK, QT, or curses would need to be done.
This UI would ,except for the curses based UI, reside on the cdrom
live system. It’s role would be to call up the needed functions
from within the setup API that are required during the various
installation phases. It should also be noted that the Setup UI is
independent of the Setup API. Therefore Debian could use a GTK and
/or curses UI, as we will initially use a QT2 based UI. - The setup API will be able to do disk partitioning and
resizing, auto XF86 setup, as well as either manual or automatic
installation. Debian could use what ever functions they chose from
within it by simply designing their UI to only call up what you
felt you wanted or needed. It should also be noted that Debian
could add functions within the Setup API that we may wish not to
use also.
We are also looking at a a replacement for dselect(it would
still be installed), as the primary means of choosing custom
packages, again this would be based from the setup UI calling the
needed functions from within the setup API.
Should you the Debian development community choose to accept
this design,(it can be modified), the next step would be to get the
various setup maintainers to contact me and start the process of
actually doing this . The maintainers of dbootstrap, the kernel,
rescue and root images, apt and dselect, and any other Debian
installation related programs , would be needed to build this. My
hope is that we could get this done in time for the potato release.
Here at Corel we have at the moment 5 people working on this full
time and we definitely could help get this done.
I hope that we can bring together our talents to build an
installation process that fits both of us well. Hopefully this
design will fit your needs.
Thanks
Dave Neil