summaryrefslogtreecommitdiffstats
path: root/dev/releases/1/opkbootstrap.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'dev/releases/1/opkbootstrap.mdwn')
-rw-r--r--dev/releases/1/opkbootstrap.mdwn42
1 files changed, 42 insertions, 0 deletions
diff --git a/dev/releases/1/opkbootstrap.mdwn b/dev/releases/1/opkbootstrap.mdwn
new file mode 100644
index 0000000..83bb6c0
--- /dev/null
+++ b/dev/releases/1/opkbootstrap.mdwn
@@ -0,0 +1,42 @@
+[[!meta title="Release Series 1 Goal: Installation Bootstrap Tool"]]
+
+A goal for [[release_1.0.0|dev/releases/1]] is an installation bootstrap tool.
+
+
+Overview
+========
+
+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|dev/todo/package-cross-building-tool]] 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.
+
+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
+implementations of the `tar` and `chroot` programs. Additionally, the package
+building tool can build packages for this distribution inside an isolated
+environment made using this installation tool. Therefore, these tools can be
+thought of as a "Software Development Kit" ("SDK") for the distribution, usable
+on any capable development system.
+
+Ideas and code may be borrowed from debootstrap and old versions of ipkg (the
+predecessor to opkg, originally written in UNIX shell command language).
+
+
+Status
+======
+
+Development has begun on [opkbootstrap][opkbootstrap]. It currently downloads
+old ipkg-style source lists, finds essential packages, and unpacks packages. To
+do are downloading Debian pool-style source lists, resolving dependencies,
+downloading packages, setting up an isolated environment ("chroot"), and running
+maintainer scripts.
+
+
+[debootstrap]: http://anonscm.debian.org/gitweb/?p=d-i/debootstrap.git;a=tree
+[opkbootstrap]: http://git.os.pehjota.net/opkbootstrap/opkbootstrap.git/