updated with packiso.sh
[rrq/tiniest.git] / README.adoc
1 = Project "tiniest"
2
3 This project is an experiment of building a tiny linux boot system
4 with a single, common syslinux boot configuration used for both legacy
5 bios and UEFI bios.
6
7 The script +mkit.sh+ prepares such a +bootimage.raw+ and the script
8 +vm.sh+ runs a Qemu VM for testing it. In addition, the script
9 +packit.sh+ runs xorriso to prepare an ISO with that boot image, to
10 boot either as cdrom for legacy bios or with EFI partition with for
11 UEFI bios.
12
13 .Program/packages used by mkit.sh, vm.sh and packiso.sh
14 ----
15 ar from binutils; gawk (as awk) from gawk; cat, chmod, cp, ln and rm
16 from coreutils; depmod from kmod; dpkg from dpkg; fakechroot from
17 fakechroot; fakeroot from fakeroot; find from findutils; mcopy, mkdir
18 and mmd from mtools; mke2fs from e2fsprogs; mkfs.fat from dosfstools;
19 sed from sed; sfdisk from fdisk; syslinux from syslinux; tar from tar;
20 wget from wget; xzcat from xz-utils; qemu-system-x86_64 from
21 qemu-system-x86; and xorriso from xorriso
22 ----
23
24 * Kernel version +$VERSION+ is obtained from the linux-image-amd64
25   dependency.
26
27 .Downloaded packages
28 ----
29 busybox-static linux-image-$VERSION
30 syslinux syslinux-common syslinux-efi syslinux-utils isolinux
31 ----
32
33 .How to build bootimage.raw
34 ----
35 $ ./mkit.sh
36 ----
37 Note that building will use +http_proxy+ if it's set.
38
39 .How to package bootimage.raw into tiniest.iso
40 ----
41 $ ./packiso.sh
42 ----
43
44 .How to test hard disk legacy bios boot
45 ----
46 $ ./vm.sh
47 ----
48 Then push <escape> to select boot device menu; number 2 is
49 +bootimage.raw+.
50
51 .How to test cdrom legacy bios boot
52 ----
53 $ ISO=y ./vm.sh
54 ----
55 Then push <escape> to select boot device menu; number 4 is
56 +tiniest.iso+.
57
58 .How to test hard disk UEFI bios boot
59 ----
60 $ EFI=yes ./vm.sh
61 ----
62 Note that this uses +bootimage.raw+ as second disk.
63
64 .How to test cdrom UEFI bios boot
65 ----
66 $ EFI=yes ISO=y ./vm.sh
67 ----
68 Note that this uses +tiniest.iso+ as second disk.