From: Ralph Ronnquist Date: Sun, 22 Sep 2024 01:06:58 +0000 (+1000) Subject: more editorial X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;h=d18ed473cb4acc509cb4bb74b0ab25ca0925dab7;p=rrq%2Fbespoke-installer.git more editorial --- diff --git a/README.adoc b/README.adoc index 8afa741..ee9e1c0 100644 --- a/README.adoc +++ b/README.adoc @@ -40,7 +40,7 @@ Thereafter it should be as simple as running, say, $ ./build-arm64 for making a pair of kernel and initrd.gz installer for an arm64 -architectire. This may then be tested in a qemu VM by running: +architecture. This may then be tested in a qemu VM by running: $ ./vm.sh arm64 @@ -53,44 +53,49 @@ the `virt` machine type and the `cortex-53` cpu for arm64. The script `./build-installer.sh` is run by a non-root user on the command line. It prepares three `build` subdirectories: -1. `$TARGET_ARCH/build/sources` contains the Packages file for the +1. `$TARGET_ARCH/build/sources` contains the Packages files for the sources, which are the `main`, `non-free-firmware` and `main/debian-installer` components of the Devuan `$DISTNAME` - repository (`daedalus` by default). + repository. 2. `$TARGET_ARCH/build/media` is a media filesystem with a repository pool of slightly bespoke structure. It includes in particular + * `.../dists` with a "standard" repository structure of meta files describing the media as repository; and - * `.../pool` with a bespoke layout containing the packages. -+ - The `pool` directory contains both all udeb packages (see below) - and the packages mentioned in `pool-packages-$TARGET_ARCH.list` - plus their depends and recommends packages (using a first choice - principle for alternatives) -+ - The directory tree at `$TARGET_ARCH/build/media` gets packed up as - `$TARGET_ARCH/build/initrd/pool.squashfs` to be included in the - final `$TARGET_ARCH/initrd.gz`. + + * `.../pool` with a bespoke layout containing the packages. The + `pool` directory contains both all udeb packages (see below) and + the packages mentioned in `pool-packages-$TARGET_ARCH.list` plus + their depends and recommends packages (using a first choice + principle for alternatives) + + * The directory tree at `$TARGET_ARCH/build/media` gets packed up + as `$TARGET_ARCH/build/initrd/pool.squashfs` to be included in + the final `$TARGET_ARCH/initrd.gz`. 3. `$TARGET_ARCH/build/initrd` is the installer's core execution filesystem, which gets populated by unpacking and configuring the udeb packages enumerated in `installer-packages-$TARGET_ARCH.list`. -+ - The `initrd` directory is augmented with the media squashfs and an - `.../init` script copied from `initrd-init`; that's the script that - runs the installer on boot. -+ - The directory tree at `$TARGET_ARCH/build/initrd` gets packed up at - end into `$TARGET_ARCH/initrd.gz`. Further, the linux kernel at - `build/initrd/boot/vmlinuz` is also copied up to project to level. - -At end, the `$TARGET_ARCH/` toplevel has got the files `vmlinuz` and -`initrd.gz` with the installer for the target architecture. The latter -includes the media pool as `/pool.squasfs` and is therefore rather -large. The target system needs to have enough RAM to accomodate the -unpacking of `initrd.gz` as well as additional free RAM for the -installation process. I would suggest it needs at least 2Gib RAM. + + * The `.../initrd` directory is augmented with the media squashfs + and an `.../init` script copied from toplevel `initrd-init`; + that's the script that runs the installer on boot. + + * The directory tree at `../initrd` gets packed up at end into + `$TARGET_ARCH/initrd.gz`. Further, the linux kernel at + `build/initrd/boot/vmlinuz` is also copied up to project to + level. + +**At the end**, the `$TARGET_ARCH/` directory has got the files +`vmlinuz` and `initrd.gz` with the installer for the target +architecture, in addition to the `build/` directory tree. + +The `$TARGET_ARCH/initrd.gz` file includes the media pool as +`/pool.squasfs` and is therefore rather large. The target system needs +to have enough RAM to accomodate the initrd unpacking as well as +additional free RAM for the installation process. I would suggest it +needs at least 2Gib RAM. == Running vm.sh @@ -121,3 +126,8 @@ Internet access. Note that `dnsmasq` might need other/more configuration to work well in your setup. + +''' +Copyright (C) 2024 Ralph Ronnquist +. +