https://github.com/nlm/bootmaker
Simple, Docker-based, light, multi-arch, network-boot Linux system builder, based on Alpine Linux
https://github.com/nlm/bootmaker
embedded initrd network-boot
Last synced: 10 months ago
JSON representation
Simple, Docker-based, light, multi-arch, network-boot Linux system builder, based on Alpine Linux
- Host: GitHub
- URL: https://github.com/nlm/bootmaker
- Owner: nlm
- License: mit
- Created: 2017-01-03T00:16:53.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-19T11:48:12.000Z (about 9 years ago)
- Last Synced: 2025-06-03T23:14:24.968Z (11 months ago)
- Topics: embedded, initrd, network-boot
- Language: Shell
- Size: 1.65 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
bootmaker
=========

Simple, Docker-based, light, network-boot Linux system, based on Alpine.
How it works
------------
It uses Docker Alpine Linux images from [multiarch](https://github.com/multiarch) to build a light
rootfs, pack it into an initramfs, and provide a matching kernel.
How to use ?
------------
Customize your image if needed:
- edit the Dockerfile.template
- edit init from assets/init/init
- add services in assets/etc/services-parts
Build the `initrd.img` and extract `vmlinuz`:
```
# BOOTMAKER_ARCH=x86_64 ./build.sh
```
You'll get the files, ready to be distributed via pxe
to network-boot your machines
Supported architectures
-----------------------
- x86_64
- armhf
more to come...
Cross Building
--------------
Add support for crossbuilding, then build your image normally:
```
apt-get install qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static:register
```
Example pxelinux config
-----------------------
```
menuentry "Bootmaker image" {
set root=(pxe)
set gfxpayload=1024x768x16,1024x768
echo "loading linux..."
linux /boot/vmlinuz quiet ro nofb nomodeset console=tty0
echo "loading initrd..."
initrd /boot/initrd.img
echo "booting..."
boot
}
```