From: Ralph Ronnquist Date: Tue, 29 Apr 2025 05:25:35 +0000 (+1000) Subject: Refresh and clean up X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;h=HEAD;p=rrq%2Ftiniest.git Refresh and clean up --- diff --git a/README.adoc b/README.adoc index d269b4d..a05e8c9 100644 --- a/README.adoc +++ b/README.adoc @@ -1,72 +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. -In addition, the script +packit.sh+ runs xorriso to prepare an ISO -with that boot image, to boot either as cdrom for legacy bios or with -EFI partition with for UEFI bios. +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. -.Program/packages used by mkit.sh, vm.sh and packiso.sh ----- -ar from binutils; gawk (as awk) from gawk; cat, chmod, cp, ln and rm -from coreutils; depmod from kmod; fakeroot from fakeroot; find from -findutils; mcopy, mkdir and mmd from mtools; mke2fs from e2fsprogs; -mkfs.fat from dosfstools; sed from sed; sfdisk from fdisk; syslinux -from syslinux; tar from tar; wget from wget; xzcat from xz-utils; -qemu-system-x86_64 from qemu-system-x86; and xorriso from xorriso ----- +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. -* Kernel version +$VERSION+ is obtained from the linux-image-amd64 - dependency. +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. -.Downloaded packages ----- -busybox-static linux-image-$VERSION -syslinux syslinux-common syslinux-efi syslinux-utils isolinux ----- +The script +packiso.sh+ runs xorriso to prepare a bootable ISO with the boot +image as an alternative, El Torito boot option. + +.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 +==== ''' -.Hown to build bootimage.raw +.How to build `bootimage.raw` ---- $ ./mkit.sh ---- -Note that building will use +http_proxy+ if it's set. +Note that it uses +http_proxy+ if that is set. .How to package bootimage.raw into tiniest.iso ---- $ ./packiso.sh ---- -''' - -.How to test hard disk legacy bios boot +.How to test ---- $ ./vm.sh ---- -Then push to select boot device menu; number 2 is -+bootimage.raw+. - -.How to test cdrom legacy bios boot ----- -$ ISO=y ./vm.sh ----- -Then push to select boot device menu; number 4 is -+tiniest.iso+. - -.How to test hard disk UEFI bios boot ----- -$ EFI=yes ./vm.sh ----- -Note that this uses +bootimage.raw+ as second disk. - -.How to test cdrom UEFI bios boot ----- -$ EFI=yes ISO=y ./vm.sh ----- -Note that this uses +tiniest.iso+ as second disk.