summaryrefslogtreecommitdiffstats
path: root/README
blob: 983468179ce92096ba84a965557aac043c5b7b58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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,
  * 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 Autoconf,
  * GNU Automake, and
  * GNU Libtool.

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.

Binutils, GCC, Make, and the libc headers can be installed on Debian GNU/Linux
by installing the build-essential package.

These scripts have been tested on Debian GNU/Linux 7.0 (wheezy) with the libmpc3
and libmpc-dev packages from Debian's jessie suite.

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.

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.