Initial Port Bootstrap Scripts ============================== These scripts automate the bootstrapping of an initial port of ProteanOS. Prerequisites ------------- To bootstrap ProteanOS, you'll need a modern UNIX-like system. These scripts only support natively bootstrapping an any-linux-eglibc architecture such as core-linux-eglibc. Therefore, you'll need a system running Linux (or a compatible variant such as Linux-libre) and glibc (or a compatible variant such as EGLIBC) on a CPU that matches the target CPU of the ProteanOS architecture to be bootstrapped. You'll need to have the following software installed on your system: * opkbuild (version 3.0.0-alpha4 or later), * opkhelper (version 3.0.0-beta3 or later), * Sudo, * Git, * Subversion, * GNU Binutils, * GCC, * GNU Make, * Headers for your C library and Linux libc, * zlib (library and headers), * GNU Gettext, * GMP (library and headers), * GNU MPFR (library and headers), and * GNU MPC (library and headers, version 1.0 or later), * GNU M4, * GNU ncurses, * GNU Readline, * Expat, * Tcl 8.6, * Expect, * DejaGnu, * Time Zone Database code (comes with the GNU C Library), * GNU Autoconf, * GNU Automake, and * GNU Libtool. These scripts have been tested on Debian GNU/Linux 7.0 (wheezy) with the libmpc3 and libmpc-dev packages from Debian's jessie suite. Everything except opkbuild and opkhelper can be installed as follows on Debian GNU/Linux jessie or later: $ apt-get --no-install-recommends install sudo git subversion binutils \ > gcc-4.7 make libc6-dev linux-libc-dev zlib1g-dev gettext libgmp-dev \ > libmpfr-dev libmpc-dev m4 libncurses5-dev libncursesw5-dev \ > libreadline-dev libexpat1-dev tcl8.6-dev expect dejagnu autoconf \ > automake libtool patch file time fakeroot bzip2 xz-utils opkbuild can be downloaded and installed (in the default directories) as follows: $ wget http://files.proteanos.com\ > /pub/opkbuild/3.0.0-beta1/opkbuild-3.0.0-beta1.tar.gz $ tar -xzf opkbuild-3.0.0-beta1.tar.gz $ cd opkbuild-3.0.0-beta1/ $ ./configure --with-opkg=/there/is/no/opkg \ > --with-opkhelper-3.0=/usr/local/bin $ make # make install After installing opkbuild, be sure to run its mksysconf makefile with ARCH and PLAT macros to install ProteanOS system configuration files on your system. For example, to bootstrap the core-linux-eglibc dev port, run: # ./mksysconf ARCH=core-linux-eglibc PLAT=dev These scripts assume that opkbuild is built with the default sysconfdir (/etc) and datadir (/usr/local/share). If you've installed opkbuild with different directories, you'll need to edit these scripts. opkhelper can be downloaded and installed (in the default directories) as follows: $ wget http://files.proteanos.com\ > /pub/opkhelper/3.0.0-beta3/opkhelper-3.0.0-beta3.tar.gz $ tar -xzf opkhelper-3.0.0-beta3.tar.gz $ cd opkhelper-3.0.0-beta3/ $ ./configure $ make $ make install Running ------- Following is an overview of the initial port bootstrap scripts: Name Description ---------------------------------------------------------------------------- bootstrap-main.sh Runs the other scripts to perform a full bootstrap. bootstrap-prepare.sh Downloads, configures, and patches packages to be built. bootstrap-stage1-build.sh Builds packages in stage 1 of the bootstrap. bootstrap-stage1-install.sh Installs built stage 1 packages into a bootstrap system directory. bootstrap-stage1-test.sh Tests the installed bootstrap system in a changed file system root. bootstrap-stage2-build.sh Builds packages in stage 2 of the bootstrap. bootstrap-stage2-install.sh Installs built stage 2 packages into a bootstrap system directory. bootstrap-stage2-test.sh Tests the installed stage 2 bootstrap system in a changed file system root. bootstrap-stage3-build.sh Builds packages in stage 3 of the bootstrap. To perform a full bootstrap, simply run bootstrap-main.sh. To perform just one step of the process, run one of the other scripts. The scripts can (and should) be run from a separate directory.