summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-05-31 13:41:40 (EDT)
committer P. J. McDermott <pjm@nac.net>2012-05-31 13:41:40 (EDT)
commit83446de3984c32885dceceeff30314457e2990fc (patch)
treeca6eb61a7f79eb8c02791c87b23b87e16342c220
parent3e642cb801235aba42cecbe7e6f99fa44efda0ac (diff)
Describe "second stage" problem in bootstrap tool.
-rwxr-xr-xdev/todo.html1
1 files changed, 1 insertions, 0 deletions
diff --git a/dev/todo.html b/dev/todo.html
index 5593b18..9d7cbbf 100755
--- a/dev/todo.html
+++ b/dev/todo.html
@@ -44,6 +44,7 @@
<h2 id="installation-bootstrap-tool">Installation Bootstrap Tool</h2>
<p>A tool similar to <a href="http://anonscm.debian.org/gitweb/?p=d-i/debootstrap.git;a=tree">debootstrap</a> 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.</p>
<p>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.</p>
+<p>To be determined is how the "second stage" of the installation &ndash; the execution of package maintainer scripts (<code>preinst</code> and <code>postinst</code>) to complete the configuration of each package &ndash; 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.</p>
<p>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.</p>
<p>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.</p>
<h2 id="pkg-x-build-tool">Package Cross Building Tool</h2>