annotate www/index.html @ 33:a051c841d782

Add command recording ability (via record-commands wrapper).
author Rob Landley <rob@landley.net>
date Fri, 22 Mar 2013 22:54:03 -0500
parents 5555993a80c5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
1 <title>Build Control Images</title>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
2
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
3 <h1>Control Images</h1>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
4
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
5 <p>These are squashfs images that plug into <a href=/aboriginal>Aboriginal
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
6 Linux</a> to drive an automated software build. These images are
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
7 target-independent and self-contained: they include source code and build
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
8 control scripts, and upload the result to the host via FTP through the virtual
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
9 network.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
10
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
11 <ul>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
12 <li><a href=downloads>Download source code</a></li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
13 <li><a href=downloads/binaries>Download binaries</a></li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
14 <li><a href=/hg/control-images>Mercurial Repository</a></li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
15 </ul>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
16
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
17 <p>Development discussion goes on the
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
18 <a href=http://lists.landley.net/listinfo.cgi/aboriginal-landley.net>Aboriginal Linux mailing list</a>.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
19
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
20 <h2>How to use</h2>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
21
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
22 <p>Each system image tarball includes a "./native-build.sh" which expects a
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
23 control image as its argument. The results are uploaded through the
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
24 virtual network to an "upload" subdirectory under the system image
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
25 directory.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
26
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
27 <p>This attaches the control image as the third
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
28 virtual hard drive provided to QEMU (the first is the root filesystem, the
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
29 second is a sparse 2 gigabyte ext3 filesystem provided by dev-environment.sh
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
30 and mounted on /home to provide writeable space for the build). The Aboriginal
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
31 Linux init script (sbin/init.sh) will mount this /dev/hdc on /mnt and check for
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
32 an executable "/mnt/init". If it finds one, it will run that instead of
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
33 launching a shell prompt. (It pauses for three seconds for the user to press
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
34 any key to get a shell prompt anyway.) When the script exits, the system
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
35 image shuts down causing QEMU to exit.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
36
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
37 <p>The /mnt/init script can use busybox ftpput to upload its results to
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
38 the host using FTP_SERVER and FTP_PORT environment variables. (By default
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
39 native-build.sh runs the busybox ftp server on the host, writing into an
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
40 "upload" subdirectory.)</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
41
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
42 <h2>Example usage:</h2>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
43
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
44 <blockquote><pre>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
45 cd system-image-armv5l
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
46 ./native-build.sh ../static-tools.hdc
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
47 ls -l upload
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
48 </pre></blockquote>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
49
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
50 <h2>Can I use this on real hardware?</h2>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
51
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
52 <p>Sure, grab a root-filesystem tarball, chroot into it (probably via
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
53 sbin/init.sh to set up the mount points properly), mount the squashfs
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
54 on /mnt, and run /mnt/init.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
55
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
56 <p>You might want to export values for "CPUS", "HOST", "FTP_SERVER", and
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
57 "FTP_PORT", and maybe even set up distcc
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
58 (see dev-environment.sh for an example).</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
59
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
60 <h1>Creating build images</h1>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
61
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
62 <p>Download the source code and run "./build.sh" to list available build
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
63 images (from the "images" directory). Run "./build.sh all" to compile
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
64 everything.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
65
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
66 <p>This build infrastructure is largely copied from Aboriginal Linux.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
67
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
68 <h2>Designing your own build control images</h2>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
69
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
70 <p>The native-build.sh script attaches the control image as the third
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
71 virtual hard drive provided to QEMU, hence the "hdc" extension.
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
72 The init scripts then mount this on /mnt, and run /mnt/init if it exists
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
73 instead of starting a command shell. From there, the script can do anything
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
74 it needs to.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
75
27
5555993a80c5 Fluff up web page.
Rob Landley <rob@landley.net>
parents: 5
diff changeset
76 <p>The full build-time environment is:</p>
5
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
77
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
78 <ul>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
79 <li><p>The first disk is Aboriginal Linux's squashfs root filesystem,
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
80 attached by run-emulator.sh and mounted on "/". This contains a simple
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
81 native Linux development environment built from busybox,
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
82 uClibc, gcc, binutils, make, and bash.</p></li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
83
27
5555993a80c5 Fluff up web page.
Rob Landley <rob@landley.net>
parents: 5
diff changeset
84 <li><p>The second disk is a 2 gigabyte ext3 filesystem created in a sparse
5555993a80c5 Fluff up web page.
Rob Landley <rob@landley.net>
parents: 5
diff changeset
85 file on the host (so it grows up to 2 gigabytes as space is used). It's
5555993a80c5 Fluff up web page.
Rob Landley <rob@landley.net>
parents: 5
diff changeset
86 attached to QEMU by dev-environment.sh, which then calls run-emulator.sh. If
5
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
87 /dev/hdb (or /dev/sdb) exists, sbin/init.sh will mount it
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
88 on "/home" to provide writeable space for the build. (Otherwise it
27
5555993a80c5 Fluff up web page.
Rob Landley <rob@landley.net>
parents: 5
diff changeset
89 mounts a tmpfs there if the root filesystem is read only, and does nothing
5555993a80c5 Fluff up web page.
Rob Landley <rob@landley.net>
parents: 5
diff changeset
90 if the root filesystem is already writeable.)</p>
5
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
91
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
92 <p>The dev-environment.sh script also sets up distcc if distccd and the
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
93 appropriate cross compiler are in the host's $PATH. It creates a directory
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
94 of symlinks to the cross compiler binaries and runs distccd
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
95 with a restricted $PATH so it can only find the cross compiler, and sets
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
96 DISTCC_HOSTS=$ADDRESS:$PORT/$CPUS on the kernel command line.<p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
97 </li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
98
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
99 <li><p>The third disk is the build control image attached by
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
100 native-build.sh, which then calls dev-environment.sh. The Aboriginal
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
101 Linux init script (sbin/init.sh) will mount this /dev/hdc on /mnt and check for
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
102 an executable "/mnt/init". If it finds one, it will run that instead of
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
103 launching a shell prompt. (It pauses for three seconds for the user to press
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
104 any key to get a shell prompt anyway.) When the script exits, the system
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
105 image shuts down causing QEMU to exit.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
106
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
107 <p>The native-build.sh script also sets the FTP_SERVER and FTP_PORT environment
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
108 variables, allowing the /mnt/init script to use busybox ftpput to upload its
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
109 results to the host. using FTP_SERVER and FTP_PORT environment variables.
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
110 If these variables aren't already set, native-build.sh runs the busybox ftp
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
111 server on the host, configured to write into an "upload" subdirectory.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
112 </li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
113 </ul>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
114
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
115 <p>Creating your own build control image means creating a squashfs with
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
116 what you want to appear on /mnt. It must contain at least an executable "init"
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
117 file.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
118
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
119 <h2>The basic control image build infrastructure</h2>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
120
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
121 <p>The "common" directory contains common code available to each build script.
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
122 The top level "build.sh" file pulls in the common definitions from
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
123 "common/include.sh", calls the "images/$NAME/build.sh" for the image in
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
124 question, and then makes a squashfs of the result. Control images are
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
125 created by running "./build.sh imagename", or "./build.sh all" to iterate
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
126 through all available images/*/build.sh files. The output should show
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
127 up in the "build" directory.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
128
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
129 <p>The source code for control images lives under the "images" directory, each
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
130 in its own subdirectory. Each one provides a file "images/$NAME/build.sh"
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
131 which populates a "$TOP/build/$NAME" directory and should contain an executable
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
132 file called "init" and any other files that init program requires.</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
133
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
134 <p>You can write your own images/$NAME/build.sh, which can put anything it wants
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
135 into the resulting image. (It doesn't have to perform a native build, it
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
136 can launch a server or something. Up to you.)</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
137
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
138 <h2>The bootstrap infrastructure</h2>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
139
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
140 <p>The other option is to use the "bootstrap" infrastructure by linking
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
141 an image's download.sh to common/builder.sh. This copies the common/bootstrap
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
142 code into the resulting system image, calls "images/$NAME/download.sh" to add
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
143 additional package source, and copies additional files (I.E. build scripts)
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
144 from the "images/$NAME/mnt" directory. This download.sh can use the same
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
145 "download" function as aboriginal linux
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
146 (there's a copy in include/download_functions.sh).</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
147
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
148 <p>A bootstrap image builds packages and installs them into the system
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
149 image, copying the system to a writeable /home/chroot first if necessary using
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
150 setup-chroot. Note that the control image is --bind mounted into the new
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
151 chroot, and thus remains read only.</p.
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
152
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
153 <p>The /mnt/run-build-stages.sh script iterates through
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
154 /mnt/package-list and calls /mnt/build-one-package.sh on each name listed,
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
155 in order. (It keeps a list of packages it's built in /usr/src/manifest so
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
156 it can skip rebuilding successfully installed packages if interactively
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
157 stopped and restarted.)</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
158
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
159 <p>/mnt/build-one-package.sh calls build scripts out of /mnt/build which can
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
160 end in different extensions indicating how to set up the writeable build
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
161 directory:</p>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
162
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
163 <ul>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
164 <li><b>.sh</b> - copy a tree of symlinks from /mnt/packages to /home</li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
165 <li><b>.nolink</b> - copy file contents from /mnt/packages to /home</li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
166 <li><b>.nosrc</b> - this package has no source code</li>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
167 </ul>
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
168
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
169 <p>When /mnt/run-build-stages.sh exits, /mnt/init uploads a tarball of the
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
170 resulting chroot filesystem. The intended use is to convert the minimal
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
171 native development environment into a distribution environment for use
73ab228e8da3 Make a simple web page for the control images.
Rob Landley <rob@landley.net>
parents:
diff changeset
172 with an existing distribution's package manager and source repository.</p>