| 1 |
The files in this directory are used to build the Debian installer.
|
| 2 |
Basically it consists of downloading udebs, unpacking them, applying some
|
| 3 |
magic (library reduction etc.) and building an image.
|
| 4 |
|
| 5 |
Recipe:
|
| 6 |
- Install the build-dependencies on the host system
|
| 7 |
(run dpkg-checkbuilddeps).
|
| 8 |
- Run "make sources.list" to automatically create a d-i sources.list.
|
| 9 |
Or, create your own sources.list.local.
|
| 10 |
- Run "fakeroot make image"
|
| 11 |
|
| 12 |
A more detailed overview of how the installer is built:
|
| 13 |
|
| 14 |
* sources.list is used to configure apt to download udebs from a mirror.
|
| 15 |
It is autogenerated based on /etc/apt/sources.list, by the Makefile's
|
| 16 |
sources.list target. Or you can provide your own locally modified
|
| 17 |
sources.list.local.
|
| 18 |
* The Makefile is configured via the make fragements in the config
|
| 19 |
directory. There are per-arch and per-image fragments that are included
|
| 20 |
by the main Makefile. There is also a make subdirectory, with
|
| 21 |
architecture-specific fragements that are included into the makefile for
|
| 22 |
non-configuration items.
|
| 23 |
* config/local can be added to override anything set in other fragments,
|
| 24 |
that is local to your system, and that you want to avoid accidentially
|
| 25 |
committing.
|
| 26 |
* pkg-lists has subdirectories for the different image types that list udebs
|
| 27 |
that are put on each image. The pkg-lists/TYPE/common files list udebs
|
| 28 |
common to all architectures, and the files named by architecture list
|
| 29 |
udebs specific to an architecture. These files can have #include lines to
|
| 30 |
include files from pkg-lists. Also, ${kernel:Version} in these files is
|
| 31 |
replaced with the kernel version, as set in the KERNELIMAGEVERSION variable.
|
| 32 |
* There's a TYPE variable that selects the type of image to build. Eg,
|
| 33 |
"fakeroot make TYPE=net" ("make listtypes" will list all available image
|
| 34 |
types)
|
| 35 |
* Apt is used to download the required udebs. This does *not* include
|
| 36 |
libraries; libraries used by udebs must be installed on the build system,
|
| 37 |
and so are build-depended on.
|
| 38 |
* If you have some udebs that are not available on your mirror yet,
|
| 39 |
you can drop them in localudebs/ and they will be used.
|
| 40 |
* dpkg is used to unpack the udebs into the build directory.
|
| 41 |
* A customized set of reduced libraries is generated to correspond to the
|
| 42 |
udebs that were installed.
|
| 43 |
* Some boot images have associated "driver" disks. These disks just get
|
| 44 |
udebs put on them. They are also unpacked and library reduction is run
|
| 45 |
against them when doing library reduction for their parent image.
|
| 46 |
* "make demo" (run as root) will chroot into the system.
|
| 47 |
* To burn a demo CD image (ISO) with the created installation system,
|
| 48 |
add the "image" argument to the the make call above. The resulting
|
| 49 |
filesystem images will be placed in dest/.
|