{"id":13765222,"url":"https://github.com/void-linux/void-mklive","last_synced_at":"2025-05-15T11:03:17.607Z","repository":{"id":32864200,"uuid":"137503485","full_name":"void-linux/void-mklive","owner":"void-linux","description":"The Void Linux live image maker","archived":false,"fork":false,"pushed_at":"2025-04-01T03:45:43.000Z","size":8716,"stargazers_count":359,"open_issues_count":31,"forks_count":194,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-07T10:17:52.399Z","etag":null,"topics":["hacktoberfest","voidlinux"],"latest_commit_sha":null,"homepage":"https://voidlinux.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/void-linux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-15T15:25:59.000Z","updated_at":"2025-04-06T21:33:18.000Z","dependencies_parsed_at":"2023-02-19T20:35:24.003Z","dependency_job_id":"e09c611c-5a82-4726-bcb7-26ebaf16555a","html_url":"https://github.com/void-linux/void-mklive","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/void-linux%2Fvoid-mklive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/void-linux%2Fvoid-mklive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/void-linux%2Fvoid-mklive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/void-linux%2Fvoid-mklive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/void-linux","download_url":"https://codeload.github.com/void-linux/void-mklive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248933340,"owners_count":21185460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","voidlinux"],"created_at":"2024-08-03T16:00:35.603Z","updated_at":"2025-04-14T18:10:22.695Z","avatar_url":"https://github.com/void-linux.png","language":"Shell","readme":"\u003c!-- DO NOT EDIT, generated by make README.md --\u003e\n\n# The Void Linux live image/rootfs generator and installer\n\n## Overview\n\nThis repository contains several utilities:\n\n* [*mklive.sh*](#mklivesh) - The Void Linux live image generator for x86\n* [*mkiso.sh*](#mkisosh) - Wrapper script to generate bootable and installable live\n  images for i686, x86_64, and aarch64.\n* [*mkrootfs.sh*](#mkrootfssh) - The Void Linux rootfs generator for all platforms\n* [*mkplatformfs.sh*](#mkplatformfssh) - The Void Linux filesystem tool to produce\n  a rootfs for a particular platform\n* [*mkimage.sh*](#mkimagesh) - The Void Linux image generator for ARM platforms\n* [*mknet.sh*](#mknetsh) - Script to generate netboot tarballs for Void\n* *installer.sh* - The Void Linux el-cheapo installer for x86\n* *release.sh* - interacts with GitHub CI to generate and sign images for releases\n\n### Workflow\n\n#### Generating x86 live ISOs\n\nTo generate a live ISO like the officially-published ones, use\n[*mkiso.sh*](#mkisosh). To generate a more basic live ISO\n(which does not include things like `void-installer`), use [*mklive.sh*](#mklivesh).\n\n#### Generating ROOTFS tarballs\n\nROOTFS tarballs contain a basic Void Linux root filesystem without a kernel.\nThese can be useful for doing a [chroot install](https://docs.voidlinux.org/installation/guides/chroot.html)\nor for [chroots and containers](https://docs.voidlinux.org/config/containers-and-vms/chroot.html).\n\nUse [*mkrootfs.sh*](#mkrootfssh) to generate a Void Linux ROOTFS.\n\n#### Generating platform-specific tarballs\n\nPlatform-specific ROOTFS tarballs, or PLATFORMFS tarballs, contain a basic Void\nLinux root filesystem including a kernel. These are commonly used for bootstrapping\nARM systems or other environments that require platform-specific kernels, like\nRaspberry Pis.\n\nFirst create a ROOTFS for the desired architecture, then use\n[*mkplatformfs.sh*](#mkplatformfssh) to generate a Void Linux PLATFORMFS.\n\n#### Generating ARM images\n\nPlatform-specific filesystem images contain a basic filesystem layout (`/` and\n`/boot` partitions), ready to be copied to the target drive with `dd`. These are\nnot \"live\" images like those available on x86 platforms, and do not need\ninstallation like live ISOs.\n\nTo generate these images, first create a PLATFORMFS for the desired platform,\nthen use [*mkimage.sh*](#mkimagesh) to generate the image.\n\n## Dependencies\n\nNote that void-mklive is not guaranteed to work on distributions other than Void\nLinux, or in containers.\n\n* Compression type for the initramfs image (by default: liblz4 for lz4, xz)\n* xbps\u003e=0.45\n* qemu-user-static binaries (for mkrootfs)\n* bash\n\n## Kernel Command-line Parameters\n\n`void-mklive`-based live images support several kernel command-line arguments\nthat can change the behavior of the live system:\n\n- `live.autologin` will skip the initial login screen on `tty1`.\n- `live.user` will change the username of the non-root user from the default\n  `anon`. The password remains `voidlinux`.\n- `live.shell` sets the default shell for the non-root user in the live environment.\n- `live.accessibility` enables accessibility features like the console screenreader\n  `espeakup` in the live environment.\n- `console` can be set to `ttyS0`, `hvc0`, or `hvsi0` to enable `agetty` on that\n  serial console.\n- `locale.LANG` will set the `LANG` environment variable. Defaults to `en_US.UTF-8`.\n- `vconsole.keymap` will set the console keymap. Defaults to `us`.\n\n### Examples:\n\n- `live.autologin live.user=foo live.shell=/bin/bash` would create the user `foo`\n  with the default shell `/bin/bash` on boot, and log them in automatically on `tty1`\n- `live.shell=/bin/bash` would set the default shell for the `anon` user to `/bin/bash`\n- `console=ttyS0 vconsole.keymap=cf` would enable `ttyS0` and set the keymap in\n  the console to `cf`\n- `locale.LANG=fr_CA.UTF-8` would set the live system's language to `fr_CA.UTF-8`\n\n## Usage\n\n### mkiso.sh\n\n```\nUsage: mkiso.sh [options ...] [-- mklive options ...]\n\nWrapper script around mklive.sh for several standard flavors of live images.\nAdds void-installer and other helpful utilities to the generated images.\n\nOPTIONS\n -a \u003carch\u003e     Set architecture (or platform) in the image\n -b \u003cvariant\u003e  One of base, enlightenment, xfce, mate, cinnamon, gnome, kde,\n               lxde, lxqt, or xfce-wayland (default: base). May be specified multiple times\n               to build multiple variants\n -d \u003cdate\u003e     Override the datestamp on the generated image (YYYYMMDD format)\n -t \u003carch-date-variant\u003e\n               Equivalent to setting -a, -b, and -d\n -r \u003crepo\u003e     Use this XBPS repository. May be specified multiple times\n -h            Show this help and exit\n -V            Show version and exit\n\nOther options can be passed directly to mklive.sh by specifying them after the --.\nSee mklive.sh -h for more details.\n```\n\n### mklive.sh\n\n```\nUsage: mklive.sh [options]\n\nGenerates a basic live ISO image of Void Linux. This ISO image can be written\nto a CD/DVD-ROM or any USB stick.\n\nTo generate a more complete live ISO image, use mkiso.sh.\n\nOPTIONS\n -a \u003carch\u003e          Set XBPS_ARCH in the ISO image\n -b \u003csystem-pkg\u003e    Set an alternative base package (default: base-system)\n -r \u003crepo\u003e          Use this XBPS repository. May be specified multiple times\n -c \u003ccachedir\u003e      Use this XBPS cache directory (default: ./xbps-cachedir-\u003carch\u003e)\n -k \u003ckeymap\u003e        Default keymap to use (default: us)\n -l \u003clocale\u003e        Default locale to use (default: en_US.UTF-8)\n -i \u003clz4|gzip|bzip2|xz\u003e\n                    Compression type for the initramfs image (default: xz)\n -s \u003cgzip|lzo|xz\u003e   Compression type for the squashfs image (default: xz)\n -o \u003cfile\u003e          Output file name for the ISO image (default: automatic)\n -p \"\u003cpkg\u003e ...\"     Install additional packages in the ISO image\n -g \"\u003cpkg\u003e ...\"     Ignore packages when building the ISO image\n -I \u003cincludedir\u003e    Include directory structure under given path in the ROOTFS\n -S \"\u003cservice\u003e ...\" Enable services in the ISO image\n -e \u003cshell\u003e         Default shell of the root user (must be absolute path).\n                    Set the live.shell kernel argument to change the default shell of anon.\n -C \"\u003carg\u003e ...\"     Add additional kernel command line arguments\n -P \"\u003cplatform\u003e ...\"\n                    Platforms to enable for aarch64 EFI ISO images (available: pinebookpro, x13s)\n -T \u003ctitle\u003e         Modify the bootloader title (default: Void Linux)\n -v linux\u003cversion\u003e  Install a custom Linux version on ISO image (default: linux metapackage).\n                    Also accepts linux metapackages (linux-mainline, linux-lts).\n -K                 Do not remove builddir\n -h                 Show this help and exit\n -V                 Show version and exit\n```\n\n### mkrootfs.sh\n\n```\nUsage: mkrootfs.sh [options] \u003carch\u003e\n\nGenerate a Void Linux ROOTFS tarball for the specified architecture.\n\nSupported architectures:\n i686, i686-musl, x86_64, x86_64-musl,\n armv5tel, armv5tel-musl, armv6l, armv6l-musl, armv7l, armv7l-musl\n aarch64, aarch64-musl,\n mipsel, mipsel-musl,\n ppc, ppc-musl, ppc64le, ppc64le-musl, ppc64, ppc64-musl\n riscv64, riscv64-musl\n\nOPTIONS\n -b \u003csystem-pkg\u003e  Set an alternative base-system package (default: base-container-full)\n -c \u003ccachedir\u003e    Set XBPS cache directory (default: ./xbps-cachedir-\u003carch\u003e)\n -C \u003cfile\u003e        Full path to the XBPS configuration file\n -r \u003crepo\u003e        Use this XBPS repository. May be specified multiple times\n -o \u003cfile\u003e        Filename to write the ROOTFS to (default: automatic)\n -x \u003cnum\u003e         Number of threads to use for image compression (default: dynamic)\n -h               Show this help and exit\n -V               Show version and exit\n```\n\n### mkplatformfs.sh\n\n```\nUsage: mkplatformfs.sh [options] \u003cplatform\u003e \u003crootfs-tarball\u003e\n\nGenerates a platform-specific ROOTFS tarball from a generic Void Linux ROOTFS\ngenerated by mkrootfs.sh.\n\nSupported platforms: i686, x86_64, GCP,\n                     rpi-armv6l, rpi-armv7l, rpi-aarch64,\n                     pinebookpro, pinephone, rock64, rockpro64, asahi\n\nOPTIONS\n -b \u003csystem-pkg\u003e  Set an alternative base-system package (default: base-system)\n -c \u003ccachedir\u003e    Set the XBPS cache directory (default: ./xbps-cachedir-\u003carch\u003e)\n -C \u003cfile\u003e        Full path to the XBPS configuration file\n -k \u003ccmd\u003e         Call '\u003ccmd\u003e \u003cROOTFSPATH\u003e' after building the ROOTFS\n -n               Do not compress the image, instead print out the ROOTFS directory\n -o \u003cfile\u003e        Filename to write the PLATFORMFS archive to (default: automatic)\n -p \"\u003cpkg\u003e ...\"   Additional packages to install into the ROOTFS\n -r \u003crepo\u003e        Use this XBPS repository. May be specified multiple times\n -x \u003cnum\u003e         Number of threads to use for image compression (default: dynamic)\n -h               Show this help and exit\n -V               Show version and exit\n```\n\n### mkimage.sh\n\n```\nUsage: mkimage.sh [options] \u003cplatformfs-tarball\u003e\n\nGenerates a filesystem image suitable for writing with dd from a PLATFORMFS\ntarball generated by mkplatformfs.sh. The filesystem layout is configurable,\nbut customization of the installed system should be done when generating the\nPLATFORMFS. The resulting image will have 2 partitions, /boot and /.\n\nOPTIONS\n -b \u003cfstype\u003e    /boot filesystem type (default: vfat)\n -B \u003cbsize\u003e     /boot filesystem size (default: 256MiB)\n -r \u003cfstype\u003e    / filesystem type (default: ext4)\n -s \u003ctotalsize\u003e Total image size (default: 900MiB)\n -o \u003coutput\u003e    Image filename (default: guessed automatically)\n -x \u003cnum\u003e       Number of threads to use for image compression (default: dynamic)\n -h             Show this help and exit\n -V             Show version and exit\n\nAccepted size suffixes: KiB, MiB, GiB, TiB, EiB.\n\nThe \u003cplatformfs-tarball\u003e argument expects a tarball generated by mkplatformfs.sh.\nThe platform is guessed automatically by its name.\n```\n\n### mknet.sh\n\n```\nUsage: mknet.sh [options] \u003crootfs-tarball\u003e\n\nGenerates a network-bootable tarball from a Void Linux ROOTFS generated by mkrootfs.\n\nOPTIONS\n -r \u003crepo\u003e          Use this XBPS repository. May be specified multiple times\n -c \u003ccachedir\u003e      Use this XBPS cache directory (default: )\n -i \u003clz4|gzip|bzip2|xz\u003e\n                    Compression type for the initramfs image (default: xz)\n -o \u003cfile\u003e          Output file name for the netboot tarball (default: automatic)\n -K linux\u003cversion\u003e  Install a custom Linux version on ISO image (default: linux metapackage)\n -k \u003ckeymap\u003e        Default keymap to use (default: us)\n -l \u003clocale\u003e        Default locale to use (default: en_US.UTF-8)\n -C \"\u003carg\u003e ...\"     Add additional kernel command line arguments\n -T \u003ctitle\u003e         Modify the bootloader title (default: Void Linux)\n -S \u003cimage\u003e         Set a custom splash image for the bootloader (default: data/splash.png)\n -h                 Show this help and exit\n -V                 Show version and exit\n```\n\n","funding_links":[],"categories":["Linux"],"sub_categories":["Distros"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoid-linux%2Fvoid-mklive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoid-linux%2Fvoid-mklive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoid-linux%2Fvoid-mklive/lists"}