There are some EFI firmwares that expect the loader to be in that
location and being uppercase, so that there more chances to make this
boot on more systems.
- The target pkgs are unpacked with -U, and then reconfiguration happens
within the chroot, so that there's no need for host dependencies.
- Use chroot where possible to make sure that euid==0, not xbps-uchroot.
Close#32 and #33
- The required host utilities (grub, squashfs-tools and xorriso) are now
installed for the host os, this way we don't have to make tricks for
dsos to work.
- The cachedir is now by default set to $PWD/xbps-cachedir-$arch, this way
packages for the host and the target don't conflict.
- Due to the changes above it's now possible to build musl images without
having musl-bootstrap installed, previously it was necessary.
The .iso can now be booted using Grub (memdisk from Syslinux package):
linux16 /memdisk
initrd16 /path/to/iso
As well as from Syslinux:
LINUX memdisk
INITRD path/to/iso
- Does not need bash anymore, a POSIX shell is enough.
- Avoid installing base-system twice to generate the initramfs.
- Reconfigure some pkgs in the rootfs... otherwise some system users won't be created.
- Added -K opt to not remove builddir.
The issue was that I forgot to copy the generated grubx64.efi into the
vfat image that is embedded into the ISO image, resulting in an unbootable
image on UEFI systems.
Thanks to pancake for reporting!
That means that mklive just needs xbps to generate working images.
Usage: mklive.sh [options]
Options:
-r <repo-url> Use this XBPS repository (may be specified multiple times).
-c <cachedir> Use this XBPS cache directory (/var/cache/xbps if unset).
-k <keymap> Default keymap to use (us if unset)
-l <locale> Default locale to use (en_US.UTF-8 if unset).
-i <gzip|bzip2|xz> Compression type for the initramfs image (gzip if unset).
-s <gzip|bzip2|xz> Compression type for the squashfs image (xz if unset)
-o <file> Output file name for the ISO image (auto if unset).
-p "pkg pkgN ..." Install additional packages into the ISO image.
The mklive.sh script generates a live image of the Void Linux distribution.
This ISO image can be written to a CD/DVD-ROM or any USB stick.