From fa2d3afcfa3a3c09ae04a7d5e44335c025a1440a Mon Sep 17 00:00:00 2001
From: P. J. McDermott <pehjota>
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