From d63cc2690278d5ff7751492892c3f43665a98d05 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Wed, 30 May 2012 02:13:09 -0400 Subject: Shorten "id" attributes in "dev/todo". "Installation Bootstrap Tool" was missing an ID. --- diff --git a/dev/todo.html b/dev/todo.html index c760f59..62161cd 100755 --- a/dev/todo.html +++ b/dev/todo.html @@ -8,7 +8,7 @@

Thus, generally speaking, the solution to be adopted in this system is to make packages that provide system services also include the necessary init scripts (installed in /etc/init.d), to include inter-service dependency metadata in init scripts, and to use a tool at the time of service package installation to generate sequentially-named symoblic links in /etc/rc.d.

An obvious boot sequencing tool is "insserv" maintained by Werner Fink and used by Debian and openSUSE. However, this C program (in compliance with the LSB) assumes the use of runlevels. This operating system uses the init daemon of BusyBox, which doesn't support runlevels. Therefore, we'll need to either modify insserv to work without runlevels or write our own tool for installing symbolic links to init scripts.

Additionally, we need to decide how completely we'll conform, if at all, with the LSB in this area.

-

Multiarch

+

Multiarch

Multiarch refers to the ability to install and use packages built for non-native architectures. It is currently being documented and implemented in Debian and Ubuntu. Multiarch is useful for this distribution because it makes cross compiling easy (see "Package Cross Building Tool" and "Multiarch Cross Toolchain Packages" below).

Simply speaking, there are six aspects of a multiarch implementation:

In summary, there is much design work to be done, opkg and opkhelper must be modified to support multiarch, and certain packages will need to be built to handle multiarch library paths. Of course Debian is a great reference implementation, but there still remains much original work to be done.

-

Installation Bootstrap Tool

+

Installation Bootstrap Tool

A tool similar to 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.

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.

Package Cross Building Tool

A tool similar to pbuilder and sbuild of Debian needs to be written to build packages within a chroot environment containing a base system installed by the installation bootstrap tool. It needs to support cross building of packages using multiarch cross toolchains.

-

Multiarch Cross Toolchain Packages

+

Multiarch Cross Toolchain Packages

Needed are packages of toolchain components (e.g. GCC and EGLIBC) that use multiarch library paths.

There is currently a Google Summer of Code 2012 project to develop such packages for Debian.

-- cgit v0.9.1