X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=README.adoc;h=cd08bdf796cc33beedadf1f14d1465d8dc72df6d;hb=HEAD;hp=95c37f695cf5e4b25f7cefc068cfbac2651b9ff1;hpb=619a077ae5857d55de7ee6323f9d7d92b7905d8e;p=rrq%2Ftiniest.git diff --git a/README.adoc b/README.adoc index 95c37f6..a05e8c9 100644 --- a/README.adoc +++ b/README.adoc @@ -1,39 +1,74 @@ -= Project "tiniest" += Project "Rrq's Tiniest Devuan Excalibur OS" -This project is an experiment of building a tiny linux boot system -with a single, common syslinux boot configuration used for both legacy -bios and UEFI bios. +This project contains a script, `mkit.sh`, that based on Devuan's +excalibur repository builds a tiny (32 Mb) bootable disk image, +`bootimage.raw`, with just a Linux kernel and initrd to offer a +minimal command line shell. -The script +mkit.sh+ prepares such a +bootimage.raw+ and the script -+vm.sh+ runs a Qemu VM for testing it. +That "**Rrq's Tiniest Devuan Excalibur OS**" is intended to be a start +point for someone with technical interest in the very first boot +stages, as well as for someone who wish to set up their own OS/Desktop +distribution without carrying much or any excess software. -.Program used by mkit.sh and vm.sh ----- -ar awk bash cat chmod cp dd depmod dpkg fakechroot fakeroot find ln -mcopy mkdir mke2fs mkfs.fat mmd rm sed sfdisk syslinux tar wget xzcat -qemu-system-x86_64 ----- +The way to get it tiny is of course to rely on busybox-static which is +a single binary that caters for a large range of "standard" commands +depending on which (command) name it is invoked as. Other than using +that, it is then a matter of only including the most important kernel +modules. -* Kernel version +$VERSION+ is obtained from the linux-image-amd64 - dependency. +This project also contains a few other scripts, in particular `vm.sh` +for running a Qemu virtual machine to trial either `bootimage.raw` in +its alternative bios use cases, and `packiso.sh` which prepares a +bootable hybrid ISO with `bootimage.raw` and more. -.Downloaded packages ----- -busybox-static linux-image-$VERION -syslinux syslinux-common syslinux-efi syslinux-utils ----- +The interested developer/explorer would start by investigating, and +probably tuning, the steps of the `mkit.sh` script so as to compose +their own special disk image. As is, the script prepared a disk image +that includes boot equipments both for legacy bios boot and for UEFI +bios boot. Both of the boot equipments are deployments of syslinux +boot software that arekept together in the first disk image partition +with an EFI/FAT file system. The disk image also has a empty `ext4` +partition that may be extended to becomve a larger, second stage root +file system. + +The script +packiso.sh+ runs xorriso to prepare a bootable ISO with the boot +image as an alternative, El Torito boot option. -.How to build +.List of program/packages used by mkit.sh, vm.sh and packiso.sh +[caption=""] +==== +* ar from binutils +* cat, chmod, cp, ln and rm from coreutils +* depmod from kmod fakeroot from fakeroot +* find from findutils +* gawk (as awk) from gawk +* mcopy, mkdir and mmd from mtools +* mke2fs from e2fsprogs +* mkfs.fat from dosfstools +* qemu-system-x86_64 from qemu-system-x86 +* sed from sed +* sfdisk from fdisk +* syslinux from syslinux +* tar from tar +* wget from wget +* xorriso from xorriso +* xzcat from xz-utils +==== + +''' + +.How to build `bootimage.raw` ---- $ ./mkit.sh ---- +Note that it uses +http_proxy+ if that is set. -.How to test legacy bios boot +.How to package bootimage.raw into tiniest.iso ---- -$ ./vm.sh +$ ./packiso.sh ---- -.How to test UEFI bios boot +.How to test ---- -$ EFI=yes ./vm.sh +$ ./vm.sh ----