A tool for creating small bootable Linux images that can do something right after they boot up.
For example, it can create a bootable USB Flash Drive that will run a Python script which copies some files from the boot medium to the hard disk.
It utilizes Buildroot, GRUB and tools for creating ISO images.
Everything is set up to run under Docker, which is the only requirement on the host system.
- Build Docker images:
./1_build_images.sh
- (optional) Make adjustment to Buildroot (via menuconfig):
./menuconfig.sh
- Build kernel and rootfs with Buildroot:
./2_run_buildroot.sh
-
Copy your files to
diskroot/
directory. After booting, runboot will runrun.sh
. -
Create ISO image:
./3_create_iso.sh
Optionally, path to diskroot can be provided as first argument of 3_create_iso.sh
script.
Image will be placed in output-iso/
directory.
- (optional) Test your ISO image with QEMU:
./run_in_qemu.sh cdrom-pc # or cdrom-efi, hda-pc, hda-efi
- BIOS and UEFI modes in a single image,
- booting from USB Flash Drive, CD-ROM drive or a hard disk.
Default repository configuration creates a bootable image that shows Hello World from a Python script and reboots the system.