From fa2d3afcfa3a3c09ae04a7d5e44335c025a1440a Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Thu, 05 Jul 2012 01:28:07 -0400 Subject: Add Installation Bootstrap Tool project to wiki. --- (limited to 'dev/todo') diff --git a/dev/todo/installation-bootstrap-tool.mdwn b/dev/todo/installation-bootstrap-tool.mdwn new file mode 100644 index 0000000..14610fb --- /dev/null +++ b/dev/todo/installation-bootstrap-tool.mdwn @@ -0,0 +1,40 @@ +[[!meta title="Installation Bootstrap Tool"]] + +A tool similar to [debootstrap][debootstrap] of Debian needs to be written to +bootstrap the installation of a basic system. It can be used for building +packages (see "Package Cross Building Tool" below) or installing the operating +system on hardware targets. + +Basically, the tool would fetch from the package archive the index of packages, +determine which packages need to be installed, download each package, and unpack +each package. Since the package manager may not be available, the tool must +handle dependency resolution and package unpacking on its own. + +To be determined is how the "second stage" of the installation ‒ the execution +of package maintainer scripts (`preinst` and `postinst`) to complete the +configuration of each package ‒ will be done. At least most of the time, this +tool will be used to install packages built for an architecture that differs +from the architecture on which the tool is run; therefore utilities used by +maintainer scripts may not be executable. In this situation, debootstrap leaves +behind a copy of itself in the installed system to be executed on the target +architecture. Such a solution might not work for this tool, because nothing can +be executed on the target architecture until the installed system is booted, and +the installed system shouldn't be booted until after the packages are +configured. + +We can't use debootstrap, since the formats of our binary packages and package +archives differ slightly from those of Debian. But we can model our tool after +debootstrap or even just fork debootstrap. + +If written portably (i.e. in conformance with POSIX.1), this tool could be used +to make base system images on any UNIX-like operating system with an +implementation of tar. On any operating system that also has a chroot program, +this tool can be used with the package cross building tool described below to +build packages for this distribution. Therefore, these tools can be thought of +as a "Software Development Kit" ("SDK") for the distribution, usable on any +capable development system. + +Hopefully, this tool can be done by October 2012. + + +[debootstrap]: http://anonscm.debian.org/gitweb/?p=d-i/debootstrap.git;a=tree -- cgit v0.9.1