capture
[rrq/rescue-boot.git] / README.adoc
1 = rescue-boot
2
3 This project holds scripts that prepares a "rescue" boot image file
4 with a Devuan ceres minbase filesystem.
5
6 * +./minbase-strap.sh+ prepares boot-ceres-$ARCH.img
7
8   - +./minbase-strap-bios.sh+ include fragment preparing bios boot equipment
9
10   - +./minbase-strap-uefi.sh+ include fragment preparing uefi boot equipment
11
12   - +./minbase-strap-mkimg.sh+ include fragment packaging into disk file
13
14 * +./run.sh boot-ceres-$ARCH.img+ boots it up in a virtual machine.
15
16 == About the boot image preparation
17
18 The rescue boot image is a full disk image with two partitions. The
19 first is a FAT partition that contains a linux kernel and initrd for
20 the kernel and boot equipments using syslinux for both legacy bios and
21 UEFI bios boot.
22
23 The initrd.gz file is quite large makign the partition somewhat larger
24 than 100M and this makes it less ameniable as boot image for a hybrid
25 ISO (which has a 32M limit).
26
27 The preparation populates a root filesystem in the FS directory by
28 using debootstrap followed by certain "Captain's Picks" to include
29 partcular choice software.
30
31 The scripting asks firstly for a kernel choice and then an init script
32 choice to optionally replace the "standard" initrd init script with
33 some rescue variant.
34
35 == About the virtual machine setup
36
37 The run.sh script starts a QEMU system emulator for the boot image
38 given on the command line. E.g.,
39
40     $ ./run.sh boot-ceres-amd64.img
41
42 With environment setting EFI=yes, the emulation uses UEFI boot. E.g.
43
44     $ EFI=yes ./run.sh boot-ceres-amd64.img
45
46 The script assumes the host has a "vde2" setup with a "vde-switch"
47 using control directory "/run/vde.ctl". Any alternatie network setup
48 needs script hands-on to change the "NET=.." variable.
49