The Void Linux live image maker
Go to file
Michael Aldridge c97a67c04f packer: Add AWS AMI
This commit adds a packer configuration to build an AWS AMI.  The AMI
works in that it is a bootable void image that if it could be imported
to AWS it would be bootable and would work.  Unfortunately, AWS is
doing really naive string parsing on files in /boot rather than
checking that the contents are actually what they claim to be so the
import task fails.

NOTICE: AWS is the only cloud that this has been observed happening
on.  We can run as a vendor supported distro in GCP and in Azure
clouds, and so if you need Void on an enterprise cloud those are the
providers to look at.  If you're interested in a hobbyist cloud, Void
runs critical infrastructure in DigitalOcean and it is a fully
supported environment.

We could probably masquerade the kernel as something that would pass
the string parsing, because it appears that this parsing layer exists
only in the vm import service and not actually in any of the
functional parts of EC2, but that would require using a different
mechanism to install Void, and the ROI on supporting a single cloud in
this way just isn't there.  This import mechanism also appears to only
work on amd64 architectures, so it can't even support the newer
graviton instance types.
2020-08-30 15:48:44 -07:00
data data/issue: use .org website, use https 2019-02-16 21:45:33 -08:00
dracut dracut: Fix autoinstaller 2020-07-22 21:33:03 -07:00
grub mklive: add a new entry to load image into RAM (grub, syslinux). 2015-04-29 16:50:18 +02:00
hooks add hooks for dockerhub 2019-03-14 23:30:16 +01:00
isolinux mklive: add a new entry to load image into RAM (grub, syslinux). 2015-04-29 16:50:18 +02:00
keys Added musl.voidlinux.net RSA pubkey. 2015-05-08 17:25:42 +02:00
packer packer: Add AWS AMI 2020-08-30 15:48:44 -07:00
pxelinux.cfg Add netboot generator script 2017-08-06 21:03:55 -07:00
.dockerignore add dockerignore 2019-10-23 23:50:00 -07:00
.gitignore packer: Initial packer config 2019-03-30 23:10:12 -07:00
COPYING COPYING: it's 2015. 2015-04-15 07:33:47 +02:00
Dockerfile Dockerfile: update bootstrap alpine version to 3.12 2020-06-07 17:52:59 -07:00
Makefile Dockerfile: remove spdx-licenses-list 2020-05-08 21:04:08 -07:00
README.md README.md: remove (presumably dated) reference to runit 2020-07-25 12:43:48 -07:00
build-x86-images.sh.in build-x86-images.sh: remove intel-ucode from X_PKGS 2020-02-27 11:45:10 +01:00
installer.sh.in Added possibility to choose the partitioning software 2020-01-04 10:03:19 +01:00
lib.sh.in Fix execution of post install scripts on cross builds 2020-02-20 15:03:44 +01:00
mkimage.sh.in Only set root partition start on pinebookpro 2020-02-24 22:42:39 -08:00
mklive.sh.in dracut: Fix autoinstaller 2020-07-22 21:33:03 -07:00
mknet.sh.in mknet: take syslinux files from /usr/lib 2019-01-21 12:58:25 -08:00
mkplatformfs.sh.in Postpone package configuration 2020-03-16 12:53:36 +01:00
mkrootfs.sh.in Postpone package configuration 2020-03-16 12:53:36 +01:00
release.sh.in release.sh.in: Make an easy release script 2019-05-27 20:16:15 -07:00

README.md

The Void Linux image/live/rootfs maker and installer

This repository contains utilities for Void Linux:

  • installer (The Void Linux el-cheapo installer for x86)

  • mklive (The Void Linux live image maker for x86)

  • mkimage (The Void Linux image maker for ARM platforms)

  • mkplatformfs (The Void Linux filesystem tool to produce a rootfs for a particular platform)

  • mkrootfs (The Void Linux rootfs maker for ARM platforms)

  • mknet (Script to generate netboot tarballs for Void)

Build Dependencies

  • make

Dependencies

  • Compression type for the initramfs image
    • liblz4 (for lz4, xz) (default)
  • xbps>=0.45
  • qemu-user-static binaries (for mkrootfs)

Usage

Type

$ make

and then see the usage output:

$ ./mklive.sh -h
$ ./mkrootfs.sh -h
$ ./mkimage.sh -h

Examples

Build a native live image keyboard set to 'fr':

# ./mklive.sh -k fr

Build an i686 (on x86_64) live image with some additional packages:

# ./mklive.sh -a i686 -p 'vim rtorrent'

Build an x86_64 musl live image with packages stored in a local repository:

# ./mklive.sh -a x86_64-musl -r /path/to/host/binpkgs

See the usage output for more information :-)