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

Re: di: seperate preperation and installation phases

I got board one weekend and have done this in a way for
debian-linux-i386 and it works quite well.  I had initially done a
single prep/build environment but it got too messy.  The separation of
phases helped keep the complexity of both systems down.  Phase I is a
good rescue environment and remains solid because it is a contained
environment.  Phase II is a static build envronment which is not that
flexable, but is extreamly robust to upgrading of the production and
prepration environment. It consists of a static busybox with a
script+fstab/interfaces+config that currently take the packages live
from the mirrors and build them the way deboostrap does but with a
much more minimal environment.

This system will build a debian system (in vmware) from one floppy in
one boot which was my original goal. I eventually want to have it run
in intel's PEX environment to build a new lab box in one boot totally
unattended with my some what stable snapshot of the "unstable"

Here is an outline of what it does, if anyone is intrested in the
scripts/environment just shoot me some email.

I know this is a lot of duplicated work but I just got board one
weekend and felt the need to know what it realy takes to build a
debian system from as little as possible. (my resuce disks were
also getting a bit crusty too, running linux 2.0.29)


Phase I
* boot into a rescue disk like environment (reduced libc)
* partition/format/copy phase II enviornment (a single script now)
* write Phase II config
* if (in initrd) then exit and chain phase II ; else reboot

Phase II
* boot into static busybox environment and run phase II script as init
* setup network/package source
* download required packages (10)
   - an alternative to this would be to download all 
     phase II/III in phase I since there are not that many packages
* unpack libc6/libstdc/sysvinit/ash/dpkg
* use new dpkg to re-install above 
* use dpkg to install dpkg/apt/perl support
* apt-get dist-upgrade
* processes Phase I config for transfer to phase III
* exec /sbin/init for sane enviornment

Phase III
* run as .bash_login
* apt-get install ??? for interactive setup
* we now have basic debian system ready for installing tasks.

Tim Middelkoop                  O    A straight line may be the shortest
mtim@arranvale.com             /\,   distance between two points, but it
http://arranvale.com/mtim    \/\     is by no means the most interesting
 <!-- Certified Geek -->       /                                -Dr. Who

On Tue, May 08, 2001 at 03:00:37PM +1000, Glenn McGrath wrote:
> If we have a seperate preperation and installation phase then it would
> make the installer more versatile.
> The actual installation phase could be much like what debootsrap does,
> and the preperation stage would involve preparing an environment for
> deboostrap to run.
> The preperation phase could involve
> 	- partitioning
> 	- network configuration, for deboostrap to use
> 	- hardware detection, identify required kernel modules
> 	- putting all this in an image somewhere
> The preperation stage would ideally be run in the current environment
> (pre-install), it may be an existing debian machine, a different linux
> distribution or even another OS such as the Hurd (or a BSD?), if no
> previous OS exists then it would have to fall back to a more traditional
> preparation stage.
> The installation phase would be native to the OS being installed, it
> would just have to run this pre made image which would install base to
> the targeted pre-prepared partition.
> We could then install the Hurd from a linux system, or vica versa. It
> would be simpler in a lot of cases to make better use of the previous OS
> rather than always starting from scratch.
> Identifying the stages as seperate may also make it easier to work on as
> it helps break down the problem a bit more.
> (but i havent read the plan for a while, maybe im out of touch)
> Glenn
> -- 
> To UNSUBSCRIBE, email to debian-boot-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

Reply to: