diff options
Diffstat (limited to 'dev/releases/1')
-rw-r--r-- | dev/releases/1/opkbootstrap.mdwn | 42 |
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/ |