diff --git a/blends/devuan-desktop-live/ascii.config b/blends/devuan-desktop-live/ascii.config new file mode 100644 index 0000000..c11b7d8 --- /dev/null +++ b/blends/devuan-desktop-live/ascii.config @@ -0,0 +1,46 @@ +#!/usr/bin/env zsh +## configuration file for devuan-desktop-live blend + +vars+=(username userpass default_shell mkefi grubversion hookscripts) +arrs+=(custom_deb_packages) + +blend_name="devuan-desktop-live_" + +release="ascii" +version="2.1_post_test" + +username="devuan" +userpass="devuan" +default_shell="/bin/bash" + +# comment to disable: +#hookscripts="yes" + +# uncomment to create uefi-bootable iso +#mkefi="yes" +#efi_work="$BLENDPATH/${release}/efi-files" + +grubversion="grub-pc" +#grubversion="grub-efi-amd64" + + +mirror="http://pkgmaster.devuan.org/merged" +section="main contrib non-free" + + +#base_packages_option=(--no-install-recommends) +#extra_packages_option=(--no-install-recommends) + + +release_conf="$BLENDPATH/${release}/config" + + +### package sets are defined in the corresponding $release/config file + +source $release_conf + +## image_name depends on release and version + +image_name="${os}_${release}_${version}_${arch}_desktop" + + diff --git a/blends/devuan-desktop-live/ascii.devuan-desktop-live.blend b/blends/devuan-desktop-live/ascii.devuan-desktop-live.blend new file mode 100644 index 0000000..1b63cc1 --- /dev/null +++ b/blends/devuan-desktop-live/ascii.devuan-desktop-live.blend @@ -0,0 +1,359 @@ +#!/usr/bin/env zsh +# Copyright (c) 2017 Dyne.org Foundation +# live-sdk is written and maintained by Ivan J. +# +# This file is part of live-sdk +# devuan-desktop-live.blend is maintained by fsmithred +# +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This software is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see . + +BLENDPATH="${BLENDPATH:-$(dirname $0)}" + +source $BLENDPATH/config + +blend_release_path=$BLENDPATH/$release/ +blend_scripts=${blend_release_path}/scripts + +blend_preinst() { + fn blend_preinst + req=(blend_name username userpass) + ckreq || return 1 + + notice "executing $blend_name preinst" + + add-user $username $userpass + + notice "copying blend-specific debs" + cp -fv "$blend_release_path"/*.deb "$R/extra/custom-packages" +} + +blend_postinst() { + fn blend_postinst + req=(strapdir blend_name) + ckreq || return 1 + + notice "executing $blend_name postinst" + + [[ $mkefi = yes ]] && { + iso_make_efi + iso_write_grub_cfg + } + + install-custdebs || zerr + pushd "$strapdir" + sudo rsync -avx --no-o --no-g "$blend_release_path"/rootfs-overlay/* . || zerr + popd + + blend_finalize || zerr +} + +iso_write_isolinux_cfg() { + fn iso_write_isolinux_cfg "(override)" + req=(workdir arch username) + ckreq || return 1 + + notice "writing isolinux configuration" + + cat </dev/null +ui vesamenu.c32 +prompt 0 +menu title devuan-live boot menu +timeout 70 +menu background /isolinux/splash.png +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffff #44424E * +menu color hotsel 1;7;37;40 #dad9dc #44424E * +menu color tabmsg * #dad9dc #00000000 * +menu color cmdline 0 #dad9dc #00000000 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry +menu vshift 12 +menu rows 12 + +label live + menu label ${os}-live (${arch}) + menu default + linux /live/vmlinuz + append initrd=/live/initrd.img boot=live username=${username} + +label lang + menu label Other language (TAB to edit) + linux /live/vmlinuz + append initrd=/live/initrd.img boot=live username=${username} locales=it_IT.UTF-8 keyboard-layouts=it + +label toram + menu label ${os}-live (${arch}) (load to RAM) + linux /live/vmlinuz + append initrd=/live/initrd.img boot=live username=${username} toram + +label failsafe + menu label ${os}-live (${arch}) (failsafe) + kernel /live/vmlinuz noapic noapm nodma nomce nolapic nosmp nomodeset vga=normal + append initrd=/live/initrd.img boot=live + +label memtest + menu label Memory test + kernel /live/memtest + +endtext +EOF + + notice "copying isolinux overlay" + sudo mkdir -p "$workdir"/binary/{live,isolinux} + sudo cp -rav "$blend_release_path"/isolinux-overlay/* "$workdir"/binary/isolinux/ + sudo cp -av "$blend_release_path"/live-overlay/* "$workdir"/binary/live/ +# [[ -n "$hookscripts" ]] && { +# sudo cp -av "$blend_release_path"/hooks "$workdir"/binary/live/ +# } +} + +# create /boot and /efi for uefi. +# uefi code borrowed and adapted from David Hare, who borrowed and adapted it +# from similar scripts by Colin Watson and Patrick J. Volkerding. +iso_make_efi() { + fn iso_make_efi + req=(workdir efi_work) + ckreq || return 1 + + notice "creating efi boot files" + + tempdir="$(mktemp -d /tmp/work_temp.XXXX)" + # for initial grub.cfg + mkdir -p "$tempdir"/boot/grub + + if [ "$arch" = amd64 ] ; then + grubarch="x86_64-efi" + elif [ "$arch" = i386 ] ; then + grubarch="i386-efi" + fi + + cat >"$tempdir"/boot/grub/grub.cfg <> boot/grub/${grubarch}/grub.cfg + done + + # Additional modules so we don't boot in blind mode. + # I don't know which ones are really needed. + efimods=( + efi_gop + efi_uga + ieee1275_fb + vbe + vga + video_bochs + video_cirrus + jpeg + png + gfxterm + ) + for i in $efimods; do + print "insmod $i" >> boot/grub/${grubarch}/grub.cfg + done + + print "source /boot/grub/grub.cfg" >> boot/grub/${grubarch}/grub.cfg + + pushd "$tempdir" + # make a tarred "memdisk" to embed in the grub image + tar -cvf memdisk boot + + # make the grub images + grub-mkimage -O "x86_64-efi" -m "memdisk" -o "bootx64.efi" \ + -p '(memdisk)/boot/grub' \ + search iso9660 configfile normal memdisk tar cat \ + part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus \ + chain boot linux + grub-mkimage -O "i386-efi" -m "memdisk" -o "bootia32.efi" \ + -p '(memdisk)/boot/grub' \ + search iso9660 configfile normal memdisk tar cat \ + part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus \ + chain boot linux + popd + + # copy the grub image to efi/boot (to go later in the device's root) + cp "$tempdir"/bootx64.efi efi/boot + cp "$tempdir"/bootia32.efi efi/boot + + # Do the boot image "boot/grub/efiboot.img" + dd if=/dev/zero of=boot/grub/efiboot.img bs=1K count=1440 + mkfs.vfat -F 12 boot/grub/efiboot.img + + sudo mkdir img-mnt + sudo mount -o loop boot/grub/efiboot.img img-mnt + sudo mkdir -p img-mnt/efi/boot + sudo cp "$tempdir"/bootx64.efi img-mnt/efi/boot/ + sudo cp "$tempdir"/bootia32.efi img-mnt/efi/boot/ + + # copy modules and font + cp $strapdir/usr/lib/grub/${grubarch}/* boot/grub/${grubarch}/ + + # if this doesn't work try another font from the same place (grub's default, unicode.pf2, is much larger) + # Either of these will work, and they look the same to me. Unicode seems to work with qemu. -fsr + # cp /usr/share/grub/ascii.pf2 boot/grub/font.pf2 + cp $strapdir/usr/share/grub/unicode.pf2 boot/grub/font.pf2 + + # copy splash + sudo cp -rav "$blend_release_path"/isolinux-overlay/splash.png boot/grub/splash.png + + # Cleanup efi temps + sudo umount img-mnt + sudo rmdir img-mnt + rm -rf "$tempdir" + + popd + + + # Copy efi files to iso + pushd $workdir + sudo rsync -avx "$efi_work"/boot binary/ + sudo rsync -avx "$efi_work"/efi binary/ + popd + +} + + +iso_write_grub_cfg() { + fn iso_write_grub_cfg "(override)" + req=(workdir arch username) + ckreq || return 1 + + notice "writing grub configuration" + + # Do the main grub.cfg (which gets loaded last): + cat </dev/null +#!/bin/sh + +## permissions +for i in cdrom floppy audio dip video plugdev netdev lpadmin scanner; do + gpasswd -a ${username} \$i +done + +chsh -s "${default_shell}" ${username} +chown -R 1000:1000 /home/${username} +#cp /home/${username}/Desktop/refractainstaller.desktop /usr/share/applications/ +chmod +x /home/${username}/Desktop/refractainstaller.desktop + +# This can go away when desktop-base is fixed to do the grub theme. (SEEMS TO BE FIXED-no it's not.) +grep -q GRUB_THEME /etc/default/grub || { + printf "\nGRUB_THEME=/usr/share/desktop-base/grub-themes/desktop-grub-theme/theme.txt\n" >> /etc/default/grub +} + +# This needs to stay +cp /splash.png /usr/lib/refractasnapshot/iso/isolinux/ +rm -f /splash.png + +# This has been fixed (in devuan-baseconf) in suites/ascii +#rm -rf /data + +rm -f /etc/fstab +rm -f /etc/popularity-contest.conf +rm -f /vmlinuz.old +rm -f /initrd.img.old + +# For ascii if no display manager is used. Maybe this should have a +# contitional that's turned on/off in the config? +# echo "needs_root_rights=yes" >> /etc/X11/Xwrapper.config + +# Disable contrib and non-free after installing firmware. +sed -i 's/contrib//g' /etc/apt/sources.list +sed -i 's/non-free//g' /etc/apt/sources.list + +# for amd64 only at this time +if ls /boot | grep amd64 ; then + apt-get download grub-pc + apt-get download grub-efi-ia32 +fi + +## package list +dpkg -l | awk '/^ii/ { print \$2 " " \$3 }' > /home/${username}/package_list + +# Enable encryption (e.g. for live-usb with persistence) +#sed -i 's/#CRYPTSETUP=/CRYPTSETUP=y/' /etc/cryptsetup-initramfs/conf-hook +CRYPTSETUP=y update-initramfs -u -k all + +# Change sources.list to use deb.devuan.org +sed -i 's/pkgmaster/deb/g' /etc/apt/sources.list + +apt-get update +apt-get clean +updatedb +EOF + chroot-script -d finalize || zerr +} diff --git a/blends/devuan-desktop-live/ascii/config b/blends/devuan-desktop-live/ascii/config index 7675eee..d26dab2 100644 --- a/blends/devuan-desktop-live/ascii/config +++ b/blends/devuan-desktop-live/ascii/config @@ -2,7 +2,7 @@ ## configuration file for devuan-desktop-live blend -- ASCII release -version="2.0.0" +#version="2.1" #This did not work here. base_packages+=( @@ -12,6 +12,7 @@ base_packages+=( acpi-support-base aptitude apt-listchanges + debootstrap discover dnsutils doc-debian @@ -55,12 +56,11 @@ extra_packages+=( task-print-server popularity-contest refractainstaller-base - refractasnapshot-base yad refractainstaller-gui -# refractasnapshot-gui setnet - + libgtk3-perl #need to add this for graphical debconf + ) @@ -84,6 +84,7 @@ extra_packages+=( purge_packages=( # btrfs-tools + devuan-baseconf debian-keyring elinks elinks-data @@ -105,5 +106,6 @@ purge_packages=( custom_deb_packages+=( - refractasnapshot-gui_10.0.2_all.deb + refractasnapshot-base_10.2.1_all.deb + refractasnapshot-gui_10.2.2_all.deb ) diff --git a/blends/devuan-desktop-live/ascii/live-overlay/memtest b/blends/devuan-desktop-live/ascii/live-overlay/memtest new file mode 100644 index 0000000..48e1b8d Binary files /dev/null and b/blends/devuan-desktop-live/ascii/live-overlay/memtest differ diff --git a/blends/devuan-desktop-live/ascii/live-overlay/memtest86+.bin b/blends/devuan-desktop-live/ascii/live-overlay/memtest86+.bin new file mode 100644 index 0000000..48e1b8d Binary files /dev/null and b/blends/devuan-desktop-live/ascii/live-overlay/memtest86+.bin differ diff --git a/blends/devuan-desktop-live/ascii/refractasnapshot-base_10.2.1_all.deb b/blends/devuan-desktop-live/ascii/refractasnapshot-base_10.2.1_all.deb new file mode 100644 index 0000000..1731519 Binary files /dev/null and b/blends/devuan-desktop-live/ascii/refractasnapshot-base_10.2.1_all.deb differ diff --git a/blends/devuan-desktop-live/ascii/refractasnapshot-gui_10.0.2_all.deb b/blends/devuan-desktop-live/ascii/refractasnapshot-gui_10.0.2_all.deb deleted file mode 100644 index e1657dc..0000000 Binary files a/blends/devuan-desktop-live/ascii/refractasnapshot-gui_10.0.2_all.deb and /dev/null differ diff --git a/blends/devuan-desktop-live/ascii/refractasnapshot-gui_10.2.2_all.deb b/blends/devuan-desktop-live/ascii/refractasnapshot-gui_10.2.2_all.deb new file mode 100644 index 0000000..1a83f92 Binary files /dev/null and b/blends/devuan-desktop-live/ascii/refractasnapshot-gui_10.2.2_all.deb differ diff --git a/blends/devuan-desktop-live/ascii/rootfs-overlay/etc/default/console-setup b/blends/devuan-desktop-live/ascii/rootfs-overlay/etc/default/console-setup new file mode 100644 index 0000000..2e997bc --- /dev/null +++ b/blends/devuan-desktop-live/ascii/rootfs-overlay/etc/default/console-setup @@ -0,0 +1,16 @@ +# CONFIGURATION FILE FOR SETUPCON + +# Consult the console-setup(5) manual page. + +ACTIVE_CONSOLES="/dev/tty[1-6]" + +CHARMAP="UTF-8" + +CODESET="Lat15" +FONTFACE="VGA" +FONTSIZE="8x16" + +VIDEOMODE= + +# The following is an example how to use a braille font +# FONT='lat9w-08.psf.gz brl-8x8.psf' diff --git a/blends/devuan-desktop-live/ascii/rootfs-overlay/grub-efi-ia32_2.02~beta3-5+deb9u1_amd64.deb b/blends/devuan-desktop-live/ascii/rootfs-overlay/grub-efi-ia32_2.02~beta3-5+deb9u1_amd64.deb deleted file mode 100644 index 61cb887..0000000 Binary files a/blends/devuan-desktop-live/ascii/rootfs-overlay/grub-efi-ia32_2.02~beta3-5+deb9u1_amd64.deb and /dev/null differ diff --git a/blends/devuan-desktop-live/ascii/rootfs-overlay/grub-pc_2.02~beta3-5+deb9u1_amd64.deb b/blends/devuan-desktop-live/ascii/rootfs-overlay/grub-pc_2.02~beta3-5+deb9u1_amd64.deb deleted file mode 100644 index 1cd8a12..0000000 Binary files a/blends/devuan-desktop-live/ascii/rootfs-overlay/grub-pc_2.02~beta3-5+deb9u1_amd64.deb and /dev/null differ diff --git a/blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/README.desktop-live b/blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/README.desktop-live new file mode 100644 index 0000000..996d4d5 --- /dev/null +++ b/blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/README.desktop-live @@ -0,0 +1,175 @@ +DEVUAN ASCII DESKTOP-LIVE + + +This is Devuan 2.1 ASCII desktop-live stable point-release. +It contains the same package selection as the default desktop in the +regular installer isos, with the addition of a few packages for the live +system, wireless firmware, a live-cd installer and remastering tool to +make your own live-CD/DVD image. + + +WHAT'S NEW IN ASCII 2.1 + +Security udates: + - apt (1.4.9) to fix CVE-2019-3462. + - linux-image-4.9.0-9 (4.9.168-1+deb9u4) to fix multiple vulnerabilities + - firefox-esr (60.8.0esr-1~deb9u1) to fix multiple vulnerabilities + - policykit-1 to fix CVE-2018-19788 and CVE-2019-6133 + - Many more. (See https://www.debian.org/security/2019/) + +Other changes: + - dbus patch to generate new dbus machine-id on boot. This behavior + is configurable in /etc/default/dbus + - memtest86+, lvm2 and mdadm added to desktop-live isos + +You can burn the iso to DVD or use dd or cat to image a USB thumb drive. + +User name: devuan Password: devuan +Admin name: root Password: toor + +Maintained by fsmithred (key id 0xA73823D3094C5620 on pgp.mit.edu) +Built with the Devuan SDK, live-sdk module + + +CONTENTS + + 1. Set language/locale at boot. + 2. Wireless (non-free) firmware + 3. Install to hard drive + 4. Remastering + 5. Bug reports and support links. + + +BOOT TO ANOTHER LANGUAGE + +Choose the "Other language" option from the boot menu. +Press TAB to edit the boot command. +Backspace to erase "it_IT.UTF-8" (Ignore the repeating lines. Bug +or misconfigured?) +Type your locale code in its place and then ENTER. +Note: When you install the system, your chosen language will be the +default in the installed system. + + +WIRELESS (NON-FREE) FIRMWARE + +To set up wireless networking, use wicd network manager or run setnet.sh +from a root terminal (or with sudo). + +Wireless firmware is already installed. Most of the firmware packages +come from the non-free repository, however the non-free and contrib +repositories are not enabled. If you want to install packages from +non-free or contrib, you need to edit /etc/apt/sources.list or add them +through Synaptic Package Manager in the System menu. + +You can remove all the non-free firmware after you reboot into the new +installation by running (as root or with sudo): + + remove-non-free-firmware + + +If you need to reinstall a firmware package, they are located in /firmware +and can be installed with: + + dpkg -i + + +Here is the full list of non-free wireless firmware packages installed: + +firmware-atheros firmware-bnx2 firmware-bnx2x firmware-brcm80211 +firmware-intelwimax firmware-iwlwifi firmware-libertas firmware-linux-nonfree +firmware-myricom firmware-netxen firmware-qlogic firmware-realtek +firmware-ti-connectivity firmware-zd1211 + + +INSTALLER + +This Devuan live-iso comes with Refracta Installer, which will copy the +running system to hard drive and install the GRUB bootloader. Any changes +you make to the running system will be copied to the installation. This +includes desktop configuration, software added or removed, language/locale +settings and other changes in system configuration. + +The installer will allow you to create a separate /home partition and/or +a separate /boot partition if needed. + +There is no automatic partitioning. You can create the partitions before +you start the installer or from within the installer. Gparted, cfdisk and +gdisk are all installed and available. For a legacy bios install, the +minimum needed is a single partition for the system. For a uefi install, +you must also have an EFI partition. Refer to the installer help +document. (See /usr/lib/refractainstaller/readme.refractainstaller.txt +or press Help from within the installer.) + +IMPORTANT NOTE: grub-efi-amd64 is installed. If you boot from bios, the +installer will find the grub-pc package and ask if you want it copied +and installed or if you would like to proceed without a bootloader. + +If your hardware needs a 32-bit uefi bootloader with a 64-bit operating +system, install the grub-efi-ia32 package before running the installer. +This is true for both graphical and cli installers. + + dpkg -i /grub-efi-ia32 + + +Note: UEFI implementations in motherboards vary in their adherence to +standards from one manufacturer to the next. Read the Help in the +installer, read the additional links in the help, and be prepared to do +some manual fixing of your bootloader. + +That said, you should not be surprised if it all works perfectly. + +HP WARNING!!! If your computer was made by Hewlett-Packard and uses UEFI, +read these before installing! + + https://dev1galaxy.org/viewtopic.php?id=15 + http://www.rodsbooks.com/efi-bootloaders/index.html + + +You can also start the installer from a root terminal (or with sudo): + + refractainstaller # Starts the text-only installer. + refractainstaller-yad # Starts the graphical installer. + + +You can encrypt the filesystem if desired. (root filesystem and /home). +The installer will use an existing swap partition. If there is no swap +partition or if you un-check that option, the installer will create a +swapfile in the root of the filesystem. The default size is 256MB, but +this can be changed by editing the config file. (/etc/refractainstaller.conf) +This installer will not let you encrypt a swap partition; use a swapfile +on an encrypted partition instead. + +If you want automatic partitioning, LVM or RAID, you must use one of the regular installer isos. +If you want to install on uefi hardware with an installer that has had more extensive testing, +use one of the regular installer isos. + + +REMASTERING (Make your own live-CD/DVD/USB) + +Run Refracta Snapshot from the applications menu or refractasnapshot-gui +in a root terminal for the graphical version. +Run refractasnapshot from a root terminal for the text-only version. + +The program will copy your installed system and pack it into a bootable +iso that can be burned to optical disk or imaged to a usb stick. +See /usr/share/doc/refractasnapshot-base/README.gz for details. + + +BUG REPORTS AND SUPPORT LINKS + +Comments, suggestions, criticisms, and bug reports are welcome. +Please report bugs on the official Devuan Bug Tracking System: + + http://bugs.devuan.org + +Full list of community links can be found at: +https://devuan.org/os/community + +Support: +IRC Channel on freenode.net: #devuan +Support forum: dev1galaxy.org + + + + diff --git a/blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/Release_notes_ascii_2.1.txt b/blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/Release_notes_ascii_2.1.txt new file mode 100644 index 0000000..2c706fb --- /dev/null +++ b/blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/Release_notes_ascii_2.1.txt @@ -0,0 +1,331 @@ +# Devuan 2.1 ASCII Release Notes + +## Index + + - Introduction + - What's new in this point-release + - Getting Devuan 2.1 ASCII + - Upgrading to Devuan 2.1 ASCII + - Devuan Package Repositories + - Change of "Origin" in Release and InRelease files + - Non-free firmware + - About eudev + - Session management and policykit backends + - Starting X from a terminal + - Devuan package information pages + - Reporting bugs + + +### Introduction + +This document includes technical notes relevant to Devuan 2.1 ASCII. +More information and support on specific issues can be obtained by: + + - subscribing to the DNG mailing list: + https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng + - visiting the Devuan user forum: + https://dev1galaxy.org + - shouting (but not too loud) on one of the Devuan IRC channels: + #devuan (freenode) - general discussion about Devuan + #devuan-arm (freenode) - specific support for ARM + + +### What's new in ASCII 2.1 + +Security udates: + - apt (1.4.9) to fix CVE-2019-3462. + - linux-image-4.9.0-9 (4.9.168-1+deb9u4) to fix multiple vulnerabilities + - firefox-esr (60.8.0esr-1~deb9u1) to fix multiple vulnerabilities + - policykit-1 to fix CVE-2018-19788 and CVE-2019-6133 + - Many more. (See https://www.debian.org/security/2019/) + +Other changes: + - dbus patch to generate new dbus machine-id on boot. This behavior + is configurable in /etc/default/dbus + - memtest86+, lvm2 and mdadm added to live isos + + +### Getting Devuan 2.1 ASCII + +Devuan 2.1 ASCII is available for i386, amd64, armel, armhf and arm64 +platforms. Installers, live CDs, and images for virtual machines and +ARM SOCs can be downloaded at: + + http://files.devuan.org/devuan_ascii/ + +Please consider using one of the many mirrors, listed at: + + https://devuan.org/get-devuan + +Detailed instructions on how to use each image are available in the +corresponding 'README.txt' file. The SHA256SUMS of each set of images +is signed by the developer in charge of the build. The fingerprints of +GPG keys of all Devuan developers are listed at: + + https://devuan.org/os/team + +In order to check that the images you downloaded are genuine and not +corrupted, you should: + + - download the image(s) + - download the corresponding SHA256SUMS and SHA256SUMS.asc files + in the same folder + - verify the checksums running: + $ sha256sum -c SHA256SUMS + (it could complain about missing files, but should show an "OK" + close to the images you have actually downloaded) + - verify the signature running: + $ gpg --no-default-keyring --keyring ./devuan-devs.gpg --verify SHA256SUMS.asc + + (we assume that you have put the GPG keys in the keyring named + "devuan-devs.gpg". YMMV) + +The 'devuan-devs.gpg' keyring is provided only for convenience. The +most correct procedure to verify that the signatures are authentic is +by downloading the relevant public keys from a trusted keyserver, +double-check that the fingerprint of the key matches that of the +developer reported on https://devuan.org/os/team and then use that key +for verification. + +## Upgrading to Devuan 2.1 ASCII + +Direct and easy upgrade paths from Devuan Jessie, Debian Jessie, and +Debian Stretch to Devuan 2.1 ASCII are available. + +Upgrade from Devuan Jessie: + + https://devuan.org/os/documentation/dev1fanboy/upgrade-to-ascii + +Migrate from Debian Jessie or Stretch: + + https://devuan.org/os/documentation/dev1fanboy/migrate-to-ascii + +The following will be enough to upgrade if you are already using +Devuan ASCII Beta or Devuan ASCII RC: + + apt-get update && apt-get dist-upgrade + + +### Devuan Package Repositories + +Thanks to the support of many volunteers and donors, Devuan has +recently put in place a network of package repository mirrors. The +mirror network is accessible using the FQDN "deb.devuan.org" or +"{CC}.deb.devuan.org", where {CC} is a two-letter ISO 3166-1 country +code, such as "us" for the USA, "fr" for France, "mx" for Mexico, "nl" +for the Netherlands, and so on. + +Starting from Devuan 2.0 ASCII, users should use exclusively +"deb.devuan.org" or ""{CC}.deb.devuan.org" in their 'sources.list' +file, e.g.: + + deb http://deb.devuan.org/merged ascii main + deb http://deb.devuan.org/merged ascii-security main + deb http://deb.devuan.org/merged ascii-updates main + deb http://deb.devuan.org/devuan ascii-proposed main + +Along with the above addresses, the repositories are also accessible +using the Tor network, by using our hidden service address: + + deb tor+http://devuanfwojg73k6r.onion/merged ascii main + deb tor+http://devuanfwojg73k6r.onion/merged ascii-security main + deb tor+http://devuanfwojg73k6r.onion/merged ascii-updates main + deb tor+http://devuanfwojg73k6r.onion/devuan ascii-proposed main + +All the mirrors contain the full Devuan package repository (all the +Devuan releases and all the suites). They are synced every 30 minutes +from the main Devuan package repository ("pkgmaster.devuan.org"), and +are continuously checked for sanity, integrity, and consistency. The +package repository network is currently accessed through a DNS +Round-Robin, but this will soon be changed into a series of +region-based redirects to improve bandwidth usage. + +The updated list of mirrors belonging to the network is available at: + + http://pkgmaster.devuan.org/mirror_list.txt + +Users could also opt for directly accessing one of the mirrors in that +list using the corresponding BaseURL. + +IMPORTANT NOTE: The package mirrors at "deb.devuan.org" are signed +with the following GPG key: + + pub rsa4096 2017-09-04 [SC] [expires: 2022-09-03] + E032601B7CA10BC3EA53FA81BB23C00C61FC752C + uid [ unknown] Devuan Repository (Amprolla3 on Nemesis + ) + sub rsa4096 2017-09-04 [E] [expires: 2022-09-03] + +The key is included in the package "devuan-keyring". In order to use +deb.devuan.org, you must have `devuan-keyring_2017.10.03` or higher. + +IMPORTANT NOTE: Devuan has planned to eventually discontinue the +original set of Devuan mirrors available at auto.mirror.devuan.org and +{CC}.mirror.devuan.org. As a consequence, users are strongly +encouraged to use the new set of mirrors at "deb.devuan.org" and +"{CC}.deb.devuan.org". + + +### Change of "Origin" in Release and InRelease files + +Starting from May 31st 2018 the "Origin:" field of Release and +InRelease files served by deb.devuan.org is correctly set to +"Devuan". This solves several minor issues with `lsb` reporting +incorrect information about the OS and release. The change +should be seamless for Devuan Jessie and Devuan ASCII users. + + +### Non-free firmware + +All Devuan 2.1 ASCII install media make non-free firmware packages +available at install time. In the majority of the cases, these +packages are needed (and will be installed) only if your wifi adapter +requires them. It is possible to avoid the automatic installation and +loading of needed non-free firmware by choosing the "Expert install" +option in the installation menu. + +Devuan 2.1 ASCII desktop-live and minimal-live images come with +non-free firmware packages pre-installed. You have the option of +removing those non-free firmware packages from the desktop-live and +minimal-live after boot, using the "remove_firmware.sh" script +available under /root. + + +### About eudev + +Following the inclusion of udev (a daemon in charge of device +management) in the systemd code tree, Devuan 2.1 ASCII provides the +alternative "eudev" package. The transition from udev to eudev is +managed through transitional packages, and should be automatic and +seamless. + + +### Session management and policykit backends + +Devuan 2.1 ASCII provides a choice of 5 Desktop Environments at +install time (XFCE, Cinnamon, KDE, LXQT, MATE), while many other +window managers are available from the repositories. + +These days, Desktop Environments rely on a session management system +to allow the user to perform several typical tasks without requiring +administrator privileges, including suspending/rebooting/shutting down +the system, mounting external devices, configuring networking, and so +on. + +Two of such session management systems are available in Devuan 2.1 +ASCII, namely: + + - consolekit + - elogind + +These session managers are mutually exclusive, only one of them can be +installed and active at a time to avoid unwanted interference. In +order to grant processes in the unprivileged user session access to +select privileged operations, the installed session manager is +connected to the policykit-1 framework by a set of matching back-end +libraries. + +Each of the 5 DEs available in Devuan comes with a recommended default +combination of login manager (either slim or lightdm) and session +management system: + + - XFCE: slim + consolekit + - Cinnamon: lightdm + elogind + - KDE: lightdm + elogind + - LXQT: lightdm + elogind + - MATE: slim + consolekit + +In order for session management to work correctly, the login manager +(aka display manager, DM) has to register the user session with the +installed session manager (i.e. either consolekit or elogind), which +in turn has to cooperate with the relevant components of the desktop +environment. The default pairings listed above are known to work well +and do not require user intervention, but other combinations are +possible. + + +### Starting X from a console (TTY) + +In Devuan 2.1 ASCII, the X server no longer requires to be run with +root privileges. As a consequence, there are some additional +requirements to be met when launching X directly from a TTY (i.e., +through 'xinit' or 'startx'), especially on systems upgraded from +Devuan Jessie. + +In Devuan 2.1 ASCII it is sufficient to install 'elogind' and +'libpam-elogind', and then use either 'startx' or 'xinit' as usual +from a regular user account. In this case, the Xorg log file will be +available under '~/.local/share/xorg/'. + +The system still needs to support Kernel Mode Setting (KMS). +Therefore, this solution may not work in some virtualization +environments (e.g. virtualbox) or if the kernel has no driver that +supports your graphic card. + +Alternatively, it is still possible to run X with setuid root. In this +case, you need to install `xserver-xorg-legacy` and ensure that the +file '/etc/X11/Xwrapper.config' contains the (uncommented) line: + + needs_root_rights=yes + + +### Devuan package information pages + +Devuan has recently set up a simple service to display information +about all the packages available in Devuan. The service can be +accessed at: + + https://pkginfo.devuan.org + +It is possible to search for package names matching a set of keywords, +and to visualise the description, dependencies, suggestions and +recommendations of each package. Please report any issues with this +new service and/or get in touch if you have suggestions about how it +can be improved. + + +### Reporting bugs + +No piece of software is perfect. And acknowledging this fact is the +first step towards improving our software base. + +Devuan strongly believes in the cooperation of the community to find, +report, and solve issues. If you think you have found a bug in a +Devuan package, please report it to: + + https://bugs.devuan.org + +The procedure to report bugs is quite simple: just install and run +`reportbug`, a tool that will help you compiling the bug report and +including any relevant information for the maintainers. + +`reportbug` assumes than you have a properly configured Mail User +Agent that can send emails (and that it knows about). If this is not +the case, you can still prepare your bug report with `reportbug`, save +it (by default reportbug will save the report under /tmp), and then +use it as a template for an email to submit@bugs.devuan.org. + +(NOTE: Devuan does not provide an open SMTP relay for `reportbug` +yet. If you don't know what this is about, you can safely ignore this +information). + +When the bug report is processed, you will receive an email +confirmation indicating the number associated to the report. + +Here you can check the status of your report: + + https://bugs.devuan.org/db/ix/full.html + +Before reporting a bug, you might probably want to check whether the +very same problem has been already experienced and reported by other +users, e.g. by checking the list of packages with known bugs: + + http://bugs.devuan.org/db/ix/packages.html + +`reportbug` is a tool made by Debian for Debian, over a timespan of +about 25 years. This means that it is sometimes difficult to adapt it +to a new setup. We are currently working to improve the integration of +reportbug with the Devuan infrastructure, and to improve the +management, triaging, and reporting of bugs. Please bear with us ;^) + + diff --git a/blends/devuan-desktop-live/beowulf/config b/blends/devuan-desktop-live/beowulf/config new file mode 100644 index 0000000..d533185 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/config @@ -0,0 +1,112 @@ +#!/usr/bin/env zsh +## configuration file for devuan-desktop-live blend -- Beowulf release + + +base_packages+=( + lsof + bash-completion + texinfo + acpi-support-base + acpi-fakekey + aptitude + apt-listchanges + debootstrap + discover + dnsutils + doc-debian + docutils-common + docutils-doc + ftp + gettext + gnupg2 + gparted + grub-pc-bin + $grubversion + iw + laptop-detect + lvm2 + mdadm + mlocate + mutt + ncurses-term + net-tools + netcat-traditional + nfs-common + procmail + reportbug + telnet + traceroute + usbutils + util-linux-locales + w3m + whois +) + + +extra_packages+=( + + task-desktop + task-laptop + task-xfce-desktop + fontsnaps + task-print-server + popularity-contest + refractainstaller-base + refractasnapshot-base + yad + refractainstaller-gui + refractasnapshot-gui + libgtk3-perl #need to add this for graphical debconf + gvfs-backends + +) + + +extra_packages+=( + firmware-atheros + firmware-bnx2 + firmware-bnx2x + firmware-brcm80211 + firmware-intelwimax + firmware-iwlwifi + firmware-libertas +# firmware-linux-nonfree +# firmware-misc-nonfree + firmware-myricom + firmware-netxen + firmware-qlogic + firmware-ralink + firmware-realtek + firmware-ti-connectivity + firmware-zd1211 +) + + +purge_packages=( + devuan-baseconf + debian-keyring + elinks + elinks-data + git + git-core + git-man + liberror-perl + libfsplib0 + libtre5 + openntpd + openssh-server + openssh-sftp-server + tmux + zsh + zsh-common + intel-microcode + iucode-tool + amd64-microcode +) + + + +custom_deb_packages+=( + + +) diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide.html b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide.html new file mode 100644 index 0000000..cba55f5 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide.html @@ -0,0 +1,387 @@ + + + + Devuan GNU+Linux -- Software freedom, your way + + + + + + + + + + +
+ +
+ + + +
+

Devuan install guide

+ +

+This is an easy to follow guide to installing Devuan from the CD/DVD +images for supported hardware. The general advice accompanying this +guide is that you should always backup your data before you begin. +

+ +

Live install

+ +

+This installation procedure uses the graphical desktop-live installer +from the running live image. It may be launched from the desktop icon or + the system menu. +

+ +

0) Before you start: Please read the RELEASE NOTES provided on the desktop.

+ +

1) Security warning: The root password of +this live installer is publicly known, which is a security risk when +connecting to the internet. It is recommended to change the root +password before continuing: +

+

+~$ sudo passwd

+ +

Begin the install by double-clicking the Install Devuan icon on the desktop. +

+ +

2.1) BIOS MBR mode: This window comes up in the amd64 desktop-live install if you're installing on a BIOS system. Choose 'Continue'. +

+

+bios-notice +

+ +

2.2) UEFI mode: In a UEFI install, this informs +you whether you have a proper EFI partition or not. If an EFI partition +is detected, make sure that it resides on the first disk before +continuing. +

+

+efi-notice +

+ +

2.3) Help: Additional options and information. +

+

+help +

+ +

3.1) Installation options: Choose your installation +options here. For example, you can choose to have certain directories +mounted as a partition instead of installing to a single root partition. +

+

+options +

+ +

3.2) Encryption: The installer can only encrypt root and home +filesystems. A separate boot partition is optional and will be unencrypted if present. +For full protection of your data you should not use a separate swap partition. If +there is no swap partition, a swap file will be created on the root filesystem +and that will be encrypted.

+ +

For traditional hard disks you can choose to write random data to encrypted +partitions for additional security. This can take a long time depending +on the size of partitions. You might not want to do this for Solid State Drives +due to their write limits. +

+ +

+options-encrypt +

+ +

3.3) Boot directory encryption: By default the boot +directory will be encrypted. This is generally a good idea for full disk +encryption setups. +

+

+full-disk-notice +

+ +

4.1) Summary: This screen reminds you of the partitions +currently on your system before you prepare a location to install Devuan. +

+

+choose-partitioner +

+ +

4.2) Choose a partitioning method: If the drive is +already partitioned you can skip this step. You will now be +presented choices for how you'd like to partition your installation +drive. The easiest of these options is to use GParted. Choose GParted +to continue with this walkthrough, as the other options are +beyond the scope of this discussion. +

+

+choose-partitioner +

+ +

4.3) Using GParted: You should now create your +partitions with GParted. You will need to create at least a root +filesystem and any partitions you previously told the installer about. +If warned by GParted to do so, create a partition table according to +your boot mode which was discussed earlier - use an msdos +partition table for MBR boot mode or a gpt partiton +table for UEFI boot mode. This window shows a valid partition scheme for a UEFI install +

+

+gparted +

+ +

5.1) Bootloader location: Now, on an i386 machine you will be asked where the +bootloader should be installed. In most cases you should choose to +install the GRUB bootloader to the MBR. +

+

+grub-location +

+ +

5.2) Choose bootloader location: To continue, now specify +the device for installation of the bootloader. +

+

+grub-location +

+ +

6) Choose the installation partition: You should now +choose the partition to which Devuan will be installed. This should be one of +the partitions you formatted earlier. To use other filesystems, pre-format +them and choose 'Do not format' in the options window. If you chose a separate +/home or /boot, you'll get similar windows for each. +

+

+choose-root +

+ +

7) Choose a filesystem: Now choose which ext +filesystem to use. There are three choices available for filesystems. The +most recent iteration is the ext4 filesystem and this is what you should +go with here. +

+

+choose-root-fs +

+ +

8.0) Summary: The following 4 summaries illustrate how +the installation might be done based on your previous choices. Only one +of these typical options will appear during the installation process. Make +sure these options are acceptable before proceeding with the installation, +otherwise you should exit and start over. +

+ +

8.1) Typical summary for an amd64 BIOS install: +

+

+amd64-bios-summary +

+ +

8.2) Typical summary for an amd64 UEFI install: +

+

+amd64-uefi-summary +

+ +

8.3) Typical summary for an i386 install: +

+

+i386-summary +

+ +

8.4) Typical summary for an encrypted install: +

+

+encrypted-summary +

+ +

9) Select your geographic area: You should now choose your geographic area from the list. This will allow you to accurately set your time zone. +

+

+tzdata +

+ +

10) Choose your time zone: You can now choose your time zone based on your geographic area. This will be used to configure the system clock. +

+

+tzdata2 +

+ +

11) Generate additional locales: The UTF-8 locale will +be selected automatically, but you can choose to generate more according +to your preferences. A common choice would be ISO-8859-1 or +ISO-8859-15. If you're unsure, the defaults are safe and you can just +continue to the next step. +

+

+locales +

+ +

12) Set the default locale: Now select which locale +that will be used. If you generated your own locales you probably want +to select one of them here, otherwise choose UTF-8. +

+

+locales2 +

+ +

13) Set the keyboard type: You should now let the +installer know how many keys your keyboard has. If you're not sure, +choose the default as this can always be changed from +your desktop after installation in complete. +

+

+keyboard +

+ +

14) Choose a keyboard layout: Choose the keyboard +layout you want to use. This should usually be matched to your country +unless the layout is different for some reason. +

+

+keyboard2 +

+ +

15) Set special keys: Here you can set whether or +not the X server can be killed using a special key combination. If +Control, Alt and Backspace are pressed together from your desktop the X +server will be instantly killed. +

+

+keyboard3 +

+ +

16.1) Set an encryption passphrase: You should now +choose a passphrase for any encrypted partitions. You will be required to enter the same +password twice to confirm it. It is recommended to use a passphrase that +is at least 20 characters long, uses upper and lower case letters, +numbers and special characters. +

+

+confirm-partition +

+ +

16.2) Confirm the installation partition: Here you will +be asked to confirm installation to the partition chosen earlier. If the +information matches your choices from earlier, enter Y and press return +to continue. +

+

+mke2fs +

+ +

17) Installing the system: The installation has started on the partition you selected. This will take some time. +

+

+install-system +

+ +

18) Install bootloader: The system has +been installed but before it can be booted you should choose to install a +bootloader. There is also the option to chroot the install for +advanced users. +

+ +

18.1) BIOS install: In amd64 install on BIOS, the first +button says 'Copy files'. That will install the grub-pc package and install the +bootloader. If you choose 'Chroot' you'll get a new terminal chrooted into the +installed system where you can make manual changes. This will bypass the +installation of the grub-pc package and the bootloader. If you want to mess around +in chroot and still let the installer add the bootloader, don't press this button. +Open another terminal and run sudo chroot /target. +

+

+install-bootloader-uefi +

+ +

18.2) UEFI install: In an amd64 install on +UEFI, the first button says 'Install bootloader'. the correct grub +package is already installed and you don't need to choose a location for + the bootloader. It will go into the EFI partition. Check section 2.3 +'Help' above to learn how to make a proper EFI partition. The installer + will complain if you don't have one. +

+

+install-bootloader-bios +

+ +

19) The GRUB bootloader: On an amd64/BIOS install the +grub-pc package will now be installed This ensures that your system can +boot to the newly installed operating system. GRUB is the name of the +bootloader used here. +

+

+grub-pc +

+ +

20) Bootloader location: In most cases GRUB should +be installed to the first disk from which the system will boot. In this case there is only one disk, indicated by /dev/sda so GRUB should be installed there. +

+

+grub-pc2 +

+ +

21) Hostname and username: Enter a unique hostname to +make it easier to identify this computer on a network without using +spaces. Choose any username that takes your fancy but spaces and +uppercase letters will not be accepted. In most cases there is no need +to enter your real name, so this can be omitted. +

+

+hostname-username +

+ +

22) Root password: Now set a root password if + you haven't earlier in this installation. It's good security practise +to set a strong password here to protect the root account. +

+

+root-password +

+ +

23) User password: Now create a user account password. You should create a password that isn't easy to guess. +

+

+user-password +

+ +

24) Finish: If you see this, you must have done it right. +

+

+finished +

+
+ + + + + \ No newline at end of file diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/debinstall-print.css b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/debinstall-print.css new file mode 100644 index 0000000..6a356f5 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/debinstall-print.css @@ -0,0 +1 @@ +body{margin:0 1em 0 70px;font:normal 10pt sans-serif;color:black;background-image:none}.alt{display:none}.section{display:none}#logo{z-index:0}h1{z-index:100}em{color:#666}code{background-color:transparent;border:0}tt a{font-family:monospace;background-color:transparent;border:0}.toc li{border-bottom:0}#outer ul{line-height:1.2em}#intro{border-bottom:0}#breadcrumbs{font-weight:bold;border-bottom:0}#fineprint,#breadcrumbs{background:transparent}#fineprint{color:black;border-top:1px solid black}#fineprint p{line-height:1.5em}p a:link{background-image:url('../pics/dot_bw.gif');background-repeat:repeat-x;background-position:bottom left}a:link,a:visited,a:link:visited{color:black} \ No newline at end of file diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/devuan-61.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/devuan-61.png new file mode 100644 index 0000000..075dd57 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/devuan-61.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/devuan-emblem90.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/devuan-emblem90.png new file mode 100644 index 0000000..ada8fd7 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/devuan-emblem90.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02.png new file mode 100644 index 0000000..79e8ace Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02_002.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02_002.png new file mode 100644 index 0000000..1a3a6ab Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02_002.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02_003.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02_003.png new file mode 100644 index 0000000..397e1de Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl02_003.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03.png new file mode 100644 index 0000000..f60a551 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03_002.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03_002.png new file mode 100644 index 0000000..fbb2385 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03_002.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03_003.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03_003.png new file mode 100644 index 0000000..0e9003d Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl03_003.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04.png new file mode 100644 index 0000000..22a07dd Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04_002.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04_002.png new file mode 100644 index 0000000..3863a43 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04_002.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04_003.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04_003.png new file mode 100644 index 0000000..f77f954 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl04_003.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl05.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl05.png new file mode 100644 index 0000000..9410ef4 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl05.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl05_002.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl05_002.png new file mode 100644 index 0000000..8274592 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl05_002.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl06.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl06.png new file mode 100644 index 0000000..63eecd3 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl06.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl07.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl07.png new file mode 100644 index 0000000..b908777 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl07.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08.png new file mode 100644 index 0000000..24e9b11 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_002.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_002.png new file mode 100644 index 0000000..1f6d32f Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_002.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_003.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_003.png new file mode 100644 index 0000000..7794e98 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_003.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_004.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_004.png new file mode 100644 index 0000000..5a1bed0 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl08_004.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl09.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl09.png new file mode 100644 index 0000000..256e597 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl09.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl10.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl10.png new file mode 100644 index 0000000..6197b3d Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl10.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl11.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl11.png new file mode 100644 index 0000000..a2b56b0 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl11.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl12.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl12.png new file mode 100644 index 0000000..ed8aca1 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl12.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl13.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl13.png new file mode 100644 index 0000000..6174273 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl13.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl14.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl14.png new file mode 100644 index 0000000..755c0d1 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl14.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl15.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl15.png new file mode 100644 index 0000000..7aed82e Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl15.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl16.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl16.png new file mode 100644 index 0000000..360fa08 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl16.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl16_002.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl16_002.png new file mode 100644 index 0000000..6c2cf0d Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl16_002.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl17.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl17.png new file mode 100644 index 0000000..6e1cdc8 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl17.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl18.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl18.png new file mode 100644 index 0000000..901c297 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl18.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl18_002.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl18_002.png new file mode 100644 index 0000000..e949761 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl18_002.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl19.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl19.png new file mode 100644 index 0000000..c51f891 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl19.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl20.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl20.png new file mode 100644 index 0000000..48b80db Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl20.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl21.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl21.png new file mode 100644 index 0000000..6c2a21d Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl21.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl22.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl22.png new file mode 100644 index 0000000..c1ae925 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl22.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl23.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl23.png new file mode 100644 index 0000000..ca5901f Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl23.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl24.png b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl24.png new file mode 100644 index 0000000..51ae587 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/dl24.png differ diff --git a/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/liveinstall.css b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/liveinstall.css new file mode 100644 index 0000000..1d5edef --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/docs/desktop-live-install-guide_files/liveinstall.css @@ -0,0 +1 @@ +html{height:100%}body{margin:0px 50px 0 50px;font:normal 16px sans-serif;background-color:white;background-image:url('../pics/gradient.png');background-position:top left;background-repeat:repeat-x;color:#33313B}#line{border-bottom:1px solid #C2540D;width:100%}#header{margin:0 50px 0 50px;padding:0}#upperheader{margin:0 0 0 50px;padding:0}#logo{position:absolute;top:0;left:40px}#intro{border-bottom:none}#mirrors #intro{margin:0;padding:0}#intro #splash{margin-top:70px;margin-bottom:0px;text-align:center}#devuan-img{margin-top:10px;clear:both;display:block}#intro p,.intro{margin-bottom:0.75em;padding:0;line-height:1.2em;text-align:left;font-size:118%}.alt{color:#C2540D;font-weight:bold;float:right}.toc{font-size:0.73em;list-style:none;margin:0 0 1em 0;line-height:1.5em}#mirrors .toc{border-top:1px solid #d3d6df}.toc li{border-bottom:1px solid #d3d6df;padding:3px 3px 3px 3px}.inline ul,.inline li{list-style-type:none;list-style-position:outside;display:inline}#maincol{clear:both}.clr{border-top:1px solid black}#foot{margin:25px 0px;padding-top:1em;text-align:center;border-top:1px solid #C2540D;clear:both}#footer{margin:0;clear:both}#maincol ul,#mailheader{text-indent:0;list-style-position:outside;margin:0.5em 0 1em 0;padding:0}ul{list-style-position:outside;list-style-type:circle;margin:0.5em 0 1em 2em;padding:0}ul ul,ul ul ul,ul ul ul ul{padding-left:1em}#breadcrumbs{font-size:0.68em;margin:0 0 0 0;padding:0.25em;background-color:#ffffff;text-transform:lowercase}.hidecss{display:none}#fineprint{width:100%;font-size:0.68em;color:#333;margin:2em 0 15px 0;padding:0.25em;background-color:#f2f3f7;border-top:1px solid #e2e3e7;text-transform:lowercase;text-align:center}#fineprint p{margin:0;line-height:1em}.nonvisual{display:none}.clear{clear:both}#clear{clear:both}img{border:0}#intro h1{margin:0 0 10px 0;line-height:0.8em}dd{margin:0 0 1em 1em}.section{font-family:monospace;font-size:0.9em;position:absolute;top:0px;left:120px;text-transform:uppercase;letter-spacing:0.08em;background-color:#696477;line-height:20px;color:white;padding:0 5px 0 5px;margin:0}.section em{font-style:normal;color:white}strong{font-weight:bold;font-size:1.3em}p{margin:1.2em 0 0.4em 0;line-height:1.5em;max-width:820px}em{color:#666}h1,h2,h3,h4,h5,h6{font-weight:normal}h1{font-size:218%;margin:0.5em 0 0.5em 0}h2{font-size:164%;margin:1em 0 0.25em 0}h3{font-size:145%}h4{font-size:118%}blockquote{margin:0}hr{background-color:#cdcdcd;height:1px;border:0;display:none}pre{font-family:monospace;font-size:0.73em;line-height:1.5em}th{text-align:left}blockquote{margin-left:1em;font-size:0.73em}code{background-color:#f2f3f7;border:1px solid #e2e3e7;padding:0 0.25em 0 0.25em;text-decoration:none}tt a{background-color:#FFFAF6;border:1px solid #eae9cb;padding:0 0.25em 0 0.25em;text-decoration:none}tt a:hover{background-color:transparent;border-color:transparent}dt{font-weight:bold;margin:0}dd{margin-left:1em}#mirrors h1{margin-top:70px;padding:0.25em 0 0 0;border-top:1px solid #c70036}#mirrors pre{font-size:0.75em}#mirrors td,#mirrors th{font-size:0.73em;padding-right:1em}#mirrors code{background:transparent;border:none}.small,#footer,#news,#security,.planet #sidebar,.planet .date,.wikitoc,.wiki #sidebar,.wiki #pageinfo.info,.wiki #spotlight{font-size:0.73em}a:link{color:#859920;text-decoration:none}a:link:hover{text-decoration:underline;color:#C2540D}a:visited{text-decoration:none;color:#9974BA}a:link:active{color:#C2540D;background-color:transparent}a.txt:link{color:#C2540D;text-transform:uppercase}a.txt:hover{color:#C2540D;text-transform:uppercase;text-decoration:underline} \ No newline at end of file diff --git a/blends/devuan-desktop-live/beowulf/isolinux-overlay/splash.png b/blends/devuan-desktop-live/beowulf/isolinux-overlay/splash.png new file mode 100644 index 0000000..6b4fd8d Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/isolinux-overlay/splash.png differ diff --git a/blends/devuan-desktop-live/beowulf/live-overlay/memtest b/blends/devuan-desktop-live/beowulf/live-overlay/memtest new file mode 100644 index 0000000..48e1b8d Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/live-overlay/memtest differ diff --git a/blends/devuan-desktop-live/beowulf/live-overlay/memtest86+.bin b/blends/devuan-desktop-live/beowulf/live-overlay/memtest86+.bin new file mode 100644 index 0000000..48e1b8d Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/live-overlay/memtest86+.bin differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/.keep b/blends/devuan-desktop-live/beowulf/rootfs-overlay/.keep new file mode 100644 index 0000000..e69de29 diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/default/console-setup b/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/default/console-setup new file mode 100644 index 0000000..2e997bc --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/default/console-setup @@ -0,0 +1,16 @@ +# CONFIGURATION FILE FOR SETUPCON + +# Consult the console-setup(5) manual page. + +ACTIVE_CONSOLES="/dev/tty[1-6]" + +CHARMAP="UTF-8" + +CODESET="Lat15" +FONTFACE="VGA" +FONTSIZE="8x16" + +VIDEOMODE= + +# The following is an example how to use a braille font +# FONT='lat9w-08.psf.gz brl-8x8.psf' diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/lvm/lvm.conf b/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/lvm/lvm.conf new file mode 100644 index 0000000..ac326b3 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/lvm/lvm.conf @@ -0,0 +1,2189 @@ +# This is an example configuration file for the LVM2 system. +# It contains the default settings that would be used if there was no +# /etc/lvm/lvm.conf file. +# +# Refer to 'man lvm.conf' for further information including the file layout. +# +# Refer to 'man lvm.conf' for information about how settings configured in +# this file are combined with built-in values and command line options to +# arrive at the final values used by LVM. +# +# Refer to 'man lvmconfig' for information about displaying the built-in +# and configured values used by LVM. +# +# If a default value is set in this file (not commented out), then a +# new version of LVM using this file will continue using that value, +# even if the new version of LVM changes the built-in default value. +# +# To put this file in a different directory and override /etc/lvm set +# the environment variable LVM_SYSTEM_DIR before running the tools. +# +# N.B. Take care that each setting only appears once if uncommenting +# example settings in this file. + + +# Configuration section config. +# How LVM configuration settings are handled. +config { + + # Configuration option config/checks. + # If enabled, any LVM configuration mismatch is reported. + # This implies checking that the configuration key is understood by + # LVM and that the value of the key is the proper type. If disabled, + # any configuration mismatch is ignored and the default value is used + # without any warning (a message about the configuration key not being + # found is issued in verbose mode only). + checks = 1 + + # Configuration option config/abort_on_errors. + # Abort the LVM process if a configuration mismatch is found. + abort_on_errors = 0 + + # Configuration option config/profile_dir. + # Directory where LVM looks for configuration profiles. + profile_dir = "/etc/lvm/profile" +} + +# Configuration section devices. +# How LVM uses block devices. +devices { + + # Configuration option devices/dir. + # Directory in which to create volume group device nodes. + # Commands also accept this as a prefix on volume group names. + # This configuration option is advanced. + dir = "/dev" + + # Configuration option devices/scan. + # Directories containing device nodes to use with LVM. + # This configuration option is advanced. + scan = [ "/dev" ] + + # Configuration option devices/obtain_device_list_from_udev. + # Obtain the list of available devices from udev. + # This avoids opening or using any inapplicable non-block devices or + # subdirectories found in the udev directory. Any device node or + # symlink not managed by udev in the udev directory is ignored. This + # setting applies only to the udev-managed device directory; other + # directories will be scanned fully. LVM needs to be compiled with + # udev support for this setting to apply. + obtain_device_list_from_udev = 1 + + # Configuration option devices/external_device_info_source. + # Select an external device information source. + # Some information may already be available in the system and LVM can + # use this information to determine the exact type or use of devices it + # processes. Using an existing external device information source can + # speed up device processing as LVM does not need to run its own native + # routines to acquire this information. For example, this information + # is used to drive LVM filtering like MD component detection, multipath + # component detection, partition detection and others. + # + # Accepted values: + # none + # No external device information source is used. + # udev + # Reuse existing udev database records. Applicable only if LVM is + # compiled with udev support. + # + external_device_info_source = "none" + + # Configuration option devices/preferred_names. + # Select which path name to display for a block device. + # If multiple path names exist for a block device, and LVM needs to + # display a name for the device, the path names are matched against + # each item in this list of regular expressions. The first match is + # used. Try to avoid using undescriptive /dev/dm-N names, if present. + # If no preferred name matches, or if preferred_names are not defined, + # the following built-in preferences are applied in order until one + # produces a preferred name: + # Prefer names with path prefixes in the order of: + # /dev/mapper, /dev/disk, /dev/dm-*, /dev/block. + # Prefer the name with the least number of slashes. + # Prefer a name that is a symlink. + # Prefer the path with least value in lexicographical order. + # + # Example + # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ] + # + # This configuration option does not have a default value defined. + + # Configuration option devices/filter. + # Limit the block devices that are used by LVM commands. + # This is a list of regular expressions used to accept or reject block + # device path names. Each regex is delimited by a vertical bar '|' + # (or any character) and is preceded by 'a' to accept the path, or + # by 'r' to reject the path. The first regex in the list to match the + # path is used, producing the 'a' or 'r' result for the device. + # When multiple path names exist for a block device, if any path name + # matches an 'a' pattern before an 'r' pattern, then the device is + # accepted. If all the path names match an 'r' pattern first, then the + # device is rejected. Unmatching path names do not affect the accept + # or reject decision. If no path names for a device match a pattern, + # then the device is accepted. Be careful mixing 'a' and 'r' patterns, + # as the combination might produce unexpected results (test changes.) + # Run vgscan after changing the filter to regenerate the cache. + # + # Example + # Accept every block device: + # filter = [ "a|.*/|" ] + # Reject the cdrom drive: + # filter = [ "r|/dev/cdrom|" ] + # Work with just loopback devices, e.g. for testing: + # filter = [ "a|loop|", "r|.*|" ] + # Accept all loop devices and ide drives except hdc: + # filter = [ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ] + # Use anchors to be very specific: + # filter = [ "a|^/dev/hda8$|", "r|.*/|" ] + # + # This configuration option has an automatic default value. + # filter = [ "a|.*/|" ] + + # Configuration option devices/global_filter. + # Limit the block devices that are used by LVM system components. + # Because devices/filter may be overridden from the command line, it is + # not suitable for system-wide device filtering, e.g. udev. + # Use global_filter to hide devices from these LVM system components. + # The syntax is the same as devices/filter. Devices rejected by + # global_filter are not opened by LVM. + # This configuration option has an automatic default value. + # global_filter = [ "a|.*/|" ] + + # Configuration option devices/types. + # List of additional acceptable block device types. + # These are of device type names from /proc/devices, followed by the + # maximum number of partitions. + # + # Example + # types = [ "fd", 16 ] + # + # This configuration option is advanced. + # This configuration option does not have a default value defined. + + # Configuration option devices/sysfs_scan. + # Restrict device scanning to block devices appearing in sysfs. + # This is a quick way of filtering out block devices that are not + # present on the system. sysfs must be part of the kernel and mounted.) + sysfs_scan = 1 + + # Configuration option devices/scan_lvs. + # Scan LVM LVs for layered PVs. + scan_lvs = 1 + + # Configuration option devices/multipath_component_detection. + # Ignore devices that are components of DM multipath devices. + multipath_component_detection = 0 + + # Configuration option devices/md_component_detection. + # Ignore devices that are components of software RAID (md) devices. + md_component_detection = 0 + + # Configuration option devices/fw_raid_component_detection. + # Ignore devices that are components of firmware RAID devices. + # LVM must use an external_device_info_source other than none for this + # detection to execute. + fw_raid_component_detection = 0 + + # Configuration option devices/md_chunk_alignment. + # Align the start of a PV data area with md device's stripe-width. + # This applies if a PV is placed directly on an md device. + # default_data_alignment will be overriden if it is not aligned + # with the value detected for this setting. + # This setting is overriden by data_alignment_detection, + # data_alignment, and the --dataalignment option. + md_chunk_alignment = 1 + + # Configuration option devices/default_data_alignment. + # Align the start of a PV data area with this number of MiB. + # Set to 1 for 1MiB, 2 for 2MiB, etc. Set to 0 to disable. + # This setting is overriden by data_alignment and the --dataalignment + # option. + # This configuration option has an automatic default value. + # default_data_alignment = 1 + + # Configuration option devices/data_alignment_detection. + # Align the start of a PV data area with sysfs io properties. + # The start of a PV data area will be a multiple of minimum_io_size or + # optimal_io_size exposed in sysfs. minimum_io_size is the smallest + # request the device can perform without incurring a read-modify-write + # penalty, e.g. MD chunk size. optimal_io_size is the device's + # preferred unit of receiving I/O, e.g. MD stripe width. + # minimum_io_size is used if optimal_io_size is undefined (0). + # If md_chunk_alignment is enabled, that detects the optimal_io_size. + # default_data_alignment and md_chunk_alignment will be overriden + # if they are not aligned with the value detected for this setting. + # This setting is overriden by data_alignment and the --dataalignment + # option. + data_alignment_detection = 1 + + # Configuration option devices/data_alignment. + # Align the start of a PV data area with this number of KiB. + # When non-zero, this setting overrides default_data_alignment. + # Set to 0 to disable, in which case default_data_alignment + # is used to align the first PE in units of MiB. + # This setting is overriden by the --dataalignment option. + data_alignment = 0 + + # Configuration option devices/data_alignment_offset_detection. + # Shift the start of an aligned PV data area based on sysfs information. + # After a PV data area is aligned, it will be shifted by the + # alignment_offset exposed in sysfs. This offset is often 0, but may + # be non-zero. Certain 4KiB sector drives that compensate for windows + # partitioning will have an alignment_offset of 3584 bytes (sector 7 + # is the lowest aligned logical block, the 4KiB sectors start at + # LBA -1, and consequently sector 63 is aligned on a 4KiB boundary). + # This setting is overriden by the --dataalignmentoffset option. + data_alignment_offset_detection = 1 + + # Configuration option devices/ignore_suspended_devices. + # Ignore DM devices that have I/O suspended while scanning devices. + # Otherwise, LVM waits for a suspended device to become accessible. + # This should only be needed in recovery situations. + ignore_suspended_devices = 0 + + # Configuration option devices/ignore_lvm_mirrors. + # Do not scan 'mirror' LVs to avoid possible deadlocks. + # This avoids possible deadlocks when using the 'mirror' segment type. + # This setting determines whether LVs using the 'mirror' segment type + # are scanned for LVM labels. This affects the ability of mirrors to + # be used as physical volumes. If this setting is enabled, it is + # impossible to create VGs on top of mirror LVs, i.e. to stack VGs on + # mirror LVs. If this setting is disabled, allowing mirror LVs to be + # scanned, it may cause LVM processes and I/O to the mirror to become + # blocked. This is due to the way that the mirror segment type handles + # failures. In order for the hang to occur, an LVM command must be run + # just after a failure and before the automatic LVM repair process + # takes place, or there must be failures in multiple mirrors in the + # same VG at the same time with write failures occurring moments before + # a scan of the mirror's labels. The 'mirror' scanning problems do not + # apply to LVM RAID types like 'raid1' which handle failures in a + # different way, making them a better choice for VG stacking. + ignore_lvm_mirrors = 1 + + # Configuration option devices/require_restorefile_with_uuid. + # Allow use of pvcreate --uuid without requiring --restorefile. + require_restorefile_with_uuid = 1 + + # Configuration option devices/pv_min_size. + # Minimum size in KiB of block devices which can be used as PVs. + # In a clustered environment all nodes must use the same value. + # Any value smaller than 512KiB is ignored. The previous built-in + # value was 512. + pv_min_size = 2048 + + # Configuration option devices/issue_discards. + # Issue discards to PVs that are no longer used by an LV. + # Discards are sent to an LV's underlying physical volumes when the LV + # is no longer using the physical volumes' space, e.g. lvremove, + # lvreduce. Discards inform the storage that a region is no longer + # used. Storage that supports discards advertise the protocol-specific + # way discards should be issued by the kernel (TRIM, UNMAP, or + # WRITE SAME with UNMAP bit set). Not all storage will support or + # benefit from discards, but SSDs and thinly provisioned LUNs + # generally do. If enabled, discards will only be issued if both the + # storage and kernel provide support. + issue_discards = 0 + + # Configuration option devices/allow_changes_with_duplicate_pvs. + # Allow VG modification while a PV appears on multiple devices. + # When a PV appears on multiple devices, LVM attempts to choose the + # best device to use for the PV. If the devices represent the same + # underlying storage, the choice has minimal consequence. If the + # devices represent different underlying storage, the wrong choice + # can result in data loss if the VG is modified. Disabling this + # setting is the safest option because it prevents modifying a VG + # or activating LVs in it while a PV appears on multiple devices. + # Enabling this setting allows the VG to be used as usual even with + # uncertain devices. + allow_changes_with_duplicate_pvs = 0 +} + +# Configuration section allocation. +# How LVM selects space and applies properties to LVs. +allocation { + + # Configuration option allocation/cling_tag_list. + # Advise LVM which PVs to use when searching for new space. + # When searching for free space to extend an LV, the 'cling' allocation + # policy will choose space on the same PVs as the last segment of the + # existing LV. If there is insufficient space and a list of tags is + # defined here, it will check whether any of them are attached to the + # PVs concerned and then seek to match those PV tags between existing + # extents and new extents. + # + # Example + # Use the special tag "@*" as a wildcard to match any PV tag: + # cling_tag_list = [ "@*" ] + # LVs are mirrored between two sites within a single VG, and + # PVs are tagged with either @site1 or @site2 to indicate where + # they are situated: + # cling_tag_list = [ "@site1", "@site2" ] + # + # This configuration option does not have a default value defined. + + # Configuration option allocation/maximise_cling. + # Use a previous allocation algorithm. + # Changes made in version 2.02.85 extended the reach of the 'cling' + # policies to detect more situations where data can be grouped onto + # the same disks. This setting can be used to disable the changes + # and revert to the previous algorithm. + maximise_cling = 1 + + # Configuration option allocation/use_blkid_wiping. + # Use blkid to detect and erase existing signatures on new PVs and LVs. + # The blkid library can detect more signatures than the native LVM + # detection code, but may take longer. LVM needs to be compiled with + # blkid wiping support for this setting to apply. LVM native detection + # code is currently able to recognize: MD device signatures, + # swap signature, and LUKS signatures. To see the list of signatures + # recognized by blkid, check the output of the 'blkid -k' command. + use_blkid_wiping = 1 + + # Configuration option allocation/wipe_signatures_when_zeroing_new_lvs. + # Look for and erase any signatures while zeroing a new LV. + # The --wipesignatures option overrides this setting. + # Zeroing is controlled by the -Z/--zero option, and if not specified, + # zeroing is used by default if possible. Zeroing simply overwrites the + # first 4KiB of a new LV with zeroes and does no signature detection or + # wiping. Signature wiping goes beyond zeroing and detects exact types + # and positions of signatures within the whole LV. It provides a + # cleaner LV after creation as all known signatures are wiped. The LV + # is not claimed incorrectly by other tools because of old signatures + # from previous use. The number of signatures that LVM can detect + # depends on the detection code that is selected (see + # use_blkid_wiping.) Wiping each detected signature must be confirmed. + # When this setting is disabled, signatures on new LVs are not detected + # or erased unless the --wipesignatures option is used directly. + wipe_signatures_when_zeroing_new_lvs = 1 + + # Configuration option allocation/mirror_logs_require_separate_pvs. + # Mirror logs and images will always use different PVs. + # The default setting changed in version 2.02.85. + mirror_logs_require_separate_pvs = 0 + + # Configuration option allocation/raid_stripe_all_devices. + # Stripe across all PVs when RAID stripes are not specified. + # If enabled, all PVs in the VG or on the command line are used for + # raid0/4/5/6/10 when the command does not specify the number of + # stripes to use. + # This was the default behaviour until release 2.02.162. + # This configuration option has an automatic default value. + # raid_stripe_all_devices = 0 + + # Configuration option allocation/cache_pool_metadata_require_separate_pvs. + # Cache pool metadata and data will always use different PVs. + cache_pool_metadata_require_separate_pvs = 0 + + # Configuration option allocation/cache_metadata_format. + # Sets default metadata format for new cache. + # + # Accepted values: + # 0 Automatically detected best available format + # 1 Original format + # 2 Improved 2nd. generation format + # + # This configuration option has an automatic default value. + # cache_metadata_format = 0 + + # Configuration option allocation/cache_mode. + # The default cache mode used for new cache. + # + # Accepted values: + # writethrough + # Data blocks are immediately written from the cache to disk. + # writeback + # Data blocks are written from the cache back to disk after some + # delay to improve performance. + # + # This setting replaces allocation/cache_pool_cachemode. + # This configuration option has an automatic default value. + # cache_mode = "writethrough" + + # Configuration option allocation/cache_policy. + # The default cache policy used for new cache volume. + # Since kernel 4.2 the default policy is smq (Stochastic multiqueue), + # otherwise the older mq (Multiqueue) policy is selected. + # This configuration option does not have a default value defined. + + # Configuration section allocation/cache_settings. + # Settings for the cache policy. + # See documentation for individual cache policies for more info. + # This configuration section has an automatic default value. + # cache_settings { + # } + + # Configuration option allocation/cache_pool_chunk_size. + # The minimal chunk size in KiB for cache pool volumes. + # Using a chunk_size that is too large can result in wasteful use of + # the cache, where small reads and writes can cause large sections of + # an LV to be mapped into the cache. However, choosing a chunk_size + # that is too small can result in more overhead trying to manage the + # numerous chunks that become mapped into the cache. The former is + # more of a problem than the latter in most cases, so the default is + # on the smaller end of the spectrum. Supported values range from + # 32KiB to 1GiB in multiples of 32. + # This configuration option does not have a default value defined. + + # Configuration option allocation/cache_pool_max_chunks. + # The maximum number of chunks in a cache pool. + # For cache target v1.9 the recommended maximumm is 1000000 chunks. + # Using cache pool with more chunks may degrade cache performance. + # This configuration option does not have a default value defined. + + # Configuration option allocation/thin_pool_metadata_require_separate_pvs. + # Thin pool metdata and data will always use different PVs. + thin_pool_metadata_require_separate_pvs = 0 + + # Configuration option allocation/thin_pool_zero. + # Thin pool data chunks are zeroed before they are first used. + # Zeroing with a larger thin pool chunk size reduces performance. + # This configuration option has an automatic default value. + # thin_pool_zero = 1 + + # Configuration option allocation/thin_pool_discards. + # The discards behaviour of thin pool volumes. + # + # Accepted values: + # ignore + # nopassdown + # passdown + # + # This configuration option has an automatic default value. + # thin_pool_discards = "passdown" + + # Configuration option allocation/thin_pool_chunk_size_policy. + # The chunk size calculation policy for thin pool volumes. + # + # Accepted values: + # generic + # If thin_pool_chunk_size is defined, use it. Otherwise, calculate + # the chunk size based on estimation and device hints exposed in + # sysfs - the minimum_io_size. The chunk size is always at least + # 64KiB. + # performance + # If thin_pool_chunk_size is defined, use it. Otherwise, calculate + # the chunk size for performance based on device hints exposed in + # sysfs - the optimal_io_size. The chunk size is always at least + # 512KiB. + # + # This configuration option has an automatic default value. + # thin_pool_chunk_size_policy = "generic" + + # Configuration option allocation/thin_pool_chunk_size. + # The minimal chunk size in KiB for thin pool volumes. + # Larger chunk sizes may improve performance for plain thin volumes, + # however using them for snapshot volumes is less efficient, as it + # consumes more space and takes extra time for copying. When unset, + # lvm tries to estimate chunk size starting from 64KiB. Supported + # values are in the range 64KiB to 1GiB. + # This configuration option does not have a default value defined. + + # Configuration option allocation/physical_extent_size. + # Default physical extent size in KiB to use for new VGs. + # This configuration option has an automatic default value. + # physical_extent_size = 4096 + + # Configuration option allocation/vdo_use_compression. + # Enables or disables compression when creating a VDO volume. + # Compression may be disabled if necessary to maximize performance + # or to speed processing of data that is unlikely to compress. + # This configuration option has an automatic default value. + # vdo_use_compression = 1 + + # Configuration option allocation/vdo_use_deduplication. + # Enables or disables deduplication when creating a VDO volume. + # Deduplication may be disabled in instances where data is not expected + # to have good deduplication rates but compression is still desired. + # This configuration option has an automatic default value. + # vdo_use_deduplication = 1 + + # Configuration option allocation/vdo_emulate_512_sectors. + # Specifies that the VDO volume is to emulate a 512 byte block device. + # This configuration option has an automatic default value. + # vdo_emulate_512_sectors = 0 + + # Configuration option allocation/vdo_block_map_cache_size_mb. + # Specifies the amount of memory in MiB allocated for caching block map + # pages for VDO volume. The value must be a multiple of 4096 and must be + # at least 128MiB and less than 16TiB. The cache must be at least 16MiB + # per logical thread. Note that there is a memory overhead of 15%. + # This configuration option has an automatic default value. + # vdo_block_map_cache_size_mb = 128 + + # Configuration option allocation/vdo_block_map_period. + # Tunes the quantity of block map updates that can accumulate + # before cache pages are flushed to disk. The value must be + # at least 1 and less then 16380. + # A lower value means shorter recovery time but lower performance. + # This configuration option has an automatic default value. + # vdo_block_map_period = 16380 + + # Configuration option allocation/vdo_check_point_frequency. + # The default check point frequency for VDO volume. + # This configuration option has an automatic default value. + # vdo_check_point_frequency = 0 + + # Configuration option allocation/vdo_use_sparse_index. + # Enables sparse indexing for VDO volume. + # This configuration option has an automatic default value. + # vdo_use_sparse_index = 0 + + # Configuration option allocation/vdo_index_memory_size_mb. + # Specifies the amount of index memory in MiB for VDO volume. + # The value must be at least 256MiB and at most 1TiB. + # This configuration option has an automatic default value. + # vdo_index_memory_size_mb = 256 + + # Configuration option allocation/vdo_use_read_cache. + # Enables or disables the read cache within the VDO volume. + # The cache should be enabled if write workloads are expected + # to have high levels of deduplication, or for read intensive + # workloads of highly compressible data. + # This configuration option has an automatic default value. + # vdo_use_read_cache = 0 + + # Configuration option allocation/vdo_read_cache_size_mb. + # Specifies the extra VDO volume read cache size in MiB. + # This space is in addition to a system-defined minimum. + # The value must be less then 16TiB and 1.12 MiB of memory + # will be used per MiB of read cache specified, per bio thread. + # This configuration option has an automatic default value. + # vdo_read_cache_size_mb = 0 + + # Configuration option allocation/vdo_slab_size_mb. + # Specifies the size in MiB of the increment by which a VDO is grown. + # Using a smaller size constrains the total maximum physical size + # that can be accommodated. Must be a power of two between 128MiB and 32GiB. + # This configuration option has an automatic default value. + # vdo_slab_size_mb = 2048 + + # Configuration option allocation/vdo_ack_threads. + # Specifies the number of threads to use for acknowledging + # completion of requested VDO I/O operations. + # The value must be at in range [0..100]. + # This configuration option has an automatic default value. + # vdo_ack_threads = 1 + + # Configuration option allocation/vdo_bio_threads. + # Specifies the number of threads to use for submitting I/O + # operations to the storage device of VDO volume. + # The value must be in range [1..100] + # Each additional thread after the first will use an additional 18MiB of RAM, + # plus 1.12 MiB of RAM per megabyte of configured read cache size. + # This configuration option has an automatic default value. + # vdo_bio_threads = 1 + + # Configuration option allocation/vdo_bio_rotation. + # Specifies the number of I/O operations to enqueue for each bio-submission + # thread before directing work to the next. The value must be in range [1..1024]. + # This configuration option has an automatic default value. + # vdo_bio_rotation = 64 + + # Configuration option allocation/vdo_cpu_threads. + # Specifies the number of threads to use for CPU-intensive work such as + # hashing or compression for VDO volume. The value must be in range [1..100] + # This configuration option has an automatic default value. + # vdo_cpu_threads = 2 + + # Configuration option allocation/vdo_hash_zone_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on the hash value computed from the block data. + # The value must be at in range [0..100]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_hash_zone_threads = 1 + + # Configuration option allocation/vdo_logical_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on the hash value computed from the block data. + # A logical thread count of 9 or more will require explicitly specifying + # a sufficiently large block map cache size, as well. + # The value must be in range [0..100]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_logical_threads = 1 + + # Configuration option allocation/vdo_physical_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on physical block addresses. + # Each additional thread after the first will use an additional 10MiB of RAM. + # The value must be in range [0..16]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_physical_threads = 1 + + # Configuration option allocation/vdo_write_policy. + # Specifies the write policy: + # auto - VDO will check the storage device and determine whether it supports flushes. + # If it does, VDO will run in async mode, otherwise it will run in sync mode. + # sync - Writes are acknowledged only after data is stably written. + # This policy is not supported if the underlying storage is not also synchronous. + # async - Writes are acknowledged after data has been cached for writing to stable storage. + # Data which has not been flushed is not guaranteed to persist in this mode. + # This configuration option has an automatic default value. + # vdo_write_policy = "auto" +} + +# Configuration section log. +# How LVM log information is reported. +log { + + # Configuration option log/report_command_log. + # Enable or disable LVM log reporting. + # If enabled, LVM will collect a log of operations, messages, + # per-object return codes with object identification and associated + # error numbers (errnos) during LVM command processing. Then the + # log is either reported solely or in addition to any existing + # reports, depending on LVM command used. If it is a reporting command + # (e.g. pvs, vgs, lvs, lvm fullreport), then the log is reported in + # addition to any existing reports. Otherwise, there's only log report + # on output. For all applicable LVM commands, you can request that + # the output has only log report by using --logonly command line + # option. Use log/command_log_cols and log/command_log_sort settings + # to define fields to display and sort fields for the log report. + # You can also use log/command_log_selection to define selection + # criteria used each time the log is reported. + # This configuration option has an automatic default value. + # report_command_log = 0 + + # Configuration option log/command_log_sort. + # List of columns to sort by when reporting command log. + # See --logonly --configreport log -o help + # for the list of possible fields. + # This configuration option has an automatic default value. + # command_log_sort = "log_seq_num" + + # Configuration option log/command_log_cols. + # List of columns to report when reporting command log. + # See --logonly --configreport log -o help + # for the list of possible fields. + # This configuration option has an automatic default value. + # command_log_cols = "log_seq_num,log_type,log_context,log_object_type,log_object_name,log_object_id,log_object_group,log_object_group_id,log_message,log_errno,log_ret_code" + + # Configuration option log/command_log_selection. + # Selection criteria used when reporting command log. + # You can define selection criteria that are applied each + # time log is reported. This way, it is possible to control the + # amount of log that is displayed on output and you can select + # only parts of the log that are important for you. To define + # selection criteria, use fields from log report. See also + # --logonly --configreport log -S help for the + # list of possible fields and selection operators. You can also + # define selection criteria for log report on command line directly + # using --configreport log -S + # which has precedence over log/command_log_selection setting. + # For more information about selection criteria in general, see + # lvm(8) man page. + # This configuration option has an automatic default value. + # command_log_selection = "!(log_type=status && message=success)" + + # Configuration option log/verbose. + # Controls the messages sent to stdout or stderr. + verbose = 0 + + # Configuration option log/silent. + # Suppress all non-essential messages from stdout. + # This has the same effect as -qq. When enabled, the following commands + # still produce output: dumpconfig, lvdisplay, lvmdiskscan, lvs, pvck, + # pvdisplay, pvs, version, vgcfgrestore -l, vgdisplay, vgs. + # Non-essential messages are shifted from log level 4 to log level 5 + # for syslog and lvm2_log_fn purposes. + # Any 'yes' or 'no' questions not overridden by other arguments are + # suppressed and default to 'no'. + silent = 0 + + # Configuration option log/syslog. + # Send log messages through syslog. + syslog = 1 + + # Configuration option log/file. + # Write error and debug log messages to a file specified here. + # This configuration option does not have a default value defined. + + # Configuration option log/overwrite. + # Overwrite the log file each time the program is run. + overwrite = 0 + + # Configuration option log/level. + # The level of log messages that are sent to the log file or syslog. + # There are 6 syslog-like log levels currently in use: 2 to 7 inclusive. + # 7 is the most verbose (LOG_DEBUG). + level = 0 + + # Configuration option log/indent. + # Indent messages according to their severity. + indent = 1 + + # Configuration option log/command_names. + # Display the command name on each line of output. + command_names = 0 + + # Configuration option log/prefix. + # A prefix to use before the log message text. + # (After the command name, if selected). + # Two spaces allows you to see/grep the severity of each message. + # To make the messages look similar to the original LVM tools use: + # indent = 0, command_names = 1, prefix = " -- " + prefix = " " + + # Configuration option log/activation. + # Log messages during activation. + # Don't use this in low memory situations (can deadlock). + activation = 0 + + # Configuration option log/debug_classes. + # Select log messages by class. + # Some debugging messages are assigned to a class and only appear in + # debug output if the class is listed here. Classes currently + # available: memory, devices, io, activation, allocation, + # metadata, cache, locking, lvmpolld. Use "all" to see everything. + debug_classes = [ "memory", "devices", "io", "activation", "allocation", "metadata", "cache", "locking", "lvmpolld", "dbus" ] +} + +# Configuration section backup. +# How LVM metadata is backed up and archived. +# In LVM, a 'backup' is a copy of the metadata for the current system, +# and an 'archive' contains old metadata configurations. They are +# stored in a human readable text format. +backup { + + # Configuration option backup/backup. + # Maintain a backup of the current metadata configuration. + # Think very hard before turning this off! + backup = 1 + + # Configuration option backup/backup_dir. + # Location of the metadata backup files. + # Remember to back up this directory regularly! + backup_dir = "/etc/lvm/backup" + + # Configuration option backup/archive. + # Maintain an archive of old metadata configurations. + # Think very hard before turning this off. + archive = 1 + + # Configuration option backup/archive_dir. + # Location of the metdata archive files. + # Remember to back up this directory regularly! + archive_dir = "/etc/lvm/archive" + + # Configuration option backup/retain_min. + # Minimum number of archives to keep. + retain_min = 10 + + # Configuration option backup/retain_days. + # Minimum number of days to keep archive files. + retain_days = 30 +} + +# Configuration section shell. +# Settings for running LVM in shell (readline) mode. +shell { + + # Configuration option shell/history_size. + # Number of lines of history to store in ~/.lvm_history. + history_size = 100 +} + +# Configuration section global. +# Miscellaneous global LVM settings. +global { + + # Configuration option global/umask. + # The file creation mask for any files and directories created. + # Interpreted as octal if the first digit is zero. + umask = 077 + + # Configuration option global/test. + # No on-disk metadata changes will be made in test mode. + # Equivalent to having the -t option on every command. + test = 0 + + # Configuration option global/units. + # Default value for --units argument. + units = "r" + + # Configuration option global/si_unit_consistency. + # Distinguish between powers of 1024 and 1000 bytes. + # The LVM commands distinguish between powers of 1024 bytes, + # e.g. KiB, MiB, GiB, and powers of 1000 bytes, e.g. KB, MB, GB. + # If scripts depend on the old behaviour, disable this setting + # temporarily until they are updated. + si_unit_consistency = 1 + + # Configuration option global/suffix. + # Display unit suffix for sizes. + # This setting has no effect if the units are in human-readable form + # (global/units = "h") in which case the suffix is always displayed. + suffix = 1 + + # Configuration option global/activation. + # Enable/disable communication with the kernel device-mapper. + # Disable to use the tools to manipulate LVM metadata without + # activating any logical volumes. If the device-mapper driver + # is not present in the kernel, disabling this should suppress + # the error messages. + activation = 1 + + # Configuration option global/segment_libraries. + # This configuration option does not have a default value defined. + + # Configuration option global/proc. + # Location of proc filesystem. + # This configuration option is advanced. + proc = "/proc" + + # Configuration option global/etc. + # Location of /etc system configuration directory. + etc = "/etc" + + # Configuration option global/wait_for_locks. + # When disabled, fail if a lock request would block. + wait_for_locks = 1 + + # Configuration option global/locking_dir. + # Directory to use for LVM command file locks. + # Local non-LV directory that holds file-based locks while commands are + # in progress. A directory like /tmp that may get wiped on reboot is OK. + locking_dir = "/run/lock/lvm" + + # Configuration option global/prioritise_write_locks. + # Allow quicker VG write access during high volume read access. + # When there are competing read-only and read-write access requests for + # a volume group's metadata, instead of always granting the read-only + # requests immediately, delay them to allow the read-write requests to + # be serviced. Without this setting, write access may be stalled by a + # high volume of read-only requests. This option only affects + # locking_type 1 viz. local file-based locking. + prioritise_write_locks = 1 + + # Configuration option global/library_dir. + # Search this directory first for shared libraries. + # This configuration option does not have a default value defined. + + # Configuration option global/abort_on_internal_errors. + # Abort a command that encounters an internal error. + # Treat any internal errors as fatal errors, aborting the process that + # encountered the internal error. Please only enable for debugging. + abort_on_internal_errors = 0 + + # Configuration option global/metadata_read_only. + # No operations that change on-disk metadata are permitted. + # Additionally, read-only commands that encounter metadata in need of + # repair will still be allowed to proceed exactly as if the repair had + # been performed (except for the unchanged vg_seqno). Inappropriate + # use could mess up your system, so seek advice first! + metadata_read_only = 0 + + # Configuration option global/mirror_segtype_default. + # The segment type used by the short mirroring option -m. + # The --type mirror|raid1 option overrides this setting. + # + # Accepted values: + # mirror + # The original RAID1 implementation from LVM/DM. It is + # characterized by a flexible log solution (core, disk, mirrored), + # and by the necessity to block I/O while handling a failure. + # There is an inherent race in the dmeventd failure handling logic + # with snapshots of devices using this type of RAID1 that in the + # worst case could cause a deadlock. (Also see + # devices/ignore_lvm_mirrors.) + # raid1 + # This is a newer RAID1 implementation using the MD RAID1 + # personality through device-mapper. It is characterized by a + # lack of log options. (A log is always allocated for every + # device and they are placed on the same device as the image, + # so no separate devices are required.) This mirror + # implementation does not require I/O to be blocked while + # handling a failure. This mirror implementation is not + # cluster-aware and cannot be used in a shared (active/active) + # fashion in a cluster. + # + mirror_segtype_default = "raid1" + + # Configuration option global/raid10_segtype_default. + # The segment type used by the -i -m combination. + # The --type raid10|mirror option overrides this setting. + # The --stripes/-i and --mirrors/-m options can both be specified + # during the creation of a logical volume to use both striping and + # mirroring for the LV. There are two different implementations. + # + # Accepted values: + # raid10 + # LVM uses MD's RAID10 personality through DM. This is the + # preferred option. + # mirror + # LVM layers the 'mirror' and 'stripe' segment types. The layering + # is done by creating a mirror LV on top of striped sub-LVs, + # effectively creating a RAID 0+1 array. The layering is suboptimal + # in terms of providing redundancy and performance. + # + raid10_segtype_default = "raid10" + + # Configuration option global/sparse_segtype_default. + # The segment type used by the -V -L combination. + # The --type snapshot|thin option overrides this setting. + # The combination of -V and -L options creates a sparse LV. There are + # two different implementations. + # + # Accepted values: + # snapshot + # The original snapshot implementation from LVM/DM. It uses an old + # snapshot that mixes data and metadata within a single COW + # storage volume and performs poorly when the size of stored data + # passes hundreds of MB. + # thin + # A newer implementation that uses thin provisioning. It has a + # bigger minimal chunk size (64KiB) and uses a separate volume for + # metadata. It has better performance, especially when more data + # is used. It also supports full snapshots. + # + sparse_segtype_default = "thin" + + # Configuration option global/lvdisplay_shows_full_device_path. + # Enable this to reinstate the previous lvdisplay name format. + # The default format for displaying LV names in lvdisplay was changed + # in version 2.02.89 to show the LV name and path separately. + # Previously this was always shown as /dev/vgname/lvname even when that + # was never a valid path in the /dev filesystem. + # This configuration option has an automatic default value. + # lvdisplay_shows_full_device_path = 0 + + # Configuration option global/event_activation. + # Activate LVs based on system-generated device events. + # When a device appears on the system, a system-generated event runs + # the pvscan command to activate LVs if the new PV completes the VG. + # Use auto_activation_volume_list to select which LVs should be + # activated from these events (the default is all.) + # When event_activation is disabled, the system will generally run + # a direct activation command to activate LVs in complete VGs. + event_activation = 1 + + # Configuration option global/use_aio. + # Use async I/O when reading and writing devices. + # This configuration option has an automatic default value. + # use_aio = 1 + + # Configuration option global/use_lvmlockd. + # Use lvmlockd for locking among hosts using LVM on shared storage. + # Applicable only if LVM is compiled with lockd support in which + # case there is also lvmlockd(8) man page available for more + # information. + use_lvmlockd = 0 + + # Configuration option global/lvmlockd_lock_retries. + # Retry lvmlockd lock requests this many times. + # Applicable only if LVM is compiled with lockd support + # This configuration option has an automatic default value. + # lvmlockd_lock_retries = 3 + + # Configuration option global/sanlock_lv_extend. + # Size in MiB to extend the internal LV holding sanlock locks. + # The internal LV holds locks for each LV in the VG, and after enough + # LVs have been created, the internal LV needs to be extended. lvcreate + # will automatically extend the internal LV when needed by the amount + # specified here. Setting this to 0 disables the automatic extension + # and can cause lvcreate to fail. Applicable only if LVM is compiled + # with lockd support + # This configuration option has an automatic default value. + # sanlock_lv_extend = 256 + + # Configuration option global/thin_check_executable. + # The full path to the thin_check command. + # LVM uses this command to check that a thin metadata device is in a + # usable state. When a thin pool is activated and after it is + # deactivated, this command is run. Activation will only proceed if + # the command has an exit status of 0. Set to "" to skip this check. + # (Not recommended.) Also see thin_check_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_check_executable = "/usr/sbin/thin_check" + + # Configuration option global/thin_dump_executable. + # The full path to the thin_dump command. + # LVM uses this command to dump thin pool metadata. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_dump_executable = "/usr/sbin/thin_dump" + + # Configuration option global/thin_repair_executable. + # The full path to the thin_repair command. + # LVM uses this command to repair a thin metadata device if it is in + # an unusable state. Also see thin_repair_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_repair_executable = "/usr/sbin/thin_repair" + + # Configuration option global/thin_check_options. + # List of options passed to the thin_check command. + # With thin_check version 2.1 or newer you can add the option + # --ignore-non-fatal-errors to let it pass through ignorable errors + # and fix them later. With thin_check version 3.2 or newer you should + # include the option --clear-needs-check-flag. + # This configuration option has an automatic default value. + # thin_check_options = [ "-q", "--clear-needs-check-flag" ] + + # Configuration option global/thin_repair_options. + # List of options passed to the thin_repair command. + # This configuration option has an automatic default value. + # thin_repair_options = [ "" ] + + # Configuration option global/thin_disabled_features. + # Features to not use in the thin driver. + # This can be helpful for testing, or to avoid using a feature that is + # causing problems. Features include: block_size, discards, + # discards_non_power_2, external_origin, metadata_resize, + # external_origin_extend, error_if_no_space. + # + # Example + # thin_disabled_features = [ "discards", "block_size" ] + # + # This configuration option does not have a default value defined. + + # Configuration option global/cache_disabled_features. + # Features to not use in the cache driver. + # This can be helpful for testing, or to avoid using a feature that is + # causing problems. Features include: policy_mq, policy_smq, metadata2. + # + # Example + # cache_disabled_features = [ "policy_smq" ] + # + # This configuration option does not have a default value defined. + + # Configuration option global/cache_check_executable. + # The full path to the cache_check command. + # LVM uses this command to check that a cache metadata device is in a + # usable state. When a cached LV is activated and after it is + # deactivated, this command is run. Activation will only proceed if the + # command has an exit status of 0. Set to "" to skip this check. + # (Not recommended.) Also see cache_check_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_check_executable = "/usr/sbin/cache_check" + + # Configuration option global/cache_dump_executable. + # The full path to the cache_dump command. + # LVM uses this command to dump cache pool metadata. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_dump_executable = "/usr/sbin/cache_dump" + + # Configuration option global/cache_repair_executable. + # The full path to the cache_repair command. + # LVM uses this command to repair a cache metadata device if it is in + # an unusable state. Also see cache_repair_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_repair_executable = "/usr/sbin/cache_repair" + + # Configuration option global/cache_check_options. + # List of options passed to the cache_check command. + # With cache_check version 5.0 or newer you should include the option + # --clear-needs-check-flag. + # This configuration option has an automatic default value. + # cache_check_options = [ "-q", "--clear-needs-check-flag" ] + + # Configuration option global/cache_repair_options. + # List of options passed to the cache_repair command. + # This configuration option has an automatic default value. + # cache_repair_options = [ "" ] + + # Configuration option global/vdo_format_executable. + # The full path to the vdoformat command. + # LVM uses this command to initial data volume for VDO type logical volume + # This configuration option has an automatic default value. + # vdo_format_executable = "autodetect" + + # Configuration option global/vdo_format_options. + # List of options passed added to standard vdoformat command. + # This configuration option has an automatic default value. + # vdo_format_options = [ "" ] + + # Configuration option global/fsadm_executable. + # The full path to the fsadm command. + # LVM uses this command to help with lvresize -r operations. + # This configuration option has an automatic default value. + # fsadm_executable = "/sbin/fsadm" + + # Configuration option global/system_id_source. + # The method LVM uses to set the local system ID. + # Volume Groups can also be given a system ID (by vgcreate, vgchange, + # or vgimport.) A VG on shared storage devices is accessible only to + # the host with a matching system ID. See 'man lvmsystemid' for + # information on limitations and correct usage. + # + # Accepted values: + # none + # The host has no system ID. + # lvmlocal + # Obtain the system ID from the system_id setting in the 'local' + # section of an lvm configuration file, e.g. lvmlocal.conf. + # uname + # Set the system ID from the hostname (uname) of the system. + # System IDs beginning localhost are not permitted. + # machineid + # Use the contents of the machine-id file to set the system ID. + # Some systems create this file at installation time. + # See 'man machine-id' and global/etc. + # file + # Use the contents of another file (system_id_file) to set the + # system ID. + # + system_id_source = "none" + + # Configuration option global/system_id_file. + # The full path to the file containing a system ID. + # This is used when system_id_source is set to 'file'. + # Comments starting with the character # are ignored. + # This configuration option does not have a default value defined. + + # Configuration option global/use_lvmpolld. + # Use lvmpolld to supervise long running LVM commands. + # When enabled, control of long running LVM commands is transferred + # from the original LVM command to the lvmpolld daemon. This allows + # the operation to continue independent of the original LVM command. + # After lvmpolld takes over, the LVM command displays the progress + # of the ongoing operation. lvmpolld itself runs LVM commands to + # manage the progress of ongoing operations. lvmpolld can be used as + # a native systemd service, which allows it to be started on demand, + # and to use its own control group. When this option is disabled, LVM + # commands will supervise long running operations by forking themselves. + # Applicable only if LVM is compiled with lvmpolld support. + use_lvmpolld = 1 + + # Configuration option global/notify_dbus. + # Enable D-Bus notification from LVM commands. + # When enabled, an LVM command that changes PVs, changes VG metadata, + # or changes the activation state of an LV will send a notification. + notify_dbus = 1 +} + +# Configuration section activation. +activation { + + # Configuration option activation/checks. + # Perform internal checks of libdevmapper operations. + # Useful for debugging problems with activation. Some of the checks may + # be expensive, so it's best to use this only when there seems to be a + # problem. + checks = 0 + + # Configuration option activation/udev_sync. + # Use udev notifications to synchronize udev and LVM. + # The --nodevsync option overrides this setting. + # When disabled, LVM commands will not wait for notifications from + # udev, but continue irrespective of any possible udev processing in + # the background. Only use this if udev is not running or has rules + # that ignore the devices LVM creates. If enabled when udev is not + # running, and LVM processes are waiting for udev, run the command + # 'dmsetup udevcomplete_all' to wake them up. + udev_sync = 0 + + # Configuration option activation/udev_rules. + # Use udev rules to manage LV device nodes and symlinks. + # When disabled, LVM will manage the device nodes and symlinks for + # active LVs itself. Manual intervention may be required if this + # setting is changed while LVs are active. + udev_rules = 0 + + # Configuration option activation/verify_udev_operations. + # Use extra checks in LVM to verify udev operations. + # This enables additional checks (and if necessary, repairs) on entries + # in the device directory after udev has completed processing its + # events. Useful for diagnosing problems with LVM/udev interactions. + verify_udev_operations = 0 + + # Configuration option activation/retry_deactivation. + # Retry failed LV deactivation. + # If LV deactivation fails, LVM will retry for a few seconds before + # failing. This may happen because a process run from a quick udev rule + # temporarily opened the device. + retry_deactivation = 1 + + # Configuration option activation/missing_stripe_filler. + # Method to fill missing stripes when activating an incomplete LV. + # Using 'error' will make inaccessible parts of the device return I/O + # errors on access. Using 'zero' will return success (and zero) on I/O + # You can instead use a device path, in which case, + # that device will be used in place of missing stripes. Using anything + # other than 'error' with mirrored or snapshotted volumes is likely to + # result in data corruption. + # This configuration option is advanced. + missing_stripe_filler = "error" + + # Configuration option activation/use_linear_target. + # Use the linear target to optimize single stripe LVs. + # When disabled, the striped target is used. The linear target is an + # optimised version of the striped target that only handles a single + # stripe. + use_linear_target = 1 + + # Configuration option activation/reserved_stack. + # Stack size in KiB to reserve for use while devices are suspended. + # Insufficent reserve risks I/O deadlock during device suspension. + reserved_stack = 64 + + # Configuration option activation/reserved_memory. + # Memory size in KiB to reserve for use while devices are suspended. + # Insufficent reserve risks I/O deadlock during device suspension. + reserved_memory = 8192 + + # Configuration option activation/process_priority. + # Nice value used while devices are suspended. + # Use a high priority so that LVs are suspended + # for the shortest possible time. + process_priority = -18 + + # Configuration option activation/volume_list. + # Only LVs selected by this list are activated. + # If this list is defined, an LV is only activated if it matches an + # entry in this list. If this list is undefined, it imposes no limits + # on LV activation (all are allowed). + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/auto_activation_volume_list. + # Only LVs selected by this list are auto-activated. + # This list works like volume_list, but it is used only by + # auto-activation commands. It does not apply to direct activation + # commands. If this list is defined, an LV is only auto-activated + # if it matches an entry in this list. If this list is undefined, it + # imposes no limits on LV auto-activation (all are allowed.) If this + # list is defined and empty, i.e. "[]", then no LVs are selected for + # auto-activation. An LV that is selected by this list for + # auto-activation, must also be selected by volume_list (if defined) + # before it is activated. Auto-activation is an activation command that + # includes the 'a' argument: --activate ay or -a ay. The 'a' (auto) + # argument for auto-activation is meant to be used by activation + # commands that are run automatically by the system, as opposed to LVM + # commands run directly by a user. A user may also use the 'a' flag + # directly to perform auto-activation. Also see pvscan(8) for more + # information about auto-activation. + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # auto_activation_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/read_only_volume_list. + # LVs in this list are activated in read-only mode. + # If this list is defined, each LV that is to be activated is checked + # against this list, and if it matches, it is activated in read-only + # mode. This overrides the permission setting stored in the metadata, + # e.g. from --permission rw. + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # read_only_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/raid_region_size. + # Size in KiB of each raid or mirror synchronization region. + # The clean/dirty state of data is tracked for each region. + # The value is rounded down to a power of two if necessary, and + # is ignored if it is not a multiple of the machine memory page size. + raid_region_size = 2048 + + # Configuration option activation/error_when_full. + # Return errors if a thin pool runs out of space. + # The --errorwhenfull option overrides this setting. + # When enabled, writes to thin LVs immediately return an error if the + # thin pool is out of data space. When disabled, writes to thin LVs + # are queued if the thin pool is out of space, and processed when the + # thin pool data space is extended. New thin pools are assigned the + # behavior defined here. + # This configuration option has an automatic default value. + # error_when_full = 0 + + # Configuration option activation/readahead. + # Setting to use when there is no readahead setting in metadata. + # + # Accepted values: + # none + # Disable readahead. + # auto + # Use default value chosen by kernel. + # + readahead = "auto" + + # Configuration option activation/raid_fault_policy. + # Defines how a device failure in a RAID LV is handled. + # This includes LVs that have the following segment types: + # raid1, raid4, raid5*, and raid6*. + # If a device in the LV fails, the policy determines the steps + # performed by dmeventd automatically, and the steps perfomed by the + # manual command lvconvert --repair --use-policies. + # Automatic handling requires dmeventd to be monitoring the LV. + # + # Accepted values: + # warn + # Use the system log to warn the user that a device in the RAID LV + # has failed. It is left to the user to run lvconvert --repair + # manually to remove or replace the failed device. As long as the + # number of failed devices does not exceed the redundancy of the LV + # (1 device for raid4/5, 2 for raid6), the LV will remain usable. + # allocate + # Attempt to use any extra physical volumes in the VG as spares and + # replace faulty devices. + # + raid_fault_policy = "warn" + + # Configuration option activation/mirror_image_fault_policy. + # Defines how a device failure in a 'mirror' LV is handled. + # An LV with the 'mirror' segment type is composed of mirror images + # (copies) and a mirror log. A disk log ensures that a mirror LV does + # not need to be re-synced (all copies made the same) every time a + # machine reboots or crashes. If a device in the LV fails, this policy + # determines the steps perfomed by dmeventd automatically, and the steps + # performed by the manual command lvconvert --repair --use-policies. + # Automatic handling requires dmeventd to be monitoring the LV. + # + # Accepted values: + # remove + # Simply remove the faulty device and run without it. If the log + # device fails, the mirror would convert to using an in-memory log. + # This means the mirror will not remember its sync status across + # crashes/reboots and the entire mirror will be re-synced. If a + # mirror image fails, the mirror will convert to a non-mirrored + # device if there is only one remaining good copy. + # allocate + # Remove the faulty device and try to allocate space on a new + # device to be a replacement for the failed device. Using this + # policy for the log is fast and maintains the ability to remember + # sync state through crashes/reboots. Using this policy for a + # mirror device is slow, as it requires the mirror to resynchronize + # the devices, but it will preserve the mirror characteristic of + # the device. This policy acts like 'remove' if no suitable device + # and space can be allocated for the replacement. + # allocate_anywhere + # Not yet implemented. Useful to place the log device temporarily + # on the same physical volume as one of the mirror images. This + # policy is not recommended for mirror devices since it would break + # the redundant nature of the mirror. This policy acts like + # 'remove' if no suitable device and space can be allocated for the + # replacement. + # + mirror_image_fault_policy = "remove" + + # Configuration option activation/mirror_log_fault_policy. + # Defines how a device failure in a 'mirror' log LV is handled. + # The mirror_image_fault_policy description for mirrored LVs also + # applies to mirrored log LVs. + mirror_log_fault_policy = "allocate" + + # Configuration option activation/snapshot_autoextend_threshold. + # Auto-extend a snapshot when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see snapshot_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # snapshot exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # snapshot_autoextend_threshold = 70 + # + snapshot_autoextend_threshold = 100 + + # Configuration option activation/snapshot_autoextend_percent. + # Auto-extending a snapshot adds this percent extra space. + # The amount of additional space added to a snapshot is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # snapshot exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # snapshot_autoextend_percent = 20 + # + snapshot_autoextend_percent = 20 + + # Configuration option activation/thin_pool_autoextend_threshold. + # Auto-extend a thin pool when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see thin_pool_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # thin pool exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # thin_pool_autoextend_threshold = 70 + # + thin_pool_autoextend_threshold = 100 + + # Configuration option activation/thin_pool_autoextend_percent. + # Auto-extending a thin pool adds this percent extra space. + # The amount of additional space added to a thin pool is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # thin pool exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # thin_pool_autoextend_percent = 20 + # + thin_pool_autoextend_percent = 20 + + # Configuration option activation/vdo_pool_autoextend_threshold. + # Auto-extend a VDO pool when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see vdo_pool_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 10G + # VDO pool exceeds 7G, it is extended to 12G, and when it exceeds + # 8.4G, it is extended to 14.4G: + # vdo_pool_autoextend_threshold = 70 + # + vdo_pool_autoextend_threshold = 100 + + # Configuration option activation/vdo_pool_autoextend_percent. + # Auto-extending a VDO pool adds this percent extra space. + # The amount of additional space added to a VDO pool is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 10G + # VDO pool exceeds 7G, it is extended to 12G, and when it exceeds + # 8.4G, it is extended to 14.4G: + # This configuration option has an automatic default value. + # vdo_pool_autoextend_percent = 20 + + # Configuration option activation/mlock_filter. + # Do not mlock these memory areas. + # While activating devices, I/O to devices being (re)configured is + # suspended. As a precaution against deadlocks, LVM pins memory it is + # using so it is not paged out, and will not require I/O to reread. + # Groups of pages that are known not to be accessed during activation + # do not need to be pinned into memory. Each string listed in this + # setting is compared against each line in /proc/self/maps, and the + # pages corresponding to lines that match are not pinned. On some + # systems, locale-archive was found to make up over 80% of the memory + # used by the process. + # + # Example + # mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ] + # + # This configuration option is advanced. + # This configuration option does not have a default value defined. + + # Configuration option activation/use_mlockall. + # Use the old behavior of mlockall to pin all memory. + # Prior to version 2.02.62, LVM used mlockall() to pin the whole + # process's memory while activating devices. + use_mlockall = 0 + + # Configuration option activation/monitoring. + # Monitor LVs that are activated. + # The --ignoremonitoring option overrides this setting. + # When enabled, LVM will ask dmeventd to monitor activated LVs. + monitoring = 1 + + # Configuration option activation/polling_interval. + # Check pvmove or lvconvert progress at this interval (seconds). + # When pvmove or lvconvert must wait for the kernel to finish + # synchronising or merging data, they check and report progress at + # intervals of this number of seconds. If this is set to 0 and there + # is only one thing to wait for, there are no progress reports, but + # the process is awoken immediately once the operation is complete. + polling_interval = 15 + + # Configuration option activation/auto_set_activation_skip. + # Set the activation skip flag on new thin snapshot LVs. + # The --setactivationskip option overrides this setting. + # An LV can have a persistent 'activation skip' flag. The flag causes + # the LV to be skipped during normal activation. The lvchange/vgchange + # -K option is required to activate LVs that have the activation skip + # flag set. When this setting is enabled, the activation skip flag is + # set on new thin snapshot LVs. + # This configuration option has an automatic default value. + # auto_set_activation_skip = 1 + + # Configuration option activation/activation_mode. + # How LVs with missing devices are activated. + # The --activationmode option overrides this setting. + # + # Accepted values: + # complete + # Only allow activation of an LV if all of the Physical Volumes it + # uses are present. Other PVs in the Volume Group may be missing. + # degraded + # Like complete, but additionally RAID LVs of segment type raid1, + # raid4, raid5, radid6 and raid10 will be activated if there is no + # data loss, i.e. they have sufficient redundancy to present the + # entire addressable range of the Logical Volume. + # partial + # Allows the activation of any LV even if a missing or failed PV + # could cause data loss with a portion of the LV inaccessible. + # This setting should not normally be used, but may sometimes + # assist with data recovery. + # + activation_mode = "degraded" + + # Configuration option activation/lock_start_list. + # Locking is started only for VGs selected by this list. + # The rules are the same as those for volume_list. + # This configuration option does not have a default value defined. + + # Configuration option activation/auto_lock_start_list. + # Locking is auto-started only for VGs selected by this list. + # The rules are the same as those for auto_activation_volume_list. + # This configuration option does not have a default value defined. +} + +# Configuration section metadata. +# This configuration section has an automatic default value. +# metadata { + + # Configuration option metadata/check_pv_device_sizes. + # Check device sizes are not smaller than corresponding PV sizes. + # If device size is less than corresponding PV size found in metadata, + # there is always a risk of data loss. If this option is set, then LVM + # issues a warning message each time it finds that the device size is + # less than corresponding PV size. You should not disable this unless + # you are absolutely sure about what you are doing! + # This configuration option is advanced. + # This configuration option has an automatic default value. + # check_pv_device_sizes = 1 + + # Configuration option metadata/record_lvs_history. + # When enabled, LVM keeps history records about removed LVs in + # metadata. The information that is recorded in metadata for + # historical LVs is reduced when compared to original + # information kept in metadata for live LVs. Currently, this + # feature is supported for thin and thin snapshot LVs only. + # This configuration option has an automatic default value. + # record_lvs_history = 0 + + # Configuration option metadata/lvs_history_retention_time. + # Retention time in seconds after which a record about individual + # historical logical volume is automatically destroyed. + # A value of 0 disables this feature. + # This configuration option has an automatic default value. + # lvs_history_retention_time = 0 + + # Configuration option metadata/pvmetadatacopies. + # Number of copies of metadata to store on each PV. + # The --pvmetadatacopies option overrides this setting. + # + # Accepted values: + # 2 + # Two copies of the VG metadata are stored on the PV, one at the + # front of the PV, and one at the end. + # 1 + # One copy of VG metadata is stored at the front of the PV. + # 0 + # No copies of VG metadata are stored on the PV. This may be + # useful for VGs containing large numbers of PVs. + # + # This configuration option is advanced. + # This configuration option has an automatic default value. + # pvmetadatacopies = 1 + + # Configuration option metadata/vgmetadatacopies. + # Number of copies of metadata to maintain for each VG. + # The --vgmetadatacopies option overrides this setting. + # If set to a non-zero value, LVM automatically chooses which of the + # available metadata areas to use to achieve the requested number of + # copies of the VG metadata. If you set a value larger than the the + # total number of metadata areas available, then metadata is stored in + # them all. The value 0 (unmanaged) disables this automatic management + # and allows you to control which metadata areas are used at the + # individual PV level using pvchange --metadataignore y|n. + # This configuration option has an automatic default value. + # vgmetadatacopies = 0 + + # Configuration option metadata/pvmetadatasize. + # The default size of the metadata area in units of 512 byte sectors. + # The metadata area begins at an offset of the page size from the start + # of the device. The first PE is by default at 1 MiB from the start of + # the device. The space between these is the default metadata area size. + # The actual size of the metadata area may be larger than what is set + # here due to default_data_alignment making the first PE a MiB multiple. + # The metadata area begins with a 512 byte header and is followed by a + # circular buffer used for VG metadata text. The maximum size of the VG + # metadata is about half the size of the metadata buffer. VGs with large + # numbers of PVs or LVs, or VGs containing complex LV structures, may need + # additional space for VG metadata. The --metadatasize option overrides + # this setting. + # This configuration option does not have a default value defined. + # This configuration option has an automatic default value. + + # Configuration option metadata/pvmetadataignore. + # Ignore metadata areas on a new PV. + # The --metadataignore option overrides this setting. + # If metadata areas on a PV are ignored, LVM will not store metadata + # in them. + # This configuration option is advanced. + # This configuration option has an automatic default value. + # pvmetadataignore = 0 + + # Configuration option metadata/stripesize. + # This configuration option is advanced. + # This configuration option has an automatic default value. + # stripesize = 64 +# } + +# Configuration section report. +# LVM report command output formatting. +# This configuration section has an automatic default value. +# report { + + # Configuration option report/output_format. + # Format of LVM command's report output. + # If there is more than one report per command, then the format + # is applied for all reports. You can also change output format + # directly on command line using --reportformat option which + # has precedence over log/output_format setting. + # Accepted values: + # basic + # Original format with columns and rows. If there is more than + # one report per command, each report is prefixed with report's + # name for identification. + # json + # JSON format. + # This configuration option has an automatic default value. + # output_format = "basic" + + # Configuration option report/compact_output. + # Do not print empty values for all report fields. + # If enabled, all fields that don't have a value set for any of the + # rows reported are skipped and not printed. Compact output is + # applicable only if report/buffered is enabled. If you need to + # compact only specified fields, use compact_output=0 and define + # report/compact_output_cols configuration setting instead. + # This configuration option has an automatic default value. + # compact_output = 0 + + # Configuration option report/compact_output_cols. + # Do not print empty values for specified report fields. + # If defined, specified fields that don't have a value set for any + # of the rows reported are skipped and not printed. Compact output + # is applicable only if report/buffered is enabled. If you need to + # compact all fields, use compact_output=1 instead in which case + # the compact_output_cols setting is then ignored. + # This configuration option has an automatic default value. + # compact_output_cols = "" + + # Configuration option report/aligned. + # Align columns in report output. + # This configuration option has an automatic default value. + # aligned = 1 + + # Configuration option report/buffered. + # Buffer report output. + # When buffered reporting is used, the report's content is appended + # incrementally to include each object being reported until the report + # is flushed to output which normally happens at the end of command + # execution. Otherwise, if buffering is not used, each object is + # reported as soon as its processing is finished. + # This configuration option has an automatic default value. + # buffered = 1 + + # Configuration option report/headings. + # Show headings for columns on report. + # This configuration option has an automatic default value. + # headings = 1 + + # Configuration option report/separator. + # A separator to use on report after each field. + # This configuration option has an automatic default value. + # separator = " " + + # Configuration option report/list_item_separator. + # A separator to use for list items when reported. + # This configuration option has an automatic default value. + # list_item_separator = "," + + # Configuration option report/prefixes. + # Use a field name prefix for each field reported. + # This configuration option has an automatic default value. + # prefixes = 0 + + # Configuration option report/quoted. + # Quote field values when using field name prefixes. + # This configuration option has an automatic default value. + # quoted = 1 + + # Configuration option report/columns_as_rows. + # Output each column as a row. + # If set, this also implies report/prefixes=1. + # This configuration option has an automatic default value. + # columns_as_rows = 0 + + # Configuration option report/binary_values_as_numeric. + # Use binary values 0 or 1 instead of descriptive literal values. + # For columns that have exactly two valid values to report + # (not counting the 'unknown' value which denotes that the + # value could not be determined). + # This configuration option has an automatic default value. + # binary_values_as_numeric = 0 + + # Configuration option report/time_format. + # Set time format for fields reporting time values. + # Format specification is a string which may contain special character + # sequences and ordinary character sequences. Ordinary character + # sequences are copied verbatim. Each special character sequence is + # introduced by the '%' character and such sequence is then + # substituted with a value as described below. + # + # Accepted values: + # %a + # The abbreviated name of the day of the week according to the + # current locale. + # %A + # The full name of the day of the week according to the current + # locale. + # %b + # The abbreviated month name according to the current locale. + # %B + # The full month name according to the current locale. + # %c + # The preferred date and time representation for the current + # locale (alt E) + # %C + # The century number (year/100) as a 2-digit integer. (alt E) + # %d + # The day of the month as a decimal number (range 01 to 31). + # (alt O) + # %D + # Equivalent to %m/%d/%y. (For Americans only. Americans should + # note that in other countries%d/%m/%y is rather common. This + # means that in international context this format is ambiguous and + # should not be used. + # %e + # Like %d, the day of the month as a decimal number, but a leading + # zero is replaced by a space. (alt O) + # %E + # Modifier: use alternative local-dependent representation if + # available. + # %F + # Equivalent to %Y-%m-%d (the ISO 8601 date format). + # %G + # The ISO 8601 week-based year with century as adecimal number. + # The 4-digit year corresponding to the ISO week number (see %V). + # This has the same format and value as %Y, except that if the + # ISO week number belongs to the previous or next year, that year + # is used instead. + # %g + # Like %G, but without century, that is, with a 2-digit year + # (00-99). + # %h + # Equivalent to %b. + # %H + # The hour as a decimal number using a 24-hour clock + # (range 00 to 23). (alt O) + # %I + # The hour as a decimal number using a 12-hour clock + # (range 01 to 12). (alt O) + # %j + # The day of the year as a decimal number (range 001 to 366). + # %k + # The hour (24-hour clock) as a decimal number (range 0 to 23); + # single digits are preceded by a blank. (See also %H.) + # %l + # The hour (12-hour clock) as a decimal number (range 1 to 12); + # single digits are preceded by a blank. (See also %I.) + # %m + # The month as a decimal number (range 01 to 12). (alt O) + # %M + # The minute as a decimal number (range 00 to 59). (alt O) + # %O + # Modifier: use alternative numeric symbols. + # %p + # Either "AM" or "PM" according to the given time value, + # or the corresponding strings for the current locale. Noon is + # treated as "PM" and midnight as "AM". + # %P + # Like %p but in lowercase: "am" or "pm" or a corresponding + # string for the current locale. + # %r + # The time in a.m. or p.m. notation. In the POSIX locale this is + # equivalent to %I:%M:%S %p. + # %R + # The time in 24-hour notation (%H:%M). For a version including + # the seconds, see %T below. + # %s + # The number of seconds since the Epoch, + # 1970-01-01 00:00:00 +0000 (UTC) + # %S + # The second as a decimal number (range 00 to 60). (The range is + # up to 60 to allow for occasional leap seconds.) (alt O) + # %t + # A tab character. + # %T + # The time in 24-hour notation (%H:%M:%S). + # %u + # The day of the week as a decimal, range 1 to 7, Monday being 1. + # See also %w. (alt O) + # %U + # The week number of the current year as a decimal number, + # range 00 to 53, starting with the first Sunday as the first + # day of week 01. See also %V and %W. (alt O) + # %V + # The ISO 8601 week number of the current year as a decimal number, + # range 01 to 53, where week 1 is the first week that has at least + # 4 days in the new year. See also %U and %W. (alt O) + # %w + # The day of the week as a decimal, range 0 to 6, Sunday being 0. + # See also %u. (alt O) + # %W + # The week number of the current year as a decimal number, + # range 00 to 53, starting with the first Monday as the first day + # of week 01. (alt O) + # %x + # The preferred date representation for the current locale without + # the time. (alt E) + # %X + # The preferred time representation for the current locale without + # the date. (alt E) + # %y + # The year as a decimal number without a century (range 00 to 99). + # (alt E, alt O) + # %Y + # The year as a decimal number including the century. (alt E) + # %z + # The +hhmm or -hhmm numeric timezone (that is, the hour and minute + # offset from UTC). + # %Z + # The timezone name or abbreviation. + # %% + # A literal '%' character. + # + # This configuration option has an automatic default value. + # time_format = "%Y-%m-%d %T %z" + + # Configuration option report/devtypes_sort. + # List of columns to sort by when reporting 'lvm devtypes' command. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_sort = "devtype_name" + + # Configuration option report/devtypes_cols. + # List of columns to report for 'lvm devtypes' command. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_cols = "devtype_name,devtype_max_partitions,devtype_description" + + # Configuration option report/devtypes_cols_verbose. + # List of columns to report for 'lvm devtypes' command in verbose mode. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_cols_verbose = "devtype_name,devtype_max_partitions,devtype_description" + + # Configuration option report/lvs_sort. + # List of columns to sort by when reporting 'lvs' command. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_sort = "vg_name,lv_name" + + # Configuration option report/lvs_cols. + # List of columns to report for 'lvs' command. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols = "lv_name,vg_name,lv_attr,lv_size,pool_lv,origin,data_percent,metadata_percent,move_pv,mirror_log,copy_percent,convert_lv" + + # Configuration option report/lvs_cols_verbose. + # List of columns to report for 'lvs' command in verbose mode. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols_verbose = "lv_name,vg_name,seg_count,lv_attr,lv_size,lv_major,lv_minor,lv_kernel_major,lv_kernel_minor,pool_lv,origin,data_percent,metadata_percent,move_pv,copy_percent,mirror_log,convert_lv,lv_uuid,lv_profile" + + # Configuration option report/vgs_sort. + # List of columns to sort by when reporting 'vgs' command. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_sort = "vg_name" + + # Configuration option report/vgs_cols. + # List of columns to report for 'vgs' command. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols = "vg_name,pv_count,lv_count,snap_count,vg_attr,vg_size,vg_free" + + # Configuration option report/vgs_cols_verbose. + # List of columns to report for 'vgs' command in verbose mode. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols_verbose = "vg_name,vg_attr,vg_extent_size,pv_count,lv_count,snap_count,vg_size,vg_free,vg_uuid,vg_profile" + + # Configuration option report/pvs_sort. + # List of columns to sort by when reporting 'pvs' command. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_sort = "pv_name" + + # Configuration option report/pvs_cols. + # List of columns to report for 'pvs' command. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free" + + # Configuration option report/pvs_cols_verbose. + # List of columns to report for 'pvs' command in verbose mode. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,dev_size,pv_uuid" + + # Configuration option report/segs_sort. + # List of columns to sort by when reporting 'lvs --segments' command. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_sort = "vg_name,lv_name,seg_start" + + # Configuration option report/segs_cols. + # List of columns to report for 'lvs --segments' command. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols = "lv_name,vg_name,lv_attr,stripes,segtype,seg_size" + + # Configuration option report/segs_cols_verbose. + # List of columns to report for 'lvs --segments' command in verbose mode. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols_verbose = "lv_name,vg_name,lv_attr,seg_start,seg_size,stripes,segtype,stripesize,chunksize" + + # Configuration option report/pvsegs_sort. + # List of columns to sort by when reporting 'pvs --segments' command. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_sort = "pv_name,pvseg_start" + + # Configuration option report/pvsegs_cols. + # List of columns to sort by when reporting 'pvs --segments' command. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size" + + # Configuration option report/pvsegs_cols_verbose. + # List of columns to sort by when reporting 'pvs --segments' command in verbose mode. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size,lv_name,seg_start_pe,segtype,seg_pe_ranges" + + # Configuration option report/vgs_cols_full. + # List of columns to report for lvm fullreport's 'vgs' subreport. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols_full = "vg_all" + + # Configuration option report/pvs_cols_full. + # List of columns to report for lvm fullreport's 'vgs' subreport. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols_full = "pv_all" + + # Configuration option report/lvs_cols_full. + # List of columns to report for lvm fullreport's 'lvs' subreport. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols_full = "lv_all" + + # Configuration option report/pvsegs_cols_full. + # List of columns to report for lvm fullreport's 'pvseg' subreport. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols_full = "pvseg_all,pv_uuid,lv_uuid" + + # Configuration option report/segs_cols_full. + # List of columns to report for lvm fullreport's 'seg' subreport. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols_full = "seg_all,lv_uuid" + + # Configuration option report/vgs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'vgs' subreport. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_sort_full = "vg_name" + + # Configuration option report/pvs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'vgs' subreport. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_sort_full = "pv_name" + + # Configuration option report/lvs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'lvs' subreport. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_sort_full = "vg_name,lv_name" + + # Configuration option report/pvsegs_sort_full. + # List of columns to sort by when reporting for lvm fullreport's 'pvseg' subreport. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_sort_full = "pv_uuid,pvseg_start" + + # Configuration option report/segs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'seg' subreport. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_sort_full = "lv_uuid,seg_start" + + # Configuration option report/mark_hidden_devices. + # Use brackets [] to mark hidden devices. + # This configuration option has an automatic default value. + # mark_hidden_devices = 1 + + # Configuration option report/two_word_unknown_device. + # Use the two words 'unknown device' in place of '[unknown]'. + # This is displayed when the device for a PV is not known. + # This configuration option has an automatic default value. + # two_word_unknown_device = 0 +# } + +# Configuration section dmeventd. +# Settings for the LVM event daemon. +dmeventd { + + # Configuration option dmeventd/mirror_library. + # The library dmeventd uses when monitoring a mirror device. + # libdevmapper-event-lvm2mirror.so attempts to recover from + # failures. It removes failed devices from a volume group and + # reconfigures a mirror as necessary. If no mirror library is + # provided, mirrors are not monitored through dmeventd. + mirror_library = "libdevmapper-event-lvm2mirror.so" + + # Configuration option dmeventd/raid_library. + # This configuration option has an automatic default value. + # raid_library = "libdevmapper-event-lvm2raid.so" + + # Configuration option dmeventd/snapshot_library. + # The library dmeventd uses when monitoring a snapshot device. + # libdevmapper-event-lvm2snapshot.so monitors the filling of snapshots + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the snapshot is filled. + snapshot_library = "libdevmapper-event-lvm2snapshot.so" + + # Configuration option dmeventd/thin_library. + # The library dmeventd uses when monitoring a thin device. + # libdevmapper-event-lvm2thin.so monitors the filling of a pool + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the pool is filled. + thin_library = "libdevmapper-event-lvm2thin.so" + + # Configuration option dmeventd/thin_command. + # The plugin runs command with each 5% increment when thin-pool data volume + # or metadata volume gets above 50%. + # Command which starts with 'lvm ' prefix is internal lvm command. + # You can write your own handler to customise behaviour in more details. + # User handler is specified with the full path starting with '/'. + # This configuration option has an automatic default value. + # thin_command = "lvm lvextend --use-policies" + + # Configuration option dmeventd/vdo_library. + # The library dmeventd uses when monitoring a VDO pool device. + # libdevmapper-event-lvm2vdo.so monitors the filling of a pool + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the pool is filled. + # This configuration option has an automatic default value. + # vdo_library = "libdevmapper-event-lvm2vdo.so" + + # Configuration option dmeventd/vdo_command. + # The plugin runs command with each 5% increment when VDO pool volume + # gets above 50%. + # Command which starts with 'lvm ' prefix is internal lvm command. + # You can write your own handler to customise behaviour in more details. + # User handler is specified with the full path starting with '/'. + # This configuration option has an automatic default value. + # vdo_command = "lvm lvextend --use-policies" + + # Configuration option dmeventd/executable. + # The full path to the dmeventd binary. + # This configuration option has an automatic default value. + # executable = "/sbin/dmeventd" +} + +# Configuration section tags. +# Host tag settings. +# This configuration section has an automatic default value. +# tags { + + # Configuration option tags/hosttags. + # Create a host tag using the machine name. + # The machine name is nodename returned by uname(2). + # This configuration option has an automatic default value. + # hosttags = 0 + + # Configuration section tags/. + # Replace this subsection name with a custom tag name. + # Multiple subsections like this can be created. The '@' prefix for + # tags is optional. This subsection can contain host_list, which is a + # list of machine names. If the name of the local machine is found in + # host_list, then the name of this subsection is used as a tag and is + # applied to the local machine as a 'host tag'. If this subsection is + # empty (has no host_list), then the subsection name is always applied + # as a 'host tag'. + # + # Example + # The host tag foo is given to all hosts, and the host tag + # bar is given to the hosts named machine1 and machine2. + # tags { foo { } bar { host_list = [ "machine1", "machine2" ] } } + # + # This configuration section has variable name. + # This configuration section has an automatic default value. + # tag { + + # Configuration option tags//host_list. + # A list of machine names. + # These machine names are compared to the nodename returned + # by uname(2). If the local machine name matches an entry in + # this list, the name of the subsection is applied to the + # machine as a 'host tag'. + # This configuration option does not have a default value defined. + # } +# } diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/pulse/client.conf.d/00-disable-autospawn.conf b/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/pulse/client.conf.d/00-disable-autospawn.conf new file mode 100644 index 0000000..1bf84a7 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/pulse/client.conf.d/00-disable-autospawn.conf @@ -0,0 +1,3 @@ +# On linux systems, disable autospawn by default +# If you are not using systemd, comment out this line +#autospawn=no diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/rc.local b/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/rc.local new file mode 100755 index 0000000..0bdf028 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/etc/rc.local @@ -0,0 +1,21 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +[ -d /etc/boot.d ] && run-parts /etc/boot.d + +# re-run eudev to detect hardware when booting from optical media. +/etc/init.d/eudev stop && /etc/init.d/eudev start + +dpkg-reconfigure iputils-ping # Enable ping for user. + +exit 0 diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/b43-fwcutter_1%3a019-3_amd64.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/b43-fwcutter_1%3a019-3_amd64.deb new file mode 100644 index 0000000..c840808 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/b43-fwcutter_1%3a019-3_amd64.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-amd-graphics_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-amd-graphics_20190114-1_all.deb new file mode 100644 index 0000000..170c490 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-amd-graphics_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-atheros_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-atheros_20190114-1_all.deb new file mode 100644 index 0000000..d26097b Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-atheros_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-b43-installer_1%3a019-3_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-b43-installer_1%3a019-3_all.deb new file mode 100644 index 0000000..c3fddd2 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-b43-installer_1%3a019-3_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-b43legacy-installer_1%3a019-3_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-b43legacy-installer_1%3a019-3_all.deb new file mode 100644 index 0000000..d5d0638 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-b43legacy-installer_1%3a019-3_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-bnx2_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-bnx2_20190114-1_all.deb new file mode 100644 index 0000000..80e3936 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-bnx2_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-bnx2x_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-bnx2x_20190114-1_all.deb new file mode 100644 index 0000000..70e7261 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-bnx2x_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-brcm80211_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-brcm80211_20190114-1_all.deb new file mode 100644 index 0000000..966183e Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-brcm80211_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-intelwimax_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-intelwimax_20190114-1_all.deb new file mode 100644 index 0000000..45817bb Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-intelwimax_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ipw2x00_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ipw2x00_20190114-1_all.deb new file mode 100644 index 0000000..2476646 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ipw2x00_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-iwlwifi_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-iwlwifi_20190114-1_all.deb new file mode 100644 index 0000000..643eb84 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-iwlwifi_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-libertas_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-libertas_20190114-1_all.deb new file mode 100644 index 0000000..84399f5 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-libertas_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-linux-nonfree_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-linux-nonfree_20190114-1_all.deb new file mode 100644 index 0000000..c3b0142 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-linux-nonfree_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-list b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-list new file mode 100644 index 0000000..0f9a8d7 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-list @@ -0,0 +1 @@ +firmware-amd-graphics firmware-atheros firmware-b43-installer firmware-b43legacy-installer firmware-bnx2 firmware-bnx2x firmware-brcm80211 firmware-intelwimax firmware-ipw2x00 firmware-iwlwifi firmware-libertas firmware-linux-nonfree firmware-misc-nonfree firmware-myricom firmware-netxen firmware-qlogic firmware-ralink firmware-realtek firmware-ti-connectivity firmware-zd1211 diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-misc-nonfree_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-misc-nonfree_20190114-1_all.deb new file mode 100644 index 0000000..6e2bb92 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-misc-nonfree_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-myricom_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-myricom_20190114-1_all.deb new file mode 100644 index 0000000..34f5429 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-myricom_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-netxen_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-netxen_20190114-1_all.deb new file mode 100644 index 0000000..e2e20d4 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-netxen_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-qlogic_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-qlogic_20190114-1_all.deb new file mode 100644 index 0000000..b3b27b4 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-qlogic_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ralink_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ralink_20190114-1_all.deb new file mode 100644 index 0000000..e0164e1 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ralink_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-realtek_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-realtek_20190114-1_all.deb new file mode 100644 index 0000000..8c10082 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-realtek_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ti-connectivity_20190114-1_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ti-connectivity_20190114-1_all.deb new file mode 100644 index 0000000..fbddd1b Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-ti-connectivity_20190114-1_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-zd1211_1%3a1.5-4_all.deb b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-zd1211_1%3a1.5-4_all.deb new file mode 100644 index 0000000..ef91906 Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/firmware/firmware-zd1211_1%3a1.5-4_all.deb differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/.xscreensaver b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/.xscreensaver new file mode 100644 index 0000000..e69de29 diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/Installer_Guide.desktop b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/Installer_Guide.desktop new file mode 100755 index 0000000..7eed389 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/Installer_Guide.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Installer Guide +Comment=Installer instructions +Exec=/usr/lib/firefox-esr/firefox-esr /run/live/medium/docs/desktop-live-install-guide.html +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=/usr/share/pixmaps/beo-gdo-32dk.png +Categories=Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; +StartupWMClass=Firefox-esr +StartupNotify=true diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/LARGER_FONTS.desktop b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/LARGER_FONTS.desktop new file mode 100755 index 0000000..c857b26 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/LARGER_FONTS.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=LARGER FONTS +Comment=Increase desktop font size +Exec=/usr/bin/adjfontsize + +Icon=preferences-desktop-accessibility-symbolic +Path= +Terminal=false +StartupNotify=false diff --git a/blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/_RELEASE_NOTES b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/README.desktop-live similarity index 84% rename from blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/_RELEASE_NOTES rename to blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/README.desktop-live index 910f5b3..a45058b 100644 --- a/blends/devuan-desktop-live/ascii/rootfs-overlay/home/devuan/Desktop/_RELEASE_NOTES +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/README.desktop-live @@ -1,22 +1,24 @@ -DEVUAN ASCII DESKTOP-LIVE +DEVUAN BEOWULF DESKTOP-LIVE -This is Devuan 2.0 ASCII desktop-live edition. It contains the same package -selection as the default desktop in the regular installer isos, with the -addition of a few packages for the live system, wireless firmware, a -live-cd installer and remastering tool to make your own live-CD/DVD image. +This is Devuan 3 (Beowulf) desktop-live. +It contains the same package selection as the default desktop in the +regular installer isos, with the addition of a few packages for the live +system, wireless firmware, a live-cd installer and remastering tool to +make your own live-CD/DVD image. + You can burn the iso to DVD or use dd or cat to image a USB thumb drive. User name: devuan Password: devuan Admin name: root Password: toor - -maintained by fsmithred (key id 0xA73823D3094C5620 on pgp.mit.edu) -built with the Devuan SDK, live-sdk module +Maintained by fsmithred (key id 0xA73823D3094C5620 on pgp.mit.edu) +Built with the Devuan SDK, live-sdk module -Contents +CONTENTS + 1. Set language/locale at boot. 2. Wireless (non-free) firmware 3. Install to hard drive @@ -24,7 +26,6 @@ Contents 5. Bug reports and support links. - BOOT TO ANOTHER LANGUAGE Choose the "Other language" option from the boot menu. @@ -36,8 +37,6 @@ Note: When you install the system, your chosen language will be the default in the installed system. - - WIRELESS (NON-FREE) FIRMWARE To set up wireless networking, use wicd network manager or run setnet.sh @@ -52,17 +51,34 @@ through Synaptic Package Manager in the System menu. You can remove all the non-free firmware after you reboot into the new installation by running (as root or with sudo): - remove-non-free-firmware + /root/remove_firmware.sh + If you need to reinstall a firmware package, they are located in /firmware and can be installed with: - dpkg -i + dpkg -i - -Here is the full list of non-free wireless firmware packages installed: -firmware-atheros firmware-bnx2 firmware-bnx2x firmware-brcm80211 firmware-intelwimax firmware-iwlwifi firmware-libertas firmware-linux-nonfree firmware-myricom firmware-netxen firmware-qlogic firmware-realtek firmware-ti-connectivity firmware-zd1211 +Here is the full list of non-free firmware packages installed: + +firmware-amd-graphics +firmware-atheros +firmware-bnx2 +firmware-bnx2x +firmware-brcm80211 +firmware-intelwimax +firmware-iwlwifi +firmware-libertas +firmware-linux-nonfree +firmware-misc-nonfree ++firmware-myricom ++firmware-netxen +firmware-qlogic +firmware-ralink +firmware-realtek +firmware-ti-connectivity +firmware-zd1211 @@ -92,8 +108,10 @@ and installed or if you would like to proceed without a bootloader. If your hardware needs a 32-bit uefi bootloader with a 64-bit operating system, install the grub-efi-ia32 package before running the installer. This is true for both graphical and cli installers. + dpkg -i /grub-efi-ia32 + Note: UEFI implementations in motherboards vary in their adherence to standards from one manufacturer to the next. Read the Help in the installer, read the additional links in the help, and be prepared to do @@ -109,11 +127,11 @@ read these before installing! You can also start the installer from a root terminal (or with sudo): + refractainstaller # Starts the text-only installer. refractainstaller-yad # Starts the graphical installer. - You can encrypt the filesystem if desired. (root filesystem and /home). The installer will use an existing swap partition. If there is no swap partition or if you un-check that option, the installer will create a @@ -127,7 +145,6 @@ If you want to install on uefi hardware with an installer that has had more exte use one of the regular installer isos. - REMASTERING (Make your own live-CD/DVD/USB) Run Refracta Snapshot from the applications menu or refractasnapshot-gui @@ -139,16 +156,12 @@ iso that can be burned to optical disk or imaged to a usb stick. See /usr/share/doc/refractasnapshot-base/README.gz for details. - BUG REPORTS AND SUPPORT LINKS Comments, suggestions, criticisms, and bug reports are welcome. Please report bugs on the official Devuan Bug Tracking System: - http://bugs.devuan.org - -Full list of community links can be found at: -https://devuan.org/os/community + https://bugs.devuan.org Support: IRC Channel on freenode.net: #devuan diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/Release_notes.txt b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/Release_notes.txt new file mode 100644 index 0000000..916143b --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/Release_notes.txt @@ -0,0 +1,350 @@ +# Devuan 3 Beowulf Release Notes + +## Index + + - Introduction + - What's new in this release + - Getting Devuan 3 Beowulf + - Upgrading to Devuan 3 Beowulf + - Devuan Package Repositories + - Non-free firmware + - About eudev + - Session management and policykit backends + - Workarounds for known lightdm issues/bugs + - About LXDE + - Starting X from a terminal + - Devuan package information pages + - Reporting bugs + + +### Introduction + +This document includes technical notes relevant to Devuan 3 Beowulf. +More information and support on specific issues can be obtained by: + + - subscribing to the DNG mailing list: + https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng + - visiting the Devuan user forum: + https://dev1galaxy.org + - shouting (but not too loudly) on one of the Devuan IRC channels: + #devuan (freenode) - general discussion about Devuan + #devuan-arm (freenode) - specific support for ARM + - checking the Debian Buster release notes to learn about changes in + the packages that Devuan does not alter. + https://www.debian.org/releases/buster/releasenotes + +### What's new in this release + +Changes in su + - The behavior of su has changed. Use 'su -' to get root's path or use + the full path to commands if you use only 'su'. + + - There are several ways to get the old behavior. The easiest is to + edit /etc/default/su to add the line: + + ALWAYS_SET_PATH yes + + See the following for more information: + https://www.debian.org/releases/buster/amd64/release-notes/ch-information.en.html#su-environment-variables + https://wiki.debian.org/NewInBuster + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=905564 + +Pulseaudio + - If you have no sound, make sure the following line in + /etc/pulse/client.conf.d/00-disable-autospawn.conf is commented as + shown here: + + #autospawn=no + +Boot menu says "Debian" instead of "Devuan" + + - The default setup results in the grub menu showing 'Debian' instead + of 'Devuan'. On UEFI hardware, this will work with secure boot. + + To change it, you can edit /etc/os-release to show ID=devuan or edit + /etc/default/grub to GRUB_DISTRIBUTOR="Devuan". Then run update-grub + to generate a new boot menu. + + - Note: If you're booting UEFI mode, you will also need to remove + grub-efi-amd64-signed and just use grub-efi-amd64. You will not be + able to use secure boot this way. + + +### Getting Devuan 3 Beowulf + +Devuan 3 Beowulf is available for i386, amd64, armel, armhf, arm64 and +ppc64el platforms. Installer isos and live CDs can be downloaded at: + + http://files.devuan.org/devuan_beowulf/ + +Please consider using one of the many mirrors, listed at: + + https://devuan.org/get-devuan + +Detailed instructions on how to use each image are available in the +corresponding 'README.txt' file. The SHA256SUMS of each set of images +is signed by the developer in charge of the build. The fingerprints of +GPG keys of all Devuan developers are listed at: + + https://devuan.org/os/team + +In order to check that the images you downloaded are genuine and not +corrupted, you should: + + - download the image(s) + - download the corresponding SHA256SUMS and SHA256SUMS.asc files + in the same folder + - verify the checksums running: + $ sha256sum -c SHA256SUMS + (it could complain about missing files, but should show an "OK" + close to the images you have actually downloaded) + - verify the signature running: + $ gpg --no-default-keyring --keyring ./devuan-devs.gpg --verify SHA256SUMS.asc + + (we assume that you have put the GPG keys in the keyring named + "devuan-devs.gpg". YMMV) + +The 'devuan-devs.gpg' keyring is provided only for convenience. The +most correct procedure to verify that the signatures are authentic is +by downloading the relevant public keys from a trusted keyserver, +double-check that the fingerprint of the key matches that of the +developer reported on https://devuan.org/os/team and then use that key +for verification. + + +### Upgrading to Devuan 3 Beowulf + +Direct and easy upgrade path from Devuan ASCII and migration path +from Debian Buster to Devuan 3 Beowulf are available here: + + https://devuan.org/os/install + +If you are already on Beowulf, just run this command to get to the +current release version: + + apt-get update && apt-get dist-upgrade + + +### Devuan Package Repositories + +Thanks to the support of many volunteers and donors, Devuan has +a network of package repository mirrors. The mirror network is +accessible using the FQDN "deb.devuan.org". + +Starting from Devuan 2.0 ASCII, users should use exclusively +"deb.devuan.org" in their 'sources.list' file, e.g.: + + deb http://deb.devuan.org/merged beowulf main + deb http://deb.devuan.org/merged beowulf-security main + deb http://deb.devuan.org/merged beowulf-updates main + deb http://deb.devuan.org/devuan beowulf-proposed main + +Along with the above addresses, the repositories are also accessible +using the Tor network, by using our hidden service address: + + deb tor+http://devuanfwojg73k6r.onion/merged beowulf main + deb tor+http://devuanfwojg73k6r.onion/merged beowulf-security main + deb tor+http://devuanfwojg73k6r.onion/merged beowulf-updates main + deb tor+http://devuanfwojg73k6r.onion/devuan beowulf-proposed main + +More information is available at: + + https://devuan.org/os/packages + +All the mirrors contain the full Devuan package repository (all the +Devuan releases and all the suites). They are synced every 30 minutes +from the main Devuan package repository ("pkgmaster.devuan.org") and +are continuously checked for sanity, integrity, and consistency. The +package repository network is accessed through a DNS Round-Robin. + +An up-to-date list of mirrors in the network is available at: + + http://pkgmaster.devuan.org/mirror_list.txt + +Users can directly access a mirror using the corresponding BaseURL. + +IMPORTANT NOTE: The package mirrors at "deb.devuan.org" are signed +with the following GPG key: + + pub rsa4096 2017-09-04 [SC] [expires: 2022-09-03] + E032601B7CA10BC3EA53FA81BB23C00C61FC752C + uid [ unknown] Devuan Repository (Amprolla3 on Nemesis + ) + sub rsa4096 2017-09-04 [E] [expires: 2022-09-03] + +The key is included in the package "devuan-keyring". In order to use +deb.devuan.org, you must have `devuan-keyring_2017.10.03` or later. + +IMPORTANT NOTE: Devuan plans to eventually discontinue the original set +of Devuan mirrors available at auto.mirror.devuan.org and +{CC}.mirror.devuan.org. As a consequence, users are strongly +encouraged to use the new set of mirrors at "deb.devuan.org". + + +### Non-free firmware + +All Devuan 3 Beowulf install media make non-free firmware packages +available at install time. These are only installed if your networking +hardware requires them in order to function. You can avoid the +automatic installation of non-free firmware by selecting the +"Expert install" option in the installation menu. + +Devuan 3 Beowulf desktop-live and minimal-live images come with +non-free firmware packages pre-installed. You can remove these packages +after boot using the "remove_firmware.sh" script available under /root. + + +### About eudev + +Following the inclusion of udev (a daemon in charge of device +management) in the systemd code tree, Devuan 3 Beowulf provides the +alternative "eudev" package. The transition from udev to eudev is +managed through transitional packages and should be automatic and +seamless. + + +### Session management and policykit backends + +Devuan 3 Beowulf provides a choice of 5 Desktop Environments at +install time: Xfce, Cinnamon, KDE, LXQt, and MATE. Other desktop +environments and window managers are available from the repositories +post-install. + +Desktop Environments rely on a session management system to allow the +user to perform certain tasks without requiring administrator +privileges such as suspending/rebooting/shutting down the system, +mounting external devices, configuring networking, and so on. + +Two session management systems are available in Devuan Beowulf: + + - consolekit + - logind (elogind and libpam-elogind) + +These session managers are mutually exclusive; only one of them can be +installed and active at a time to avoid unwanted interference. In order +to grant processes in the unprivileged user session access to select +privileged operations the installed session manager is connected to the +policykit-1 framework by a set of matching back-end libraries. + +The default session manager for all desktops is logind (libpam-elogind). +Xfce and Cinnamon will work with either logind or consolekit. The other +desktop environments will only work with logind. + +In order for session management to work correctly the login manager +(aka display manager, DM) needs to register the user session with the +installed session manager (either consolekit or logind) which in turn +must coordinate with the relevant components of the desktop environment. + +Both slim and lightdm will work with either libpam-elogind or consolekit. +Slim is the default login manager for Xfce. Lightdm is the default for +the other desktops. + + +### Workarounds for known lightdm issues/bugs + +lightdm prevents some accessibility features from working and gives the +error, "Couldn't register with accessiblity bus" in ~/.xsession-errors. +(See Debian bug [#760740](https://bugs.debian.org/760740)) + +This can be mitigated in the current X session by running: + + xprop --root --remove AT_SPI_BUS + +For a persistent solution edit /etc/lightdm/lightdm.conf to add: + + xserver-share=false + + +Power buttons are disabled on the lightdm login screen with elogind. +(See Debian bug [#932047](https://bugs.debian.org/932047)) + +Add the following line to /etc/pam.d/lightdm-greeter + + session optional pam_elogind.so + + +### About LXDE + +LXDE is not presented as a choice during installation but can be added +after booting into the new system. Note that there is a bug in lxsession +that requires LXDE be installed without Recommends. (Debian bug #952679) + + apt --no-install-recommends install lxde + + +### Starting X from a terminal + +In Devuan 3 Beowulf, the X server can now be run without root +privileges. As a result, some additional requirements must be met when +launching X directly from a TTY (e.g., with 'xinit' or 'startx') +especially on systems upgraded from Devuan Jessie. + +In Devuan 3 Beowulf it is sufficient to install 'elogind' and +'libpam-elogind', and then use either 'startx' or 'xinit' as usual +from a regular user account. In this case, the Xorg log file will be +available under '~/.local/share/xorg/'. + +The system still needs to support Kernel Mode Setting (KMS). +Therefore, this solution may not work in some virtualization +environments (e.g., virtualbox) or if the kernel has no driver that +supports your GPU. + +Alternatively, it is still possible to run X with setuid root. In this +case, you need to install `xserver-xorg-legacy` and ensure that the +file '/etc/X11/Xwrapper.config' contains the (uncommented) line: + + needs_root_rights=yes + + +### Devuan package information pages + +Devuan has a simple service to display information about all the +packages available in Devuan. It can be accessed at: + + https://pkginfo.devuan.org + +It is possible to search for package names matching a set of keywords +and to see the description, dependencies, suggestions and +recommendations of each package. Please report any issues with this +service and/or get in touch if you have suggestions for how to +improve it. + + +### Reporting bugs + +No piece of software is perfect. And acknowledging this fact is the +first step towards improving our software base. + +Devuan strongly believes in the cooperation of the community to find, +report and solve issues. If you think you have found a bug in a +Devuan package, please report it to: + + https://bugs.devuan.org + +The procedure to report bugs is quite simple: just install and run +`reportbug`, a tool that will help you to compile the bug report and to +include any relevant information for the maintainers. + +`reportbug` assumes than you have a properly configured Mail User +Agent that can send emails. If this is not the case, you can still +prepare your bug report with `reportbug`, save it (by default reportbug +will save the report under /tmp) and then use it as a template for an +email to submit@bugs.devuan.org. + +(NOTE: Devuan does not provide an open SMTP relay for `reportbug` +yet. If you don't know what this is about, you can safely ignore this +information.) + +When the bug report is processed, you will receive a confirmation email +containing the number assigned to the report. + +Before reporting a bug, please check whether the very same problem has +already been reported by other users. + +`reportbug` is a tool made by Debian for Debian, over a timespan of +about 25 years. As a result it is sometimes difficult to adapt it +to a new setup. We are currently working to improve the integration of +reportbug with Devuan's infrastructure and to improve the management, +triaging and reporting of bugs. Please bear with us ;^) + + diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/SMALLER_FONTS.desktop b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/SMALLER_FONTS.desktop new file mode 100755 index 0000000..eae83f3 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/SMALLER_FONTS.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=SMALLER FONTS +Comment=Decrease desktop font size +Exec=/usr/bin/adjfontsize - +Icon=preferences-desktop-accessibility-symbolic +Path= +Terminal=false +StartupNotify=false diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/refractainstaller.desktop b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/refractainstaller.desktop new file mode 100644 index 0000000..ed145b6 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/home/devuan/Desktop/refractainstaller.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Install Devuan +Comment= Install from a live CD to your system. +Exec=/usr/bin/refractainstaller-wrapper.sh +Terminal=false +Type=Application +Icon=/usr/share/pixmaps/beo-gdo-32dk.png +Categories=GNOME;GTK;System; diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/root/remove_firmware.sh b/blends/devuan-desktop-live/beowulf/rootfs-overlay/root/remove_firmware.sh new file mode 100755 index 0000000..dc2b8bc --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/root/remove_firmware.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# remove_non-free_firmware + + +apt-get --purge --yes remove \ + firmware-amd-graphics \ + firmware-atheros \ + firmware-bnx2 \ + firmware-bnx2x \ + firmware-brcm80211 \ + firmware-intelwimax \ + firmware-iwlwifi \ + firmware-libertas \ + firmware-linux-nonfree \ + firmware-misc-nonfree \ + firmware-myricom \ + firmware-netxen \ + firmware-qlogic \ + firmware-ralink \ + firmware-realtek \ + firmware-ti-connectivity \ + firmware-zd1211 + +apt-get autoremove + +exit 0 diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/splash.png b/blends/devuan-desktop-live/beowulf/rootfs-overlay/splash.png new file mode 100644 index 0000000..6b4fd8d Binary files /dev/null and b/blends/devuan-desktop-live/beowulf/rootfs-overlay/splash.png differ diff --git a/blends/devuan-desktop-live/beowulf/rootfs-overlay/usr/lib/refractainstaller/post-install/cleanup-rclocal.sh b/blends/devuan-desktop-live/beowulf/rootfs-overlay/usr/lib/refractainstaller/post-install/cleanup-rclocal.sh new file mode 100755 index 0000000..52d0355 --- /dev/null +++ b/blends/devuan-desktop-live/beowulf/rootfs-overlay/usr/lib/refractainstaller/post-install/cleanup-rclocal.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +sed -i '/dpkg.*ping/d' /target/etc/rc.local + +sed -i '/eudev/d' /target/etc/rc.local + +exit 0 diff --git a/blends/devuan-desktop-live/config b/blends/devuan-desktop-live/config index 6607c8f..ded6569 100644 --- a/blends/devuan-desktop-live/config +++ b/blends/devuan-desktop-live/config @@ -6,8 +6,8 @@ arrs+=(custom_deb_packages) blend_name="devuan-desktop-live_" -release="ascii" - +release="beowulf" +version="3.0.0" username="devuan" userpass="devuan" @@ -23,6 +23,8 @@ efi_work="$BLENDPATH/${release}/efi-files" #grubversion="grub-pc" grubversion="grub-efi-amd64" +# Uncomment for amd64 +base_packages+=(grub-efi-amd64-bin grub-efi-ia32-bin) mirror="http://pkgmaster.devuan.org/merged" section="main contrib non-free" diff --git a/blends/devuan-desktop-live/devuan-desktop-live.blend b/blends/devuan-desktop-live/devuan-desktop-live.blend index c7577df..a681c6f 100644 --- a/blends/devuan-desktop-live/devuan-desktop-live.blend +++ b/blends/devuan-desktop-live/devuan-desktop-live.blend @@ -34,8 +34,10 @@ blend_preinst() { add-user $username $userpass - notice "copying blend-specific debs" - cp -fv "$blend_release_path"/*.deb "$R/extra/custom-packages" + if [[ -e "${blend_release_path}/custom_debs/*.deb" ]] ; then + notice "copying blend-specific debs" + cp -fv "$blend_release_path"/custom_debs/*.deb "$R/extra/custom-packages" + fi } blend_postinst() { @@ -53,11 +55,52 @@ blend_postinst() { install-custdebs || zerr pushd "$strapdir" sudo rsync -avx --no-o --no-g "$blend_release_path"/rootfs-overlay/* . || zerr + + # add some basic files to /dev +sudo mknod -m 622 dev/console c 5 1 +sudo mknod -m 666 dev/null c 1 3 +sudo mknod -m 666 dev/zero c 1 5 +sudo mknod -m 666 dev/ptmx c 5 2 +sudo mknod -m 666 dev/tty c 5 0 +sudo mknod -m 444 dev/random c 1 8 +sudo mknod -m 444 dev/urandom c 1 9 +sudo chown -v root:tty dev/{console,ptmx,tty} + +sudo ln -sv /proc/self/fd dev/fd +sudo ln -sv /proc/self/fd/0 dev/stdin +sudo ln -sv /proc/self/fd/1 dev/stdout +sudo ln -sv /proc/self/fd/2 dev/stderr +sudo ln -sv /proc/kcore dev/core +sudo mkdir -v dev/shm +sudo mkdir -v dev/pts +sudo chmod 1777 dev/shm popd blend_finalize || zerr } +# Set lvm not to use udev in initramfs to avoid boot delays. +# (e.g. "device not in udev database even after waiting...") +edit_initramfs () { + fn edit_initramfs + req=(workdir) + ckreq || return 1 + + echo "Editing lvm.conf in the initramfs." + + + [[ -d "$workdir"/extracted ]] || mkdir "$workdir"/extracted + pushd "$workdir"/extracted + sudo bash -c 'zcat ${workdir}/binary/live/initrd.img | cpio -i' + sudo sed -i 's/multipath_component_detection = 1/multipath_component_detection = 0/' etc/lvm/lvm.conf + sudo sed -i 's/md_component_detection = 1/md_component_detection = 0/' etc/lvm/lvm.conf + sudo sed -i 's/udev_sync = 1/udev_sync = 0/' etc/lvm/lvm.conf + sudo sed -i 's/udev_rules = 1/udev_rules = 0/' etc/lvm/lvm.conf + sudo sed -i 's/udevadm/sleep 5 \&\& udevadm/' scripts/init-bottom/udev + sudo find . -print0 | cpio -0 -H newc -o | gzip -c > "$workdir"/binary/live/initrd.img | tee -a ${workdir}/mylog + popd +} + iso_write_isolinux_cfg() { fn iso_write_isolinux_cfg "(override)" req=(workdir arch username) @@ -71,35 +114,39 @@ prompt 0 menu title devuan-live boot menu timeout 70 menu background /isolinux/splash.png -menu color title * #FFFFFFFF * -menu color border * #00000000 #00000000 none -menu color sel * #ffffff #44424E * -menu color hotsel 1;7;37;40 #dad9dc #44424E * -menu color tabmsg * #dad9dc #00000000 * -menu color cmdline 0 #dad9dc #00000000 -menu tabmsg Press ENTER to boot or TAB to edit a menu entry +menu color title * #C6C2C2 * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #5F1A1A * +menu color hotsel 1;7;37;40 #ffffffff #401111 * +menu color tabmsg * #D4D0D0 #00000000 * +menu color cmdline 0 #D4D0D0 #00000000 menu vshift 12 menu rows 12 +# The command line must be at least one line from the help line. +menu cmdlinerow 16 +menu timeoutrow 16 +menu tabmsgrow 18 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry label live menu label ${os}-live (${arch}) menu default linux /live/vmlinuz - append initrd=/live/initrd.img boot=live username=${username} + append initrd=/live/initrd.img boot=live username=${username} apparmor=0 label lang menu label Other language (TAB to edit) linux /live/vmlinuz - append initrd=/live/initrd.img boot=live username=${username} locales=it_IT.UTF-8 keyboard-layouts=it + append initrd=/live/initrd.img boot=live username=${username} apparmor=0 locales=it_IT.UTF-8 keyboard-layouts=it label toram menu label ${os}-live (${arch}) (load to RAM) linux /live/vmlinuz - append initrd=/live/initrd.img boot=live username=${username} toram + append initrd=/live/initrd.img boot=live username=${username} apparmor=0 toram label failsafe menu label ${os}-live (${arch}) (failsafe) - kernel /live/vmlinuz noapic noapm nodma nomce nolapic nosmp nomodeset vga=normal + kernel /live/vmlinuz noapic noapm nodma nomce nolapic nosmp nomodeset vga=normal username=${username} apparmor=0 append initrd=/live/initrd.img boot=live label memtest @@ -112,6 +159,9 @@ EOF notice "copying isolinux overlay" sudo mkdir -p "$workdir"/binary/{live,isolinux} sudo cp -rav "$blend_release_path"/isolinux-overlay/* "$workdir"/binary/isolinux/ + sudo cp -av "$blend_release_path"/live-overlay/* "$workdir"/binary/live/ + sudo cp -av "$blend_release_path"/docs "$workdir"/binary/ + edit_initramfs # [[ -n "$hookscripts" ]] && { # sudo cp -av "$blend_release_path"/hooks "$workdir"/binary/live/ # } @@ -230,10 +280,8 @@ EOF sudo rsync -avx "$efi_work"/boot binary/ sudo rsync -avx "$efi_work"/efi binary/ popd - } - iso_write_grub_cfg() { fn iso_write_grub_cfg "(override)" req=(workdir arch username) @@ -262,30 +310,30 @@ set timeout=6 menuentry "${os}-live (${arch})" { set gfxpayload=keep - linux /live/vmlinuz boot=live username=$username + linux /live/vmlinuz boot=live username=$username apparmor=0 initrd /live/initrd.img } menuentry "Other language" { set gfxpayload=keep - linux /live/vmlinuz boot=live username=$username locales=it_IT.UTF-8 keyboard-layouts=it + linux /live/vmlinuz boot=live username=$username apparmor=0 locales=it_IT.UTF-8 keyboard-layouts=it initrd /live/initrd.img } menuentry "${os}-live (load to RAM)" { set gfxpayload=keep - linux /live/vmlinuz boot=live username=$username toram + linux /live/vmlinuz boot=live username=$username apparmor=0 toram initrd /live/initrd.img } menuentry "${os}-live (failsafe)" { set gfxpayload=keep - linux /live/vmlinuz boot=live username=$username noapic noapm nodma nomce nolapic nosmp vga=normal + linux /live/vmlinuz boot=live username=$username apparmor=0 noapic noapm nodma nomce nolapic nosmp vga=normal initrd /live/initrd.img } menuentry "Memory test" { - linux /live/memtest + linux16 /live/memtest86+.bin } EOF @@ -323,6 +371,8 @@ rm -f /splash.png rm -f /etc/fstab rm -f /etc/popularity-contest.conf +rm -f /vmlinuz.old +rm -f /initrd.img.old # For ascii if no display manager is used. Maybe this should have a # contitional that's turned on/off in the config? @@ -332,14 +382,31 @@ rm -f /etc/popularity-contest.conf sed -i 's/contrib//g' /etc/apt/sources.list sed -i 's/non-free//g' /etc/apt/sources.list -## package list - Why does this make an empty file? -#dpkg -l | awk '/^ii/ { print $2 " " $3 }' > /home/${username}/package_list -#printf "\nGo to files.devuan.org\n" >> /home/${username}/package_list +# for amd64 only at this time +if ls /boot | grep amd64 ; then + apt-get download grub-pc + apt-get download grub-efi-ia32 +fi + +##### this should be temporary +#if dpkg -l lightdm ; then +# apt-get -y --purge remove lightdm lightdm-gtk-greeter liblightdm-gobject-1-0 +# echo "Removed lightdm" > /home/devuan/which_dm +#fi +#if dpkg -l grub-efi-amd64-signed ; then +# apt-get -y remove grub-efi-amd64-signed +#fi + +## package list +dpkg -l | awk '/^ii/ { print \$2 " " \$3 }' > /home/${username}/package_list # Enable encryption (e.g. for live-usb with persistence) #sed -i 's/#CRYPTSETUP=/CRYPTSETUP=y/' /etc/cryptsetup-initramfs/conf-hook CRYPTSETUP=y update-initramfs -u -k all +# Change sources.list to use deb.devuan.org +sed -i 's/pkgmaster/deb/g' /etc/apt/sources.list + apt-get update apt-get clean updatedb diff --git a/blends/devuan-minimal-live/ascii.config b/blends/devuan-minimal-live/ascii.config new file mode 100644 index 0000000..3d6cb47 --- /dev/null +++ b/blends/devuan-minimal-live/ascii.config @@ -0,0 +1,46 @@ +#!/usr/bin/env zsh +## configuration file for devuan-minimal-live blend + +vars+=(username userpass default_shell mkefi grubversion hookscripts) +arrs+=(custom_deb_packages) + +blend_name="devuan-minimal-live_" + +release="ascii" + + +username="devuan" +userpass="devuan" +default_shell="/bin/bash" + +# comment to disable: +#hookscripts="yes" + +# uncomment to create uefi-bootable iso +#mkefi="yes" +#efi_work="$BLENDPATH/efi-files" + +#grubversion="grub-pc" +#grubversion="grub-efi-amd64" + +##release="ascii" +mirror="http://pkgmaster.devuan.org/merged" +section="main contrib non-free" + + +base_packages_option=(--no-install-recommends) +extra_packages_option=(--no-install-recommends) + + +release_conf="$BLENDPATH/$release/config" + + +### package sets are defined in the corresponding $release/config file + +source $release_conf + +## image_name depends on release and version + +image_name="${os}_${release}_${version}_${arch}_minimal" + + diff --git a/blends/devuan-minimal-live/ascii.devuan-minimal-live.blend b/blends/devuan-minimal-live/ascii.devuan-minimal-live.blend new file mode 100644 index 0000000..cc19737 --- /dev/null +++ b/blends/devuan-minimal-live/ascii.devuan-minimal-live.blend @@ -0,0 +1,390 @@ +#!/usr/bin/env zsh +# Copyright (c) 2017 Dyne.org Foundation +# live-sdk is written and maintained by Ivan J. +# +# This file is part of live-sdk +# devuan-minimal-live.blend is maintained by KatolaZ +# +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This software is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see . + +BLENDPATH="${BLENDPATH:-$(dirname $0)}" + +source $BLENDPATH/config + +blend_release_path=$BLENDPATH/$release/ +blend_scripts=${blend_release_path}/scripts + +###source $BLENDPATH/$release/devuan-minimal-live.release + +blend_preinst() { + fn blend_preinst + req=(blend_name username userpass) + ckreq || return 1 + + notice "executing $blend_name preinst" + + add-user $username $userpass + + notice "copying blend-specific debs into $R/extra/custom-packages" + ## No more custom-packages + cp -fv "$blend_release_path"/custom_debs/*.deb "$R/extra/custom-packages" +} + +blend_postinst() { + fn blend_postinst + req=(strapdir blend_name) + ckreq || return 1 + + notice "executing $blend_name postinst" + +# [[ "$mkefi" = "yes" ]] && { +# iso_make_efi +# iso_write_grub_cfg +# } + + ## TODO: ENABLE THIS + install-custdebs || zerr + pushd "$strapdir" + sudo rsync -avx --no-o --no-g "$blend_release_path"/rootfs_overlay/* . || zerr + sudo chmod 755 etc/init.d/boot_beep + popd + + blend_finalize || zerr +} + +iso_write_isolinux_cfg() { + fn iso_write_isolinux_cfg "(override)" + req=(workdir arch username) + ckreq || return 1 + + notice "copying isolinux overlay" + sudo mkdir -p "$workdir"/binary/{live,isolinux} + sudo cp -rav "$blend_release_path"/isolinux_overlay/* "$workdir"/binary/isolinux/ + #[[ -n "$hookscripts" ]] && { + # sudo cp -av "$BLENDPATH"/hooks "$workdir"/binary/live/ + #} +} + +# create /boot and /efi for uefi. +# uefi code borrowed and adapted from David Hare, who borrowed and adapted it +# from similar scripts by Colin Watson and Patrick J. Volkerding. +iso_make_efi() { + fn iso_make_efi + req=(workdir efi_work) + ckreq || return 1 + + notice "creating efi boot files" + + tempdir="$(mktemp -d /tmp/work_temp.XXXX)" + # for initial grub.cfg + mkdir -p "$tempdir"/boot/grub + + + cat >"$tempdir"/boot/grub/grub.cfg <> boot/grub/x86_64-efi/grub.cfg + done + + # Additional modules so we don't boot in blind mode. + # I don't know which ones are really needed. + efimods=( + efi_gop + efi_uga + ieee1275_fb + vbe + vga + video_bochs + video_cirrus + jpeg + png + gfxterm + ) + for i in $efimods; do + print "insmod $i" >> boot/grub/x86_64-efi/grub.cfg + done + + print "source /boot/grub/grub.cfg" >> boot/grub/x86_64-efi/grub.cfg + + pushd "$tempdir" + # make a tarred "memdisk" to embed in the grub image + tar -cvf memdisk boot + + # make the grub image + grub-mkimage -O "x86_64-efi" -m "memdisk" -o "bootx64.efi" \ + -p '(memdisk)/boot/grub' \ + search iso9660 configfile normal memdisk tar cat \ + part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus \ + chain boot linux + popd + + # copy the grub image to efi/boot (to go later in the device's root) + cp "$tempdir"/bootx64.efi efi/boot + + # Do the boot image "boot/grub/efiboot.img" + dd if=/dev/zero of=boot/grub/efiboot.img bs=1K count=1440 + mkfs.vfat -F 12 boot/grub/efiboot.img + + sudo mkdir img-mnt + sudo mount -o loop boot/grub/efiboot.img img-mnt + sudo mkdir -p img-mnt/efi/boot + sudo cp "$tempdir"/bootx64.efi img-mnt/efi/boot/ + + # copy modules and font + cp $strapdir/usr/lib/grub/x86_64-efi/* boot/grub/x86_64-efi/ + + # if this doesn't work try another font from the same place (grub's default, unicode.pf2, is much larger) + # Either of these will work, and they look the same to me. Unicode seems to work with qemu. -fsr + # cp /usr/share/grub/ascii.pf2 boot/grub/font.pf2 + cp $strapdir/usr/share/grub/unicode.pf2 boot/grub/font.pf2 + + # copy splash + sudo cp -rav "$blend_release_path"/isolinux_overlay/splash.png boot/grub/splash.png + + # Cleanup efi temps + sudo umount img-mnt + sudo rmdir img-mnt + rm -rf "$tempdir" + + popd + + + # Copy efi files to iso + pushd $workdir + sudo rsync -avx "$efi_work"/boot binary/ + sudo rsync -avx "$efi_work"/efi binary/ + popd + +} + + +## UNUSED +iso_write_grub_cfg() { + fn iso_write_grub_cfg "(override)" + req=(workdir arch username) + ckreq || return 1 + + notice "writing grub configuration" + + # Do the main grub.cfg (which gets loaded last): + cat </dev/null + + ## Now we make it executable + sudo chmod 755 ${strapdir}/create_initrd.sh +} + +## put the "finalize" script, that does the final work + +## func +put_finalize(){ + + cat </dev/null +#!/bin/sh + +## permissions +for i in cdrom floppy audio dip video plugdev netdev lpadmin scanner; do + gpasswd -a ${username} \$i +done + +chsh -s "${default_shell}" ${username} +chown -R 1000:1000 /home/${username} + +# Not sure if this has been fixed (in devuan-baseconf?) +mv /data/etc/apt/apt.conf.d/05disable-suggests /etc/apt/apt.conf.d/ +rm -rf /data + +rm -f /etc/fstab +rm -f /etc/popularity-contest.conf +rm -f /var/lib/dbus/machine-id + +# For ascii if no display manager is used. Maybe this should have a +# contitional that's turned on/off in the config? +# echo "needs_root_rights=yes" >> /etc/X11/Xwrapper.config + +# Disable contrib and non-free after installing firmware. +sed -i 's/ contrib//g' /etc/apt/sources.list +sed -i 's/ non-free//g' /etc/apt/sources.list + +## Disable updates +sed -i '/-updates/s/^/## /g' /etc/apt/sources.list + +## replace pkgmaster with deb.devuan.org +sed -i 's/pkgmaster/deb/g' + + +## insert service boot_beep +insserv boot_beep + +## Configure framebuffer +setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm +chmod u+s /usr/bin/fbterm + +## Make initramfs + +SLIM_INITRD=initrd_devuan.img +MICRO_INITRD=/boot/initrd.img +INITRD_COMPR="xz --check=crc32 --x86 -6 -" + + +/create_initrd.sh /initrd.img /boot/\${SLIM_INITRD} \ + "\${INITRD_COMPR}" \${MICRO_INITRD} + +rm -f $(realpath /initrd.img) +rm -f $(realpath /initrd.img.old) + +echo "====> Content of /boot before rm:" + +ls /boot + +rm -f /initrd.img +rm -f /initrd.img.old + +KERN_ORIG=\$(ls /boot/initrd.img-* | head -1 | cut -d "-" -f 2-) + +rm -f /boot/initrd.img-* + + +echo "====> Content of /boot AFTER rm:" + +ls /boot + +ln -s \${MICRO_INITRD} /initrd.img + + + +## rm create_initrd.sh +rm /create_initrd.sh + +## install additional packages + +cd /extra/custom-packages +dpkg -i \$(find ./ -type f -name '*.deb') + + +## package list +dpkg -l | awk '/^ii/ { print \$2 " " \$3 }' > /home/${username}/package_list + +##apt-get update +apt-get clean +rm /var/cache/apt/*.bin +updatedb + +rm -f /initrd.img +rm -f /initrd.img.old +rm -f /boot/initrd.img-* +ln -s \${MICRO_INITRD} /initrd.img + +ln -s \${MICRO_INITRD} /boot/initrd.img-\${KERN_ORIG} + + +EOF + +## cp ${strapdir}/finalize ${strapdir}/finalize.bak + +} + +## func +# put_packages(){ + +# sudo cp -a "$R/extra/custom-packages/" ${strapdir} +# } + + +blend_finalize() { + fn blend_finalize + req=(strapdir username default_shell) + ckreq || return 1 + + put_create_initrd + #put_packages + + put_finalize + + #chroot-script -d finalize || zerr + chroot-script finalize || zerr + + printf "copying ${strapdir}/boot/initrd.img to ${workdir}/binary/live/..." + sudo cp -L ${strapdir}/boot/initrd.img ${workdir}/binary/live/ + printf "done\n" + printf "copying memtest86 to /binary/live\n" + sudo cp ${strapdir}/boot/memtest86+.bin ${workdir}/binary/live/memtest + printf "done\n" + echo "done" +} diff --git a/blends/devuan-minimal-live/ascii/config b/blends/devuan-minimal-live/ascii/config index 945238d..c199b83 100644 --- a/blends/devuan-minimal-live/ascii/config +++ b/blends/devuan-minimal-live/ascii/config @@ -2,7 +2,7 @@ ## configuration file for devuan-live blend -- ASCII release -version="2.0.0" +version="2.1" ## @@ -44,6 +44,8 @@ minimal_base_packages+=( ## admin package set minimal_admin_packages+=( + cryptsetup + cryptsetup-bin debootstrap entr gddrescue @@ -52,6 +54,8 @@ minimal_admin_packages+=( iftop iotop iw + lvm2 + mdadm mtr-tiny multitail ncdu @@ -104,7 +108,6 @@ minimal_net_packages+=( rsync setnet telnet - tin traceroute w3m wget @@ -201,20 +204,20 @@ minimal_media_packages+=( ## misc package set minimal_misc_packages+=( cmatrix - cowsay + cowsay eject - figlet + figlet fortunes-min - fortune-mod - gpm + fortune-mod + gpm man-db manpages manpages-dev mlocate - termsaver - toilet + termsaver + toilet toilet-fonts - ttyrec + ttyrec unzip ) @@ -266,25 +269,17 @@ extra_packages+=( purge_packages=( - btrfs-tools - cryptsetup - cryptsetup-bin - debian-keyring elinks elinks-data - git - git-core - git-man liberror-perl libfsplib0 libtre5 openntpd tasksel tasksel-data - vim - vim-runtime ) +custom_deb_packages+=(memtest86+_5.01-3_${arch}.deb) # yad needs to be first #$custom_deb_packages+=(yad_0.27.0-1_${arch}.deb) diff --git a/blends/devuan-minimal-live/ascii/custom_debs/memtest86+_5.01-3_amd64.deb b/blends/devuan-minimal-live/ascii/custom_debs/memtest86+_5.01-3_amd64.deb new file mode 100644 index 0000000..010c2e9 Binary files /dev/null and b/blends/devuan-minimal-live/ascii/custom_debs/memtest86+_5.01-3_amd64.deb differ diff --git a/blends/devuan-minimal-live/ascii/custom_debs/memtest86+_5.01-3_i386.deb b/blends/devuan-minimal-live/ascii/custom_debs/memtest86+_5.01-3_i386.deb new file mode 100644 index 0000000..5abd937 Binary files /dev/null and b/blends/devuan-minimal-live/ascii/custom_debs/memtest86+_5.01-3_i386.deb differ diff --git a/blends/devuan-minimal-live/ascii/isolinux_overlay/isolinux.cfg b/blends/devuan-minimal-live/ascii/isolinux_overlay/isolinux.cfg index b881481..3dddfde 100644 --- a/blends/devuan-minimal-live/ascii/isolinux_overlay/isolinux.cfg +++ b/blends/devuan-minimal-live/ascii/isolinux_overlay/isolinux.cfg @@ -46,7 +46,7 @@ label noprobe label memtest menu label Memory test - kernel /live/memtest86+.bin + kernel /live/memtest label chain.c32 hd0,0 menu label Boot hard disk diff --git a/blends/devuan-minimal-live/ascii/isolinux_overlay/splash.png b/blends/devuan-minimal-live/ascii/isolinux_overlay/splash.png index c768b17..4c8c592 100644 Binary files a/blends/devuan-minimal-live/ascii/isolinux_overlay/splash.png and b/blends/devuan-minimal-live/ascii/isolinux_overlay/splash.png differ diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/default/console-setup b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/default/console-setup new file mode 100644 index 0000000..dc3ea7f --- /dev/null +++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/default/console-setup @@ -0,0 +1,16 @@ +# CONFIGURATION FILE FOR SETUPCON + +# Consult the console-setup(5) manual page. + +ACTIVE_CONSOLES="/dev/tty[1-6]" + +CHARMAP="UTF-8" + +CODESET="Lat15" +FONTFACE="Fixed" +FONTSIZE="8x16" + +VIDEOMODE= + +# The following is an example how to use a braille font +# FONT='lat9w-08.psf.gz brl-8x8.psf' diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd index 77fb67c..5955810 100644 --- a/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd +++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/etc/motd @@ -1,7 +1,7 @@ -Devuan ASCII 2.0.0 -- Minimal Live +Devuan ASCII 2.1 -- Minimal Live Devuan GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.  - \ No newline at end of file + diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/lib/live/config/8990-console-setup b/blends/devuan-minimal-live/ascii/rootfs_overlay/lib/live/config/8990-console-setup new file mode 100755 index 0000000..4259f32 --- /dev/null +++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/lib/live/config/8990-console-setup @@ -0,0 +1,35 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2014 Daniel Baumann +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/console-setup.list ] || \ + [ -e /var/lib/live/config/console-setup ] + then + exit 0 + fi + + echo -n " console-setup " +} + +Config () +{ + /etc/init.d/console-setup.sh start + + # Creating state file + touch /var/lib/live/config/console-setup +} + +Init +Config diff --git a/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_ASCII.txt b/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_ASCII.txt index 2a11d5b..0f4dc67 100644 --- a/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_ASCII.txt +++ b/blends/devuan-minimal-live/ascii/rootfs_overlay/root/README_ASCII.txt @@ -11,11 +11,12 @@ The image can be burnt on a CDROM or dd-ed on a USB stick. The regular user is devuan/devuan. Become admin with root/toor. Designed and maintained by Vincenzo 'Katolaz' Nicosia -Key used to sign: http://pgp.mit.edu/pks/lookup?op=get&search=0x5F20B3AE0B5F062F Homepage: http://kalos.mine.nu +Iso files built and signed by fsmithred (key id 0xA73823D3094C5620 on pgp.mit.e$ ======================================= + 0) Boot options 1) Packages 2) Connecting to the Internet diff --git a/blends/devuan-minimal-live/ascii/scripts/create_initrd.sh b/blends/devuan-minimal-live/ascii/scripts/create_initrd.sh index 01353d3..a4a5340 100755 --- a/blends/devuan-minimal-live/ascii/scripts/create_initrd.sh +++ b/blends/devuan-minimal-live/ascii/scripts/create_initrd.sh @@ -54,7 +54,6 @@ INITRD_MICRO=$4 WORK_DIR=/tmp/initrd_new -MODULE_DIRS=$(ls lib/modules/) #### ## @@ -93,6 +92,8 @@ cd ${WORK_DIR}; `${INITRD_UNCOMPRESS} ${INITRD_ORIG} | cpio -id` echo "done!" +MODULE_DIRS=$(ls lib/modules/) + #### ## ## Remove unnecessary ethernet modules -- we already know @@ -161,6 +162,11 @@ for M in ${MODULE_DIRS}; do rm -rf ${MODULE_DIR}/drivers/scsi/bfa echo "done!" + + echo -n "===> Removing unnecessary RAID drivers..." + rm -rf ${MODULE_DIR}/drivers/md + echo "done!" + ## remove the gpu driver folder altogether @@ -172,8 +178,10 @@ for M in ${MODULE_DIRS}; do echo -n "===> Removing unnecessary firmware..." - rm -rf ${MODULE_DIR}/firmware/radeon/ - rm -rf ${MODULE_DIR}/firmware/cxgb4 + rm -rf lib/firmware/ + rm -rf ${MODULE_DIR}/firmware/ + #rm -rf ${MODULE_DIR}/firmware/radeon/ + #rm -rf ${MODULE_DIR}/firmware/cxgb4 echo "done" @@ -190,6 +198,14 @@ echo -n "===> Removing unnecessary stuff in /bin and /sbin..." #rm -rf sbin/acpid #rm -rf lib/systemd +rm sbin/lvm +rm sbin/vgchange +rm sbin/mdadm +rm sbin/mdmon +rm sbin/dmsetup + + + echo "done!" diff --git a/blends/devuan-minimal-live/beowulf/config b/blends/devuan-minimal-live/beowulf/config new file mode 100644 index 0000000..71775af --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/config @@ -0,0 +1,292 @@ +#E: Package 'radio' has no installation candidate +#!/usr/bin/env zsh +## configuration file for devuan-minimal-live blend -- Beowulf release + + +version="3.0.0" + + +## +## definition of package sets +## + +### base package set +minimal_base_packages+=( + acpi + acpi-support-base + acpid + acpi-fakekey + at + bash + bash-completion + bc + busybox + console-common + console-data + console-setup + console-setup-linux + coreutils + dash + dc + dialog + discover + dselect + file + groff-base + grub-pc + info + kbd + laptop-detect + locales + lsof + syslinux + util-linux-locales + zsh +) + +## admin package set +minimal_admin_packages+=( + cryptsetup + cryptsetup-bin + debootstrap + entr + gddrescue + gdisk + htop + iftop + iotop + iw + lvm2 + mdadm + mtr-tiny + multitail + ncdu + parted + pciutils + psmisc + sudo + time + usbutils + wavemon + wireless-tools + wpasupplicant + +) + +## editors package set +minimal_editors_packages+=( + ed + nano + vim-tiny + zile +) + + +## networking package set +minimal_net_packages+=( + bind9-host + bittornado + curl + dnsutils + edbrowse + fetchmail + ftp + geoip-bin + haveged + irssi + lftp + links2 + lrzsz + mcabber + minicom + mosh + msmtp + mutt + netcat + net-tools + nfacct +# nrss # not in beowulf. Use rsstail instead. + openssh-client + openssh-server + procmail + rsstail + rsync +# setnet # use ascii deb package for beowulf + telnet + traceroute + w3m + wget + whois +) + + +## productivity package set +minimal_prod_packages+=( + abook + apcalc + aspell + aspell-en + calcurse + clex + dvtm + fbi + fbterm + ghostscript + gnupg + gnupg2 + gnupg-agent + mc + parallel + poppler-utils + rpl + rename + sc + screen + taskwarrior + tmux +) + +## programming package set +minimal_devel_packages+=( + tcc + libc6-dev + m4 + patch + perl + perl-base + perl-modules-5.28 + python2.7-minimal + python3.7-minimal + gawk + guile-2.0 + guile-2.0-libs +) + +## games package set +minimal_games_packages+=( + bastet + bombardier + bsdgames + cavezofphear + crawl + curseofwar + empire + freesweep + gnuchess + greed + matanza + moria + nethack-console + ninvaders + omega-rpg + pacman4console + pente + sudoku +) + +## accessibility package set +minimal_a11y_packages+=( + beep + brltty + espeak + espeakup + yasr +) + + +## multimedia package set +minimal_media_packages+=( + alsa-utils + caca-utils + fmtools + hasciicam + imagemagick + jhead + moc +# radio # Not in beowulf. Replaced with fmtools. + sox +) + +## misc package set +minimal_misc_packages+=( + cmatrix + cowsay + eject + figlet + fortunes-min + fortune-mod + gpm + man-db + manpages + manpages-dev + mlocate + termsaver + toilet + toilet-fonts + ttyrec + unzip +) + +### now we include all the package sets +base_packages+=( + $minimal_base_packages + $minimal_admin_packages + $minimal_editors_packages + $minimal_net_packages + $minimal_prod_packages + $minimal_devel_packages + $minimal_games_packages + $minimal_a11y_packages + $minimal_media_packages + $minimal_misc_packages +) + +#### TODO: REPLACE twidge (twitter client) +#### ADDED: geoip-bin + +extra_packages+=( + atmel-firmware + bluez-firmware + dahdi-firmware-nonfree + firmware-amd-graphics + firmware-atheros + firmware-bnx2 + firmware-bnx2x + firmware-brcm80211 + firmware-cavium +# firmware-crystalhd + firmware-intel-sound + firmware-intelwimax + firmware-ipw2x00 + firmware-ivtv + firmware-iwlwifi + firmware-libertas + firmware-linux-free + firmware-linux-nonfree + firmware-myricom + firmware-netxen + firmware-qlogic + firmware-ralink + firmware-realtek + firmware-ti-connectivity + firmware-zd1211 + refractainstaller-base + refractasnapshot-base +) + + +purge_packages=( + elinks + elinks-data + liberror-perl + libfsplib0 + libtre5 + openntpd + tasksel + tasksel-data +) + +custom_deb_packages+=( + memtest86+_5.01-3_${arch}.deb + setnet_0.4+devuan1_all.deb +) diff --git a/blends/devuan-minimal-live/beowulf/custom_debs/memtest86+_5.01-3_amd64.deb b/blends/devuan-minimal-live/beowulf/custom_debs/memtest86+_5.01-3_amd64.deb new file mode 100644 index 0000000..010c2e9 Binary files /dev/null and b/blends/devuan-minimal-live/beowulf/custom_debs/memtest86+_5.01-3_amd64.deb differ diff --git a/blends/devuan-minimal-live/beowulf/custom_debs/memtest86+_5.01-3_i386.deb b/blends/devuan-minimal-live/beowulf/custom_debs/memtest86+_5.01-3_i386.deb new file mode 100644 index 0000000..5abd937 Binary files /dev/null and b/blends/devuan-minimal-live/beowulf/custom_debs/memtest86+_5.01-3_i386.deb differ diff --git a/blends/devuan-minimal-live/beowulf/custom_debs/setnet_0.4+devuan1_all.deb b/blends/devuan-minimal-live/beowulf/custom_debs/setnet_0.4+devuan1_all.deb new file mode 100644 index 0000000..08e790e Binary files /dev/null and b/blends/devuan-minimal-live/beowulf/custom_debs/setnet_0.4+devuan1_all.deb differ diff --git a/blends/devuan-minimal-live/beowulf/extra b/blends/devuan-minimal-live/beowulf/extra new file mode 100644 index 0000000..dec0284 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/extra @@ -0,0 +1,28 @@ + atmel-firmware + bluez-firmware + dahdi-firmware-nonfree + firmware-amd-graphics + firmware-atheros + firmware-bnx2 + firmware-bnx2x + firmware-brcm80211 + firmware-cavium + firmware-crystalhd + firmware-intel-sound + firmware-intelwimax + firmware-ipw2x00 + firmware-ivtv + firmware-iwlwifi + firmware-libertas + firmware-linux-free + firmware-linux-nonfree + firmware-myricom + firmware-netxen + firmware-qlogic + firmware-ralink + firmware-realtek + firmware-ti-connectivity + firmware-zd1211 + refractainstaller-base + refractasnapshot-base + diff --git a/blends/devuan-minimal-live/beowulf/isolinux_overlay/isolinux.cfg b/blends/devuan-minimal-live/beowulf/isolinux_overlay/isolinux.cfg new file mode 100644 index 0000000..3dddfde --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/isolinux_overlay/isolinux.cfg @@ -0,0 +1,58 @@ +ui vesamenu.c32 +prompt 0 +#menu title devuan-live boot menu +#timeout 70 +menu background /isolinux/splash.png +menu color title * #ff000000 #00ffffff none +menu color border * #00000000 #00000000 none +menu color sel 1;7;37;30 #ffffffff #ff000000 none +menu color unsel 1;30;37 #ff000000 #ffffffff none +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg 1;30;37 #ff000000 #ffffffff none +menu color cmdline 1;30;37 #ff000000 #ffffffff none +menu color help 37;40 #ffdddd00 #00000000 none +menu vshift 8 +menu rows 12 +#menu helpmsgrow 15 +#menu cmdlinerow 25 +#menu timeoutrow 26 +#menu tabmsgrow 14 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry + +label std + menu label Devuan Live Minimal (std) + kernel /live/vmlinuz + append initrd=/live/initrd.img boot=live noautologin vga=auto + +label accessible + menu label Devuan Live Minimal (access)  + kernel /live/vmlinuz + append initrd=/live/initrd.img boot=live noautologin 4 vga=normal + +label std-toram + menu label Devuan Live Minimal (std-toram) + kernel /live/vmlinuz + append initrd=/live/initrd.img boot=live noautologin vga=auto toram + +label accessible-toram + menu label Devuan Live Minimal (access-toram)  + kernel /live/vmlinuz + append initrd=/live/initrd.img boot=live noautologin 4 vga=normal toram + +label noprobe + menu label Devuan Live Minimal (no probe) + kernel /live/vmlinuz noapic noapm nodma nomce nolapic nosmp vga=normal + append initrd=/live/initrd.img boot=live + +label memtest + menu label Memory test + kernel /live/memtest + +label chain.c32 hd0,0 + menu label Boot hard disk + chain.c32 hd0,0 + +label harddisk + menu label Boot hard disk (old way) + localboot 0x80 + diff --git a/blends/devuan-minimal-live/beowulf/isolinux_overlay/splash.png b/blends/devuan-minimal-live/beowulf/isolinux_overlay/splash.png new file mode 100644 index 0000000..e2ceafa Binary files /dev/null and b/blends/devuan-minimal-live/beowulf/isolinux_overlay/splash.png differ diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/boot_beep b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/boot_beep new file mode 100755 index 0000000..dab600c --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/boot_beep @@ -0,0 +1,74 @@ +#/bin/bash +# ---------------------------------------------------------------------- +# +# This file is part of microdevuan, a set of scripts to create minimal +# devuan live images +# +# ---------------------------------------------------------------------- +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# ---------------------------------------------------------------------- +# +# (c) KatolaZ (2016) +# +# ---------------------------------------------------------------------- + + +## +## A small daemon that just beeps every second, until the process +## BB_PROCESS is ready... +## + +. /etc/default/boot_beep + + +## +## First, daemonize the script +## + +if [ "x$1" != "x--" ]; then + $0 -- 1> /dev/null 2> /dev/null & + exit 0 +fi + + +check_process(){ + + while [ 1 -gt 0 ]; do + login_ready=`ps ax | grep -E "${BB_PROCESS}" | grep -v "grep" | wc -l` + if [ $((${login_ready})) -ge 1 ]; then + ### + ### These lines should be put in a separate script, whose name is + ### specified in bb_defaults, to allow custom chimes.... + ### + ### + beep -D 50 -l 150 -f 523.25 + beep -D 50 -l 150 -f 629.25 + beep -D 50 -l 150 -f 784.00 + beep -D 50 -l 150 -f 629.25 + beep -D 50 -l 150 -f 523.25 + exit 0; + else + if [[ ${BB_BOOT_BEEP} = "TRUE" ]]; then + beep -D 100 -l 250 -f 523.25 + fi + sleep ${BB_INTERVAL}; + fi + done +} + +echo $$ >> ${BB_TMPFILE} + +check_process diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/default/boot_beep b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/default/boot_beep new file mode 100644 index 0000000..b22ff12 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/default/boot_beep @@ -0,0 +1,32 @@ +## +## The name of the file which will contain the PID of boot_beep.sh +## + +BB_TMPFILE=/tmp/boot_beep.pid + +## +## the path to boot_beep.sh +## + +BB_SCRIPTFILE=/etc/boot_beep + +## +## the process(es) to look for. This pattern will be given to +## "grep -E"... +## + +BB_PROCESS="(getty|login)" + +## +## Set whether beeps are emitted during boot +## +## + +BB_BEEP_BOOT=TRUE + +## +## Set check interval +## +## + +BB_INTERVAL=1 diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/default/console-setup b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/default/console-setup new file mode 100644 index 0000000..dc3ea7f --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/default/console-setup @@ -0,0 +1,16 @@ +# CONFIGURATION FILE FOR SETUPCON + +# Consult the console-setup(5) manual page. + +ACTIVE_CONSOLES="/dev/tty[1-6]" + +CHARMAP="UTF-8" + +CODESET="Lat15" +FONTFACE="Fixed" +FONTSIZE="8x16" + +VIDEOMODE= + +# The following is an example how to use a braille font +# FONT='lat9w-08.psf.gz brl-8x8.psf' diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/init.d/boot_beep b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/init.d/boot_beep new file mode 100755 index 0000000..eb7ada1 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/init.d/boot_beep @@ -0,0 +1,132 @@ +#!/bin/sh +# ---------------------------------------------------------------------- +# +# This file is part of microdevuan, a set of scripts to create minimal +# devuan live images +# +# ---------------------------------------------------------------------- +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# ---------------------------------------------------------------------- +# +# (c) KatolaZ (2016) +# +# ---------------------------------------------------------------------- + +### BEGIN INIT INFO +# Provides: boot_beep +# Required-Start: mountall +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Boot Beep Daemon +### END INIT INFO + + +. /etc/default/boot_beep + +rm_hanging_instances(){ + + if [ -f ${BB_TMPFILE} ]; then + for i in `cat ${BB_TMPFILE}`; do + is_alive=`ps ax | grep "^${i} " | wc -l` + if [ $((${is_alive})) -gt 0 ]; then + kill -9 ${i} + fi + done + rm ${BB_TMPFILE}; touch ${BB_TMPFILE} + fi + +} + +check_active(){ + + ALIVE=0 + if [ -f ${BB_TMPFILE} ]; then + for i in `cat ${BB_TMPFILE}`; do + is_alive=`ps ax | grep "^${i} " | wc -l` + if [ $((${is_alive})) -gt 0 ]; then + ALIVE=1 + fi + done + if [ ${ALIVE} -ge 1 ]; then + return 1; + else + return 0; + fi + else + return 0 + fi + + +} + + + +start_bb(){ + + check_active + if [ $? != 0 ]; then + echo "beep_boot is already running" + exit 1; + fi + + + rm_hanging_instances + nohup ${BB_SCRIPTFILE} 2>&1 >/dev/null & + exit 0; +} + +stop_bb(){ + check_active + if [ $? == 0 ]; then + echo "beep_boot is not running" + rm ${BB_TMPFILE} + exit 1; + fi + + rm_hanging_instances + exit 0; +} + + + + +case $1 in + + start) + start_bb + exit 0; + ;; + + stop) + stop_bb; + exit 0; + ;; + + status) + check_active + if [ $? == 0 ]; then + echo "boot_beep is not up" + else + echo "boot_beep is up and running" + fi + exit 0 + ;; + + *) + echo "Usage: $0 {start|stop|status}" + exit 1; +esac diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/inittab b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/inittab new file mode 100644 index 0000000..9b66bcb --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/inittab @@ -0,0 +1,84 @@ +# /etc/inittab: init(8) configuration. +# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ + +# The default runlevel. +id:2:initdefault: + +# Boot-time system configuration/initialization script. +# This is run first except when booting in emergency (-b) mode. +si::sysinit:/etc/init.d/rcS + +# What to do in single-user mode. +~~:S:wait:/sbin/sulogin + +# /etc/init.d executes the S and K scripts upon change +# of runlevel. +# +# Runlevel 0 is halt. +# Runlevel 1 is single-user. +# Runlevels 2-5 are multi-user. +# Runlevel 6 is reboot. + +l0:0:wait:/etc/init.d/rc 0 +l1:1:wait:/etc/init.d/rc 1 +l2:2:wait:/etc/init.d/rc 2 +l3:3:wait:/etc/init.d/rc 3 +l4:4:wait:/etc/init.d/rc 4 +l5:5:wait:/etc/init.d/rc 5 +l6:6:wait:/etc/init.d/rc 6 +# Normally not reached, but fallthrough in case of emergency. +z6:6:respawn:/sbin/sulogin + +# What to do when CTRL-ALT-DEL is pressed. +ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now + +# Action on special keypress (ALT-UpArrow). +#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." + +# What to do when the power fails/returns. +pf::powerwait:/etc/init.d/powerfail start +pn::powerfailnow:/etc/init.d/powerfail now +po::powerokwait:/etc/init.d/powerfail stop + +# /sbin/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# ::: +# +# Note that on most Debian systems tty7 is used by the X Window System, +# so if you want to add more getty's go ahead but skip tty7 if you run X. +# + +1:235:respawn:/sbin/getty 38400 tty1 +2:23:respawn:/sbin/getty 38400 tty2 +3:23:respawn:/sbin/getty 38400 tty3 +4:23:respawn:/sbin/getty 38400 tty4 +5:23:respawn:/sbin/getty 38400 tty5 +6:23:respawn:/sbin/getty 38400 tty6 + +## +## KatolaZ -- 20160604 -- Accessible runlevel +## +## Runlevel 4 is the "accessible" runlevel. Autologin configured on +## all the ttys. tty1 is root shell +## + +a1:4:respawn:/sbin/getty -a root 38400 tty1 +a2:4:respawn:/sbin/getty -a devuan 38400 tty2 +a3:4:respawn:/sbin/getty -a devuan 38400 tty3 +a4:4:respawn:/sbin/getty -a devuan 38400 tty4 +a5:4:respawn:/sbin/getty -a devuan 38400 tty5 +a6:4:respawn:/sbin/getty -a devuan 38400 tty6 + +# Example how to put a getty on a serial line (for a terminal) +# +#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 +#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100 + +# Example how to put a getty on a modem line. +# +#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3 + diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/lvm/lvm.conf b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/lvm/lvm.conf new file mode 100644 index 0000000..ac326b3 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/lvm/lvm.conf @@ -0,0 +1,2189 @@ +# This is an example configuration file for the LVM2 system. +# It contains the default settings that would be used if there was no +# /etc/lvm/lvm.conf file. +# +# Refer to 'man lvm.conf' for further information including the file layout. +# +# Refer to 'man lvm.conf' for information about how settings configured in +# this file are combined with built-in values and command line options to +# arrive at the final values used by LVM. +# +# Refer to 'man lvmconfig' for information about displaying the built-in +# and configured values used by LVM. +# +# If a default value is set in this file (not commented out), then a +# new version of LVM using this file will continue using that value, +# even if the new version of LVM changes the built-in default value. +# +# To put this file in a different directory and override /etc/lvm set +# the environment variable LVM_SYSTEM_DIR before running the tools. +# +# N.B. Take care that each setting only appears once if uncommenting +# example settings in this file. + + +# Configuration section config. +# How LVM configuration settings are handled. +config { + + # Configuration option config/checks. + # If enabled, any LVM configuration mismatch is reported. + # This implies checking that the configuration key is understood by + # LVM and that the value of the key is the proper type. If disabled, + # any configuration mismatch is ignored and the default value is used + # without any warning (a message about the configuration key not being + # found is issued in verbose mode only). + checks = 1 + + # Configuration option config/abort_on_errors. + # Abort the LVM process if a configuration mismatch is found. + abort_on_errors = 0 + + # Configuration option config/profile_dir. + # Directory where LVM looks for configuration profiles. + profile_dir = "/etc/lvm/profile" +} + +# Configuration section devices. +# How LVM uses block devices. +devices { + + # Configuration option devices/dir. + # Directory in which to create volume group device nodes. + # Commands also accept this as a prefix on volume group names. + # This configuration option is advanced. + dir = "/dev" + + # Configuration option devices/scan. + # Directories containing device nodes to use with LVM. + # This configuration option is advanced. + scan = [ "/dev" ] + + # Configuration option devices/obtain_device_list_from_udev. + # Obtain the list of available devices from udev. + # This avoids opening or using any inapplicable non-block devices or + # subdirectories found in the udev directory. Any device node or + # symlink not managed by udev in the udev directory is ignored. This + # setting applies only to the udev-managed device directory; other + # directories will be scanned fully. LVM needs to be compiled with + # udev support for this setting to apply. + obtain_device_list_from_udev = 1 + + # Configuration option devices/external_device_info_source. + # Select an external device information source. + # Some information may already be available in the system and LVM can + # use this information to determine the exact type or use of devices it + # processes. Using an existing external device information source can + # speed up device processing as LVM does not need to run its own native + # routines to acquire this information. For example, this information + # is used to drive LVM filtering like MD component detection, multipath + # component detection, partition detection and others. + # + # Accepted values: + # none + # No external device information source is used. + # udev + # Reuse existing udev database records. Applicable only if LVM is + # compiled with udev support. + # + external_device_info_source = "none" + + # Configuration option devices/preferred_names. + # Select which path name to display for a block device. + # If multiple path names exist for a block device, and LVM needs to + # display a name for the device, the path names are matched against + # each item in this list of regular expressions. The first match is + # used. Try to avoid using undescriptive /dev/dm-N names, if present. + # If no preferred name matches, or if preferred_names are not defined, + # the following built-in preferences are applied in order until one + # produces a preferred name: + # Prefer names with path prefixes in the order of: + # /dev/mapper, /dev/disk, /dev/dm-*, /dev/block. + # Prefer the name with the least number of slashes. + # Prefer a name that is a symlink. + # Prefer the path with least value in lexicographical order. + # + # Example + # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ] + # + # This configuration option does not have a default value defined. + + # Configuration option devices/filter. + # Limit the block devices that are used by LVM commands. + # This is a list of regular expressions used to accept or reject block + # device path names. Each regex is delimited by a vertical bar '|' + # (or any character) and is preceded by 'a' to accept the path, or + # by 'r' to reject the path. The first regex in the list to match the + # path is used, producing the 'a' or 'r' result for the device. + # When multiple path names exist for a block device, if any path name + # matches an 'a' pattern before an 'r' pattern, then the device is + # accepted. If all the path names match an 'r' pattern first, then the + # device is rejected. Unmatching path names do not affect the accept + # or reject decision. If no path names for a device match a pattern, + # then the device is accepted. Be careful mixing 'a' and 'r' patterns, + # as the combination might produce unexpected results (test changes.) + # Run vgscan after changing the filter to regenerate the cache. + # + # Example + # Accept every block device: + # filter = [ "a|.*/|" ] + # Reject the cdrom drive: + # filter = [ "r|/dev/cdrom|" ] + # Work with just loopback devices, e.g. for testing: + # filter = [ "a|loop|", "r|.*|" ] + # Accept all loop devices and ide drives except hdc: + # filter = [ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ] + # Use anchors to be very specific: + # filter = [ "a|^/dev/hda8$|", "r|.*/|" ] + # + # This configuration option has an automatic default value. + # filter = [ "a|.*/|" ] + + # Configuration option devices/global_filter. + # Limit the block devices that are used by LVM system components. + # Because devices/filter may be overridden from the command line, it is + # not suitable for system-wide device filtering, e.g. udev. + # Use global_filter to hide devices from these LVM system components. + # The syntax is the same as devices/filter. Devices rejected by + # global_filter are not opened by LVM. + # This configuration option has an automatic default value. + # global_filter = [ "a|.*/|" ] + + # Configuration option devices/types. + # List of additional acceptable block device types. + # These are of device type names from /proc/devices, followed by the + # maximum number of partitions. + # + # Example + # types = [ "fd", 16 ] + # + # This configuration option is advanced. + # This configuration option does not have a default value defined. + + # Configuration option devices/sysfs_scan. + # Restrict device scanning to block devices appearing in sysfs. + # This is a quick way of filtering out block devices that are not + # present on the system. sysfs must be part of the kernel and mounted.) + sysfs_scan = 1 + + # Configuration option devices/scan_lvs. + # Scan LVM LVs for layered PVs. + scan_lvs = 1 + + # Configuration option devices/multipath_component_detection. + # Ignore devices that are components of DM multipath devices. + multipath_component_detection = 0 + + # Configuration option devices/md_component_detection. + # Ignore devices that are components of software RAID (md) devices. + md_component_detection = 0 + + # Configuration option devices/fw_raid_component_detection. + # Ignore devices that are components of firmware RAID devices. + # LVM must use an external_device_info_source other than none for this + # detection to execute. + fw_raid_component_detection = 0 + + # Configuration option devices/md_chunk_alignment. + # Align the start of a PV data area with md device's stripe-width. + # This applies if a PV is placed directly on an md device. + # default_data_alignment will be overriden if it is not aligned + # with the value detected for this setting. + # This setting is overriden by data_alignment_detection, + # data_alignment, and the --dataalignment option. + md_chunk_alignment = 1 + + # Configuration option devices/default_data_alignment. + # Align the start of a PV data area with this number of MiB. + # Set to 1 for 1MiB, 2 for 2MiB, etc. Set to 0 to disable. + # This setting is overriden by data_alignment and the --dataalignment + # option. + # This configuration option has an automatic default value. + # default_data_alignment = 1 + + # Configuration option devices/data_alignment_detection. + # Align the start of a PV data area with sysfs io properties. + # The start of a PV data area will be a multiple of minimum_io_size or + # optimal_io_size exposed in sysfs. minimum_io_size is the smallest + # request the device can perform without incurring a read-modify-write + # penalty, e.g. MD chunk size. optimal_io_size is the device's + # preferred unit of receiving I/O, e.g. MD stripe width. + # minimum_io_size is used if optimal_io_size is undefined (0). + # If md_chunk_alignment is enabled, that detects the optimal_io_size. + # default_data_alignment and md_chunk_alignment will be overriden + # if they are not aligned with the value detected for this setting. + # This setting is overriden by data_alignment and the --dataalignment + # option. + data_alignment_detection = 1 + + # Configuration option devices/data_alignment. + # Align the start of a PV data area with this number of KiB. + # When non-zero, this setting overrides default_data_alignment. + # Set to 0 to disable, in which case default_data_alignment + # is used to align the first PE in units of MiB. + # This setting is overriden by the --dataalignment option. + data_alignment = 0 + + # Configuration option devices/data_alignment_offset_detection. + # Shift the start of an aligned PV data area based on sysfs information. + # After a PV data area is aligned, it will be shifted by the + # alignment_offset exposed in sysfs. This offset is often 0, but may + # be non-zero. Certain 4KiB sector drives that compensate for windows + # partitioning will have an alignment_offset of 3584 bytes (sector 7 + # is the lowest aligned logical block, the 4KiB sectors start at + # LBA -1, and consequently sector 63 is aligned on a 4KiB boundary). + # This setting is overriden by the --dataalignmentoffset option. + data_alignment_offset_detection = 1 + + # Configuration option devices/ignore_suspended_devices. + # Ignore DM devices that have I/O suspended while scanning devices. + # Otherwise, LVM waits for a suspended device to become accessible. + # This should only be needed in recovery situations. + ignore_suspended_devices = 0 + + # Configuration option devices/ignore_lvm_mirrors. + # Do not scan 'mirror' LVs to avoid possible deadlocks. + # This avoids possible deadlocks when using the 'mirror' segment type. + # This setting determines whether LVs using the 'mirror' segment type + # are scanned for LVM labels. This affects the ability of mirrors to + # be used as physical volumes. If this setting is enabled, it is + # impossible to create VGs on top of mirror LVs, i.e. to stack VGs on + # mirror LVs. If this setting is disabled, allowing mirror LVs to be + # scanned, it may cause LVM processes and I/O to the mirror to become + # blocked. This is due to the way that the mirror segment type handles + # failures. In order for the hang to occur, an LVM command must be run + # just after a failure and before the automatic LVM repair process + # takes place, or there must be failures in multiple mirrors in the + # same VG at the same time with write failures occurring moments before + # a scan of the mirror's labels. The 'mirror' scanning problems do not + # apply to LVM RAID types like 'raid1' which handle failures in a + # different way, making them a better choice for VG stacking. + ignore_lvm_mirrors = 1 + + # Configuration option devices/require_restorefile_with_uuid. + # Allow use of pvcreate --uuid without requiring --restorefile. + require_restorefile_with_uuid = 1 + + # Configuration option devices/pv_min_size. + # Minimum size in KiB of block devices which can be used as PVs. + # In a clustered environment all nodes must use the same value. + # Any value smaller than 512KiB is ignored. The previous built-in + # value was 512. + pv_min_size = 2048 + + # Configuration option devices/issue_discards. + # Issue discards to PVs that are no longer used by an LV. + # Discards are sent to an LV's underlying physical volumes when the LV + # is no longer using the physical volumes' space, e.g. lvremove, + # lvreduce. Discards inform the storage that a region is no longer + # used. Storage that supports discards advertise the protocol-specific + # way discards should be issued by the kernel (TRIM, UNMAP, or + # WRITE SAME with UNMAP bit set). Not all storage will support or + # benefit from discards, but SSDs and thinly provisioned LUNs + # generally do. If enabled, discards will only be issued if both the + # storage and kernel provide support. + issue_discards = 0 + + # Configuration option devices/allow_changes_with_duplicate_pvs. + # Allow VG modification while a PV appears on multiple devices. + # When a PV appears on multiple devices, LVM attempts to choose the + # best device to use for the PV. If the devices represent the same + # underlying storage, the choice has minimal consequence. If the + # devices represent different underlying storage, the wrong choice + # can result in data loss if the VG is modified. Disabling this + # setting is the safest option because it prevents modifying a VG + # or activating LVs in it while a PV appears on multiple devices. + # Enabling this setting allows the VG to be used as usual even with + # uncertain devices. + allow_changes_with_duplicate_pvs = 0 +} + +# Configuration section allocation. +# How LVM selects space and applies properties to LVs. +allocation { + + # Configuration option allocation/cling_tag_list. + # Advise LVM which PVs to use when searching for new space. + # When searching for free space to extend an LV, the 'cling' allocation + # policy will choose space on the same PVs as the last segment of the + # existing LV. If there is insufficient space and a list of tags is + # defined here, it will check whether any of them are attached to the + # PVs concerned and then seek to match those PV tags between existing + # extents and new extents. + # + # Example + # Use the special tag "@*" as a wildcard to match any PV tag: + # cling_tag_list = [ "@*" ] + # LVs are mirrored between two sites within a single VG, and + # PVs are tagged with either @site1 or @site2 to indicate where + # they are situated: + # cling_tag_list = [ "@site1", "@site2" ] + # + # This configuration option does not have a default value defined. + + # Configuration option allocation/maximise_cling. + # Use a previous allocation algorithm. + # Changes made in version 2.02.85 extended the reach of the 'cling' + # policies to detect more situations where data can be grouped onto + # the same disks. This setting can be used to disable the changes + # and revert to the previous algorithm. + maximise_cling = 1 + + # Configuration option allocation/use_blkid_wiping. + # Use blkid to detect and erase existing signatures on new PVs and LVs. + # The blkid library can detect more signatures than the native LVM + # detection code, but may take longer. LVM needs to be compiled with + # blkid wiping support for this setting to apply. LVM native detection + # code is currently able to recognize: MD device signatures, + # swap signature, and LUKS signatures. To see the list of signatures + # recognized by blkid, check the output of the 'blkid -k' command. + use_blkid_wiping = 1 + + # Configuration option allocation/wipe_signatures_when_zeroing_new_lvs. + # Look for and erase any signatures while zeroing a new LV. + # The --wipesignatures option overrides this setting. + # Zeroing is controlled by the -Z/--zero option, and if not specified, + # zeroing is used by default if possible. Zeroing simply overwrites the + # first 4KiB of a new LV with zeroes and does no signature detection or + # wiping. Signature wiping goes beyond zeroing and detects exact types + # and positions of signatures within the whole LV. It provides a + # cleaner LV after creation as all known signatures are wiped. The LV + # is not claimed incorrectly by other tools because of old signatures + # from previous use. The number of signatures that LVM can detect + # depends on the detection code that is selected (see + # use_blkid_wiping.) Wiping each detected signature must be confirmed. + # When this setting is disabled, signatures on new LVs are not detected + # or erased unless the --wipesignatures option is used directly. + wipe_signatures_when_zeroing_new_lvs = 1 + + # Configuration option allocation/mirror_logs_require_separate_pvs. + # Mirror logs and images will always use different PVs. + # The default setting changed in version 2.02.85. + mirror_logs_require_separate_pvs = 0 + + # Configuration option allocation/raid_stripe_all_devices. + # Stripe across all PVs when RAID stripes are not specified. + # If enabled, all PVs in the VG or on the command line are used for + # raid0/4/5/6/10 when the command does not specify the number of + # stripes to use. + # This was the default behaviour until release 2.02.162. + # This configuration option has an automatic default value. + # raid_stripe_all_devices = 0 + + # Configuration option allocation/cache_pool_metadata_require_separate_pvs. + # Cache pool metadata and data will always use different PVs. + cache_pool_metadata_require_separate_pvs = 0 + + # Configuration option allocation/cache_metadata_format. + # Sets default metadata format for new cache. + # + # Accepted values: + # 0 Automatically detected best available format + # 1 Original format + # 2 Improved 2nd. generation format + # + # This configuration option has an automatic default value. + # cache_metadata_format = 0 + + # Configuration option allocation/cache_mode. + # The default cache mode used for new cache. + # + # Accepted values: + # writethrough + # Data blocks are immediately written from the cache to disk. + # writeback + # Data blocks are written from the cache back to disk after some + # delay to improve performance. + # + # This setting replaces allocation/cache_pool_cachemode. + # This configuration option has an automatic default value. + # cache_mode = "writethrough" + + # Configuration option allocation/cache_policy. + # The default cache policy used for new cache volume. + # Since kernel 4.2 the default policy is smq (Stochastic multiqueue), + # otherwise the older mq (Multiqueue) policy is selected. + # This configuration option does not have a default value defined. + + # Configuration section allocation/cache_settings. + # Settings for the cache policy. + # See documentation for individual cache policies for more info. + # This configuration section has an automatic default value. + # cache_settings { + # } + + # Configuration option allocation/cache_pool_chunk_size. + # The minimal chunk size in KiB for cache pool volumes. + # Using a chunk_size that is too large can result in wasteful use of + # the cache, where small reads and writes can cause large sections of + # an LV to be mapped into the cache. However, choosing a chunk_size + # that is too small can result in more overhead trying to manage the + # numerous chunks that become mapped into the cache. The former is + # more of a problem than the latter in most cases, so the default is + # on the smaller end of the spectrum. Supported values range from + # 32KiB to 1GiB in multiples of 32. + # This configuration option does not have a default value defined. + + # Configuration option allocation/cache_pool_max_chunks. + # The maximum number of chunks in a cache pool. + # For cache target v1.9 the recommended maximumm is 1000000 chunks. + # Using cache pool with more chunks may degrade cache performance. + # This configuration option does not have a default value defined. + + # Configuration option allocation/thin_pool_metadata_require_separate_pvs. + # Thin pool metdata and data will always use different PVs. + thin_pool_metadata_require_separate_pvs = 0 + + # Configuration option allocation/thin_pool_zero. + # Thin pool data chunks are zeroed before they are first used. + # Zeroing with a larger thin pool chunk size reduces performance. + # This configuration option has an automatic default value. + # thin_pool_zero = 1 + + # Configuration option allocation/thin_pool_discards. + # The discards behaviour of thin pool volumes. + # + # Accepted values: + # ignore + # nopassdown + # passdown + # + # This configuration option has an automatic default value. + # thin_pool_discards = "passdown" + + # Configuration option allocation/thin_pool_chunk_size_policy. + # The chunk size calculation policy for thin pool volumes. + # + # Accepted values: + # generic + # If thin_pool_chunk_size is defined, use it. Otherwise, calculate + # the chunk size based on estimation and device hints exposed in + # sysfs - the minimum_io_size. The chunk size is always at least + # 64KiB. + # performance + # If thin_pool_chunk_size is defined, use it. Otherwise, calculate + # the chunk size for performance based on device hints exposed in + # sysfs - the optimal_io_size. The chunk size is always at least + # 512KiB. + # + # This configuration option has an automatic default value. + # thin_pool_chunk_size_policy = "generic" + + # Configuration option allocation/thin_pool_chunk_size. + # The minimal chunk size in KiB for thin pool volumes. + # Larger chunk sizes may improve performance for plain thin volumes, + # however using them for snapshot volumes is less efficient, as it + # consumes more space and takes extra time for copying. When unset, + # lvm tries to estimate chunk size starting from 64KiB. Supported + # values are in the range 64KiB to 1GiB. + # This configuration option does not have a default value defined. + + # Configuration option allocation/physical_extent_size. + # Default physical extent size in KiB to use for new VGs. + # This configuration option has an automatic default value. + # physical_extent_size = 4096 + + # Configuration option allocation/vdo_use_compression. + # Enables or disables compression when creating a VDO volume. + # Compression may be disabled if necessary to maximize performance + # or to speed processing of data that is unlikely to compress. + # This configuration option has an automatic default value. + # vdo_use_compression = 1 + + # Configuration option allocation/vdo_use_deduplication. + # Enables or disables deduplication when creating a VDO volume. + # Deduplication may be disabled in instances where data is not expected + # to have good deduplication rates but compression is still desired. + # This configuration option has an automatic default value. + # vdo_use_deduplication = 1 + + # Configuration option allocation/vdo_emulate_512_sectors. + # Specifies that the VDO volume is to emulate a 512 byte block device. + # This configuration option has an automatic default value. + # vdo_emulate_512_sectors = 0 + + # Configuration option allocation/vdo_block_map_cache_size_mb. + # Specifies the amount of memory in MiB allocated for caching block map + # pages for VDO volume. The value must be a multiple of 4096 and must be + # at least 128MiB and less than 16TiB. The cache must be at least 16MiB + # per logical thread. Note that there is a memory overhead of 15%. + # This configuration option has an automatic default value. + # vdo_block_map_cache_size_mb = 128 + + # Configuration option allocation/vdo_block_map_period. + # Tunes the quantity of block map updates that can accumulate + # before cache pages are flushed to disk. The value must be + # at least 1 and less then 16380. + # A lower value means shorter recovery time but lower performance. + # This configuration option has an automatic default value. + # vdo_block_map_period = 16380 + + # Configuration option allocation/vdo_check_point_frequency. + # The default check point frequency for VDO volume. + # This configuration option has an automatic default value. + # vdo_check_point_frequency = 0 + + # Configuration option allocation/vdo_use_sparse_index. + # Enables sparse indexing for VDO volume. + # This configuration option has an automatic default value. + # vdo_use_sparse_index = 0 + + # Configuration option allocation/vdo_index_memory_size_mb. + # Specifies the amount of index memory in MiB for VDO volume. + # The value must be at least 256MiB and at most 1TiB. + # This configuration option has an automatic default value. + # vdo_index_memory_size_mb = 256 + + # Configuration option allocation/vdo_use_read_cache. + # Enables or disables the read cache within the VDO volume. + # The cache should be enabled if write workloads are expected + # to have high levels of deduplication, or for read intensive + # workloads of highly compressible data. + # This configuration option has an automatic default value. + # vdo_use_read_cache = 0 + + # Configuration option allocation/vdo_read_cache_size_mb. + # Specifies the extra VDO volume read cache size in MiB. + # This space is in addition to a system-defined minimum. + # The value must be less then 16TiB and 1.12 MiB of memory + # will be used per MiB of read cache specified, per bio thread. + # This configuration option has an automatic default value. + # vdo_read_cache_size_mb = 0 + + # Configuration option allocation/vdo_slab_size_mb. + # Specifies the size in MiB of the increment by which a VDO is grown. + # Using a smaller size constrains the total maximum physical size + # that can be accommodated. Must be a power of two between 128MiB and 32GiB. + # This configuration option has an automatic default value. + # vdo_slab_size_mb = 2048 + + # Configuration option allocation/vdo_ack_threads. + # Specifies the number of threads to use for acknowledging + # completion of requested VDO I/O operations. + # The value must be at in range [0..100]. + # This configuration option has an automatic default value. + # vdo_ack_threads = 1 + + # Configuration option allocation/vdo_bio_threads. + # Specifies the number of threads to use for submitting I/O + # operations to the storage device of VDO volume. + # The value must be in range [1..100] + # Each additional thread after the first will use an additional 18MiB of RAM, + # plus 1.12 MiB of RAM per megabyte of configured read cache size. + # This configuration option has an automatic default value. + # vdo_bio_threads = 1 + + # Configuration option allocation/vdo_bio_rotation. + # Specifies the number of I/O operations to enqueue for each bio-submission + # thread before directing work to the next. The value must be in range [1..1024]. + # This configuration option has an automatic default value. + # vdo_bio_rotation = 64 + + # Configuration option allocation/vdo_cpu_threads. + # Specifies the number of threads to use for CPU-intensive work such as + # hashing or compression for VDO volume. The value must be in range [1..100] + # This configuration option has an automatic default value. + # vdo_cpu_threads = 2 + + # Configuration option allocation/vdo_hash_zone_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on the hash value computed from the block data. + # The value must be at in range [0..100]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_hash_zone_threads = 1 + + # Configuration option allocation/vdo_logical_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on the hash value computed from the block data. + # A logical thread count of 9 or more will require explicitly specifying + # a sufficiently large block map cache size, as well. + # The value must be in range [0..100]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_logical_threads = 1 + + # Configuration option allocation/vdo_physical_threads. + # Specifies the number of threads across which to subdivide parts of the VDO + # processing based on physical block addresses. + # Each additional thread after the first will use an additional 10MiB of RAM. + # The value must be in range [0..16]. + # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be + # either all zero or all non-zero. + # This configuration option has an automatic default value. + # vdo_physical_threads = 1 + + # Configuration option allocation/vdo_write_policy. + # Specifies the write policy: + # auto - VDO will check the storage device and determine whether it supports flushes. + # If it does, VDO will run in async mode, otherwise it will run in sync mode. + # sync - Writes are acknowledged only after data is stably written. + # This policy is not supported if the underlying storage is not also synchronous. + # async - Writes are acknowledged after data has been cached for writing to stable storage. + # Data which has not been flushed is not guaranteed to persist in this mode. + # This configuration option has an automatic default value. + # vdo_write_policy = "auto" +} + +# Configuration section log. +# How LVM log information is reported. +log { + + # Configuration option log/report_command_log. + # Enable or disable LVM log reporting. + # If enabled, LVM will collect a log of operations, messages, + # per-object return codes with object identification and associated + # error numbers (errnos) during LVM command processing. Then the + # log is either reported solely or in addition to any existing + # reports, depending on LVM command used. If it is a reporting command + # (e.g. pvs, vgs, lvs, lvm fullreport), then the log is reported in + # addition to any existing reports. Otherwise, there's only log report + # on output. For all applicable LVM commands, you can request that + # the output has only log report by using --logonly command line + # option. Use log/command_log_cols and log/command_log_sort settings + # to define fields to display and sort fields for the log report. + # You can also use log/command_log_selection to define selection + # criteria used each time the log is reported. + # This configuration option has an automatic default value. + # report_command_log = 0 + + # Configuration option log/command_log_sort. + # List of columns to sort by when reporting command log. + # See --logonly --configreport log -o help + # for the list of possible fields. + # This configuration option has an automatic default value. + # command_log_sort = "log_seq_num" + + # Configuration option log/command_log_cols. + # List of columns to report when reporting command log. + # See --logonly --configreport log -o help + # for the list of possible fields. + # This configuration option has an automatic default value. + # command_log_cols = "log_seq_num,log_type,log_context,log_object_type,log_object_name,log_object_id,log_object_group,log_object_group_id,log_message,log_errno,log_ret_code" + + # Configuration option log/command_log_selection. + # Selection criteria used when reporting command log. + # You can define selection criteria that are applied each + # time log is reported. This way, it is possible to control the + # amount of log that is displayed on output and you can select + # only parts of the log that are important for you. To define + # selection criteria, use fields from log report. See also + # --logonly --configreport log -S help for the + # list of possible fields and selection operators. You can also + # define selection criteria for log report on command line directly + # using --configreport log -S + # which has precedence over log/command_log_selection setting. + # For more information about selection criteria in general, see + # lvm(8) man page. + # This configuration option has an automatic default value. + # command_log_selection = "!(log_type=status && message=success)" + + # Configuration option log/verbose. + # Controls the messages sent to stdout or stderr. + verbose = 0 + + # Configuration option log/silent. + # Suppress all non-essential messages from stdout. + # This has the same effect as -qq. When enabled, the following commands + # still produce output: dumpconfig, lvdisplay, lvmdiskscan, lvs, pvck, + # pvdisplay, pvs, version, vgcfgrestore -l, vgdisplay, vgs. + # Non-essential messages are shifted from log level 4 to log level 5 + # for syslog and lvm2_log_fn purposes. + # Any 'yes' or 'no' questions not overridden by other arguments are + # suppressed and default to 'no'. + silent = 0 + + # Configuration option log/syslog. + # Send log messages through syslog. + syslog = 1 + + # Configuration option log/file. + # Write error and debug log messages to a file specified here. + # This configuration option does not have a default value defined. + + # Configuration option log/overwrite. + # Overwrite the log file each time the program is run. + overwrite = 0 + + # Configuration option log/level. + # The level of log messages that are sent to the log file or syslog. + # There are 6 syslog-like log levels currently in use: 2 to 7 inclusive. + # 7 is the most verbose (LOG_DEBUG). + level = 0 + + # Configuration option log/indent. + # Indent messages according to their severity. + indent = 1 + + # Configuration option log/command_names. + # Display the command name on each line of output. + command_names = 0 + + # Configuration option log/prefix. + # A prefix to use before the log message text. + # (After the command name, if selected). + # Two spaces allows you to see/grep the severity of each message. + # To make the messages look similar to the original LVM tools use: + # indent = 0, command_names = 1, prefix = " -- " + prefix = " " + + # Configuration option log/activation. + # Log messages during activation. + # Don't use this in low memory situations (can deadlock). + activation = 0 + + # Configuration option log/debug_classes. + # Select log messages by class. + # Some debugging messages are assigned to a class and only appear in + # debug output if the class is listed here. Classes currently + # available: memory, devices, io, activation, allocation, + # metadata, cache, locking, lvmpolld. Use "all" to see everything. + debug_classes = [ "memory", "devices", "io", "activation", "allocation", "metadata", "cache", "locking", "lvmpolld", "dbus" ] +} + +# Configuration section backup. +# How LVM metadata is backed up and archived. +# In LVM, a 'backup' is a copy of the metadata for the current system, +# and an 'archive' contains old metadata configurations. They are +# stored in a human readable text format. +backup { + + # Configuration option backup/backup. + # Maintain a backup of the current metadata configuration. + # Think very hard before turning this off! + backup = 1 + + # Configuration option backup/backup_dir. + # Location of the metadata backup files. + # Remember to back up this directory regularly! + backup_dir = "/etc/lvm/backup" + + # Configuration option backup/archive. + # Maintain an archive of old metadata configurations. + # Think very hard before turning this off. + archive = 1 + + # Configuration option backup/archive_dir. + # Location of the metdata archive files. + # Remember to back up this directory regularly! + archive_dir = "/etc/lvm/archive" + + # Configuration option backup/retain_min. + # Minimum number of archives to keep. + retain_min = 10 + + # Configuration option backup/retain_days. + # Minimum number of days to keep archive files. + retain_days = 30 +} + +# Configuration section shell. +# Settings for running LVM in shell (readline) mode. +shell { + + # Configuration option shell/history_size. + # Number of lines of history to store in ~/.lvm_history. + history_size = 100 +} + +# Configuration section global. +# Miscellaneous global LVM settings. +global { + + # Configuration option global/umask. + # The file creation mask for any files and directories created. + # Interpreted as octal if the first digit is zero. + umask = 077 + + # Configuration option global/test. + # No on-disk metadata changes will be made in test mode. + # Equivalent to having the -t option on every command. + test = 0 + + # Configuration option global/units. + # Default value for --units argument. + units = "r" + + # Configuration option global/si_unit_consistency. + # Distinguish between powers of 1024 and 1000 bytes. + # The LVM commands distinguish between powers of 1024 bytes, + # e.g. KiB, MiB, GiB, and powers of 1000 bytes, e.g. KB, MB, GB. + # If scripts depend on the old behaviour, disable this setting + # temporarily until they are updated. + si_unit_consistency = 1 + + # Configuration option global/suffix. + # Display unit suffix for sizes. + # This setting has no effect if the units are in human-readable form + # (global/units = "h") in which case the suffix is always displayed. + suffix = 1 + + # Configuration option global/activation. + # Enable/disable communication with the kernel device-mapper. + # Disable to use the tools to manipulate LVM metadata without + # activating any logical volumes. If the device-mapper driver + # is not present in the kernel, disabling this should suppress + # the error messages. + activation = 1 + + # Configuration option global/segment_libraries. + # This configuration option does not have a default value defined. + + # Configuration option global/proc. + # Location of proc filesystem. + # This configuration option is advanced. + proc = "/proc" + + # Configuration option global/etc. + # Location of /etc system configuration directory. + etc = "/etc" + + # Configuration option global/wait_for_locks. + # When disabled, fail if a lock request would block. + wait_for_locks = 1 + + # Configuration option global/locking_dir. + # Directory to use for LVM command file locks. + # Local non-LV directory that holds file-based locks while commands are + # in progress. A directory like /tmp that may get wiped on reboot is OK. + locking_dir = "/run/lock/lvm" + + # Configuration option global/prioritise_write_locks. + # Allow quicker VG write access during high volume read access. + # When there are competing read-only and read-write access requests for + # a volume group's metadata, instead of always granting the read-only + # requests immediately, delay them to allow the read-write requests to + # be serviced. Without this setting, write access may be stalled by a + # high volume of read-only requests. This option only affects + # locking_type 1 viz. local file-based locking. + prioritise_write_locks = 1 + + # Configuration option global/library_dir. + # Search this directory first for shared libraries. + # This configuration option does not have a default value defined. + + # Configuration option global/abort_on_internal_errors. + # Abort a command that encounters an internal error. + # Treat any internal errors as fatal errors, aborting the process that + # encountered the internal error. Please only enable for debugging. + abort_on_internal_errors = 0 + + # Configuration option global/metadata_read_only. + # No operations that change on-disk metadata are permitted. + # Additionally, read-only commands that encounter metadata in need of + # repair will still be allowed to proceed exactly as if the repair had + # been performed (except for the unchanged vg_seqno). Inappropriate + # use could mess up your system, so seek advice first! + metadata_read_only = 0 + + # Configuration option global/mirror_segtype_default. + # The segment type used by the short mirroring option -m. + # The --type mirror|raid1 option overrides this setting. + # + # Accepted values: + # mirror + # The original RAID1 implementation from LVM/DM. It is + # characterized by a flexible log solution (core, disk, mirrored), + # and by the necessity to block I/O while handling a failure. + # There is an inherent race in the dmeventd failure handling logic + # with snapshots of devices using this type of RAID1 that in the + # worst case could cause a deadlock. (Also see + # devices/ignore_lvm_mirrors.) + # raid1 + # This is a newer RAID1 implementation using the MD RAID1 + # personality through device-mapper. It is characterized by a + # lack of log options. (A log is always allocated for every + # device and they are placed on the same device as the image, + # so no separate devices are required.) This mirror + # implementation does not require I/O to be blocked while + # handling a failure. This mirror implementation is not + # cluster-aware and cannot be used in a shared (active/active) + # fashion in a cluster. + # + mirror_segtype_default = "raid1" + + # Configuration option global/raid10_segtype_default. + # The segment type used by the -i -m combination. + # The --type raid10|mirror option overrides this setting. + # The --stripes/-i and --mirrors/-m options can both be specified + # during the creation of a logical volume to use both striping and + # mirroring for the LV. There are two different implementations. + # + # Accepted values: + # raid10 + # LVM uses MD's RAID10 personality through DM. This is the + # preferred option. + # mirror + # LVM layers the 'mirror' and 'stripe' segment types. The layering + # is done by creating a mirror LV on top of striped sub-LVs, + # effectively creating a RAID 0+1 array. The layering is suboptimal + # in terms of providing redundancy and performance. + # + raid10_segtype_default = "raid10" + + # Configuration option global/sparse_segtype_default. + # The segment type used by the -V -L combination. + # The --type snapshot|thin option overrides this setting. + # The combination of -V and -L options creates a sparse LV. There are + # two different implementations. + # + # Accepted values: + # snapshot + # The original snapshot implementation from LVM/DM. It uses an old + # snapshot that mixes data and metadata within a single COW + # storage volume and performs poorly when the size of stored data + # passes hundreds of MB. + # thin + # A newer implementation that uses thin provisioning. It has a + # bigger minimal chunk size (64KiB) and uses a separate volume for + # metadata. It has better performance, especially when more data + # is used. It also supports full snapshots. + # + sparse_segtype_default = "thin" + + # Configuration option global/lvdisplay_shows_full_device_path. + # Enable this to reinstate the previous lvdisplay name format. + # The default format for displaying LV names in lvdisplay was changed + # in version 2.02.89 to show the LV name and path separately. + # Previously this was always shown as /dev/vgname/lvname even when that + # was never a valid path in the /dev filesystem. + # This configuration option has an automatic default value. + # lvdisplay_shows_full_device_path = 0 + + # Configuration option global/event_activation. + # Activate LVs based on system-generated device events. + # When a device appears on the system, a system-generated event runs + # the pvscan command to activate LVs if the new PV completes the VG. + # Use auto_activation_volume_list to select which LVs should be + # activated from these events (the default is all.) + # When event_activation is disabled, the system will generally run + # a direct activation command to activate LVs in complete VGs. + event_activation = 1 + + # Configuration option global/use_aio. + # Use async I/O when reading and writing devices. + # This configuration option has an automatic default value. + # use_aio = 1 + + # Configuration option global/use_lvmlockd. + # Use lvmlockd for locking among hosts using LVM on shared storage. + # Applicable only if LVM is compiled with lockd support in which + # case there is also lvmlockd(8) man page available for more + # information. + use_lvmlockd = 0 + + # Configuration option global/lvmlockd_lock_retries. + # Retry lvmlockd lock requests this many times. + # Applicable only if LVM is compiled with lockd support + # This configuration option has an automatic default value. + # lvmlockd_lock_retries = 3 + + # Configuration option global/sanlock_lv_extend. + # Size in MiB to extend the internal LV holding sanlock locks. + # The internal LV holds locks for each LV in the VG, and after enough + # LVs have been created, the internal LV needs to be extended. lvcreate + # will automatically extend the internal LV when needed by the amount + # specified here. Setting this to 0 disables the automatic extension + # and can cause lvcreate to fail. Applicable only if LVM is compiled + # with lockd support + # This configuration option has an automatic default value. + # sanlock_lv_extend = 256 + + # Configuration option global/thin_check_executable. + # The full path to the thin_check command. + # LVM uses this command to check that a thin metadata device is in a + # usable state. When a thin pool is activated and after it is + # deactivated, this command is run. Activation will only proceed if + # the command has an exit status of 0. Set to "" to skip this check. + # (Not recommended.) Also see thin_check_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_check_executable = "/usr/sbin/thin_check" + + # Configuration option global/thin_dump_executable. + # The full path to the thin_dump command. + # LVM uses this command to dump thin pool metadata. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_dump_executable = "/usr/sbin/thin_dump" + + # Configuration option global/thin_repair_executable. + # The full path to the thin_repair command. + # LVM uses this command to repair a thin metadata device if it is in + # an unusable state. Also see thin_repair_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # thin_repair_executable = "/usr/sbin/thin_repair" + + # Configuration option global/thin_check_options. + # List of options passed to the thin_check command. + # With thin_check version 2.1 or newer you can add the option + # --ignore-non-fatal-errors to let it pass through ignorable errors + # and fix them later. With thin_check version 3.2 or newer you should + # include the option --clear-needs-check-flag. + # This configuration option has an automatic default value. + # thin_check_options = [ "-q", "--clear-needs-check-flag" ] + + # Configuration option global/thin_repair_options. + # List of options passed to the thin_repair command. + # This configuration option has an automatic default value. + # thin_repair_options = [ "" ] + + # Configuration option global/thin_disabled_features. + # Features to not use in the thin driver. + # This can be helpful for testing, or to avoid using a feature that is + # causing problems. Features include: block_size, discards, + # discards_non_power_2, external_origin, metadata_resize, + # external_origin_extend, error_if_no_space. + # + # Example + # thin_disabled_features = [ "discards", "block_size" ] + # + # This configuration option does not have a default value defined. + + # Configuration option global/cache_disabled_features. + # Features to not use in the cache driver. + # This can be helpful for testing, or to avoid using a feature that is + # causing problems. Features include: policy_mq, policy_smq, metadata2. + # + # Example + # cache_disabled_features = [ "policy_smq" ] + # + # This configuration option does not have a default value defined. + + # Configuration option global/cache_check_executable. + # The full path to the cache_check command. + # LVM uses this command to check that a cache metadata device is in a + # usable state. When a cached LV is activated and after it is + # deactivated, this command is run. Activation will only proceed if the + # command has an exit status of 0. Set to "" to skip this check. + # (Not recommended.) Also see cache_check_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_check_executable = "/usr/sbin/cache_check" + + # Configuration option global/cache_dump_executable. + # The full path to the cache_dump command. + # LVM uses this command to dump cache pool metadata. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_dump_executable = "/usr/sbin/cache_dump" + + # Configuration option global/cache_repair_executable. + # The full path to the cache_repair command. + # LVM uses this command to repair a cache metadata device if it is in + # an unusable state. Also see cache_repair_options. + # (See package device-mapper-persistent-data or thin-provisioning-tools) + # This configuration option has an automatic default value. + # cache_repair_executable = "/usr/sbin/cache_repair" + + # Configuration option global/cache_check_options. + # List of options passed to the cache_check command. + # With cache_check version 5.0 or newer you should include the option + # --clear-needs-check-flag. + # This configuration option has an automatic default value. + # cache_check_options = [ "-q", "--clear-needs-check-flag" ] + + # Configuration option global/cache_repair_options. + # List of options passed to the cache_repair command. + # This configuration option has an automatic default value. + # cache_repair_options = [ "" ] + + # Configuration option global/vdo_format_executable. + # The full path to the vdoformat command. + # LVM uses this command to initial data volume for VDO type logical volume + # This configuration option has an automatic default value. + # vdo_format_executable = "autodetect" + + # Configuration option global/vdo_format_options. + # List of options passed added to standard vdoformat command. + # This configuration option has an automatic default value. + # vdo_format_options = [ "" ] + + # Configuration option global/fsadm_executable. + # The full path to the fsadm command. + # LVM uses this command to help with lvresize -r operations. + # This configuration option has an automatic default value. + # fsadm_executable = "/sbin/fsadm" + + # Configuration option global/system_id_source. + # The method LVM uses to set the local system ID. + # Volume Groups can also be given a system ID (by vgcreate, vgchange, + # or vgimport.) A VG on shared storage devices is accessible only to + # the host with a matching system ID. See 'man lvmsystemid' for + # information on limitations and correct usage. + # + # Accepted values: + # none + # The host has no system ID. + # lvmlocal + # Obtain the system ID from the system_id setting in the 'local' + # section of an lvm configuration file, e.g. lvmlocal.conf. + # uname + # Set the system ID from the hostname (uname) of the system. + # System IDs beginning localhost are not permitted. + # machineid + # Use the contents of the machine-id file to set the system ID. + # Some systems create this file at installation time. + # See 'man machine-id' and global/etc. + # file + # Use the contents of another file (system_id_file) to set the + # system ID. + # + system_id_source = "none" + + # Configuration option global/system_id_file. + # The full path to the file containing a system ID. + # This is used when system_id_source is set to 'file'. + # Comments starting with the character # are ignored. + # This configuration option does not have a default value defined. + + # Configuration option global/use_lvmpolld. + # Use lvmpolld to supervise long running LVM commands. + # When enabled, control of long running LVM commands is transferred + # from the original LVM command to the lvmpolld daemon. This allows + # the operation to continue independent of the original LVM command. + # After lvmpolld takes over, the LVM command displays the progress + # of the ongoing operation. lvmpolld itself runs LVM commands to + # manage the progress of ongoing operations. lvmpolld can be used as + # a native systemd service, which allows it to be started on demand, + # and to use its own control group. When this option is disabled, LVM + # commands will supervise long running operations by forking themselves. + # Applicable only if LVM is compiled with lvmpolld support. + use_lvmpolld = 1 + + # Configuration option global/notify_dbus. + # Enable D-Bus notification from LVM commands. + # When enabled, an LVM command that changes PVs, changes VG metadata, + # or changes the activation state of an LV will send a notification. + notify_dbus = 1 +} + +# Configuration section activation. +activation { + + # Configuration option activation/checks. + # Perform internal checks of libdevmapper operations. + # Useful for debugging problems with activation. Some of the checks may + # be expensive, so it's best to use this only when there seems to be a + # problem. + checks = 0 + + # Configuration option activation/udev_sync. + # Use udev notifications to synchronize udev and LVM. + # The --nodevsync option overrides this setting. + # When disabled, LVM commands will not wait for notifications from + # udev, but continue irrespective of any possible udev processing in + # the background. Only use this if udev is not running or has rules + # that ignore the devices LVM creates. If enabled when udev is not + # running, and LVM processes are waiting for udev, run the command + # 'dmsetup udevcomplete_all' to wake them up. + udev_sync = 0 + + # Configuration option activation/udev_rules. + # Use udev rules to manage LV device nodes and symlinks. + # When disabled, LVM will manage the device nodes and symlinks for + # active LVs itself. Manual intervention may be required if this + # setting is changed while LVs are active. + udev_rules = 0 + + # Configuration option activation/verify_udev_operations. + # Use extra checks in LVM to verify udev operations. + # This enables additional checks (and if necessary, repairs) on entries + # in the device directory after udev has completed processing its + # events. Useful for diagnosing problems with LVM/udev interactions. + verify_udev_operations = 0 + + # Configuration option activation/retry_deactivation. + # Retry failed LV deactivation. + # If LV deactivation fails, LVM will retry for a few seconds before + # failing. This may happen because a process run from a quick udev rule + # temporarily opened the device. + retry_deactivation = 1 + + # Configuration option activation/missing_stripe_filler. + # Method to fill missing stripes when activating an incomplete LV. + # Using 'error' will make inaccessible parts of the device return I/O + # errors on access. Using 'zero' will return success (and zero) on I/O + # You can instead use a device path, in which case, + # that device will be used in place of missing stripes. Using anything + # other than 'error' with mirrored or snapshotted volumes is likely to + # result in data corruption. + # This configuration option is advanced. + missing_stripe_filler = "error" + + # Configuration option activation/use_linear_target. + # Use the linear target to optimize single stripe LVs. + # When disabled, the striped target is used. The linear target is an + # optimised version of the striped target that only handles a single + # stripe. + use_linear_target = 1 + + # Configuration option activation/reserved_stack. + # Stack size in KiB to reserve for use while devices are suspended. + # Insufficent reserve risks I/O deadlock during device suspension. + reserved_stack = 64 + + # Configuration option activation/reserved_memory. + # Memory size in KiB to reserve for use while devices are suspended. + # Insufficent reserve risks I/O deadlock during device suspension. + reserved_memory = 8192 + + # Configuration option activation/process_priority. + # Nice value used while devices are suspended. + # Use a high priority so that LVs are suspended + # for the shortest possible time. + process_priority = -18 + + # Configuration option activation/volume_list. + # Only LVs selected by this list are activated. + # If this list is defined, an LV is only activated if it matches an + # entry in this list. If this list is undefined, it imposes no limits + # on LV activation (all are allowed). + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/auto_activation_volume_list. + # Only LVs selected by this list are auto-activated. + # This list works like volume_list, but it is used only by + # auto-activation commands. It does not apply to direct activation + # commands. If this list is defined, an LV is only auto-activated + # if it matches an entry in this list. If this list is undefined, it + # imposes no limits on LV auto-activation (all are allowed.) If this + # list is defined and empty, i.e. "[]", then no LVs are selected for + # auto-activation. An LV that is selected by this list for + # auto-activation, must also be selected by volume_list (if defined) + # before it is activated. Auto-activation is an activation command that + # includes the 'a' argument: --activate ay or -a ay. The 'a' (auto) + # argument for auto-activation is meant to be used by activation + # commands that are run automatically by the system, as opposed to LVM + # commands run directly by a user. A user may also use the 'a' flag + # directly to perform auto-activation. Also see pvscan(8) for more + # information about auto-activation. + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # auto_activation_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/read_only_volume_list. + # LVs in this list are activated in read-only mode. + # If this list is defined, each LV that is to be activated is checked + # against this list, and if it matches, it is activated in read-only + # mode. This overrides the permission setting stored in the metadata, + # e.g. from --permission rw. + # + # Accepted values: + # vgname + # The VG name is matched exactly and selects all LVs in the VG. + # vgname/lvname + # The VG name and LV name are matched exactly and selects the LV. + # @tag + # Selects an LV if the specified tag matches a tag set on the LV + # or VG. + # @* + # Selects an LV if a tag defined on the host is also set on the LV + # or VG. See tags/hosttags. If any host tags exist but volume_list + # is not defined, a default single-entry list containing '@*' + # is assumed. + # + # Example + # read_only_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # + # This configuration option does not have a default value defined. + + # Configuration option activation/raid_region_size. + # Size in KiB of each raid or mirror synchronization region. + # The clean/dirty state of data is tracked for each region. + # The value is rounded down to a power of two if necessary, and + # is ignored if it is not a multiple of the machine memory page size. + raid_region_size = 2048 + + # Configuration option activation/error_when_full. + # Return errors if a thin pool runs out of space. + # The --errorwhenfull option overrides this setting. + # When enabled, writes to thin LVs immediately return an error if the + # thin pool is out of data space. When disabled, writes to thin LVs + # are queued if the thin pool is out of space, and processed when the + # thin pool data space is extended. New thin pools are assigned the + # behavior defined here. + # This configuration option has an automatic default value. + # error_when_full = 0 + + # Configuration option activation/readahead. + # Setting to use when there is no readahead setting in metadata. + # + # Accepted values: + # none + # Disable readahead. + # auto + # Use default value chosen by kernel. + # + readahead = "auto" + + # Configuration option activation/raid_fault_policy. + # Defines how a device failure in a RAID LV is handled. + # This includes LVs that have the following segment types: + # raid1, raid4, raid5*, and raid6*. + # If a device in the LV fails, the policy determines the steps + # performed by dmeventd automatically, and the steps perfomed by the + # manual command lvconvert --repair --use-policies. + # Automatic handling requires dmeventd to be monitoring the LV. + # + # Accepted values: + # warn + # Use the system log to warn the user that a device in the RAID LV + # has failed. It is left to the user to run lvconvert --repair + # manually to remove or replace the failed device. As long as the + # number of failed devices does not exceed the redundancy of the LV + # (1 device for raid4/5, 2 for raid6), the LV will remain usable. + # allocate + # Attempt to use any extra physical volumes in the VG as spares and + # replace faulty devices. + # + raid_fault_policy = "warn" + + # Configuration option activation/mirror_image_fault_policy. + # Defines how a device failure in a 'mirror' LV is handled. + # An LV with the 'mirror' segment type is composed of mirror images + # (copies) and a mirror log. A disk log ensures that a mirror LV does + # not need to be re-synced (all copies made the same) every time a + # machine reboots or crashes. If a device in the LV fails, this policy + # determines the steps perfomed by dmeventd automatically, and the steps + # performed by the manual command lvconvert --repair --use-policies. + # Automatic handling requires dmeventd to be monitoring the LV. + # + # Accepted values: + # remove + # Simply remove the faulty device and run without it. If the log + # device fails, the mirror would convert to using an in-memory log. + # This means the mirror will not remember its sync status across + # crashes/reboots and the entire mirror will be re-synced. If a + # mirror image fails, the mirror will convert to a non-mirrored + # device if there is only one remaining good copy. + # allocate + # Remove the faulty device and try to allocate space on a new + # device to be a replacement for the failed device. Using this + # policy for the log is fast and maintains the ability to remember + # sync state through crashes/reboots. Using this policy for a + # mirror device is slow, as it requires the mirror to resynchronize + # the devices, but it will preserve the mirror characteristic of + # the device. This policy acts like 'remove' if no suitable device + # and space can be allocated for the replacement. + # allocate_anywhere + # Not yet implemented. Useful to place the log device temporarily + # on the same physical volume as one of the mirror images. This + # policy is not recommended for mirror devices since it would break + # the redundant nature of the mirror. This policy acts like + # 'remove' if no suitable device and space can be allocated for the + # replacement. + # + mirror_image_fault_policy = "remove" + + # Configuration option activation/mirror_log_fault_policy. + # Defines how a device failure in a 'mirror' log LV is handled. + # The mirror_image_fault_policy description for mirrored LVs also + # applies to mirrored log LVs. + mirror_log_fault_policy = "allocate" + + # Configuration option activation/snapshot_autoextend_threshold. + # Auto-extend a snapshot when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see snapshot_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # snapshot exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # snapshot_autoextend_threshold = 70 + # + snapshot_autoextend_threshold = 100 + + # Configuration option activation/snapshot_autoextend_percent. + # Auto-extending a snapshot adds this percent extra space. + # The amount of additional space added to a snapshot is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # snapshot exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # snapshot_autoextend_percent = 20 + # + snapshot_autoextend_percent = 20 + + # Configuration option activation/thin_pool_autoextend_threshold. + # Auto-extend a thin pool when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see thin_pool_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # thin pool exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # thin_pool_autoextend_threshold = 70 + # + thin_pool_autoextend_threshold = 100 + + # Configuration option activation/thin_pool_autoextend_percent. + # Auto-extending a thin pool adds this percent extra space. + # The amount of additional space added to a thin pool is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 1G + # thin pool exceeds 700M, it is extended to 1.2G, and when it exceeds + # 840M, it is extended to 1.44G: + # thin_pool_autoextend_percent = 20 + # + thin_pool_autoextend_percent = 20 + + # Configuration option activation/vdo_pool_autoextend_threshold. + # Auto-extend a VDO pool when its usage exceeds this percent. + # Setting this to 100 disables automatic extension. + # The minimum value is 50 (a smaller value is treated as 50.) + # Also see vdo_pool_autoextend_percent. + # Automatic extension requires dmeventd to be monitoring the LV. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 10G + # VDO pool exceeds 7G, it is extended to 12G, and when it exceeds + # 8.4G, it is extended to 14.4G: + # vdo_pool_autoextend_threshold = 70 + # + vdo_pool_autoextend_threshold = 100 + + # Configuration option activation/vdo_pool_autoextend_percent. + # Auto-extending a VDO pool adds this percent extra space. + # The amount of additional space added to a VDO pool is this + # percent of its current size. + # + # Example + # Using 70% autoextend threshold and 20% autoextend size, when a 10G + # VDO pool exceeds 7G, it is extended to 12G, and when it exceeds + # 8.4G, it is extended to 14.4G: + # This configuration option has an automatic default value. + # vdo_pool_autoextend_percent = 20 + + # Configuration option activation/mlock_filter. + # Do not mlock these memory areas. + # While activating devices, I/O to devices being (re)configured is + # suspended. As a precaution against deadlocks, LVM pins memory it is + # using so it is not paged out, and will not require I/O to reread. + # Groups of pages that are known not to be accessed during activation + # do not need to be pinned into memory. Each string listed in this + # setting is compared against each line in /proc/self/maps, and the + # pages corresponding to lines that match are not pinned. On some + # systems, locale-archive was found to make up over 80% of the memory + # used by the process. + # + # Example + # mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ] + # + # This configuration option is advanced. + # This configuration option does not have a default value defined. + + # Configuration option activation/use_mlockall. + # Use the old behavior of mlockall to pin all memory. + # Prior to version 2.02.62, LVM used mlockall() to pin the whole + # process's memory while activating devices. + use_mlockall = 0 + + # Configuration option activation/monitoring. + # Monitor LVs that are activated. + # The --ignoremonitoring option overrides this setting. + # When enabled, LVM will ask dmeventd to monitor activated LVs. + monitoring = 1 + + # Configuration option activation/polling_interval. + # Check pvmove or lvconvert progress at this interval (seconds). + # When pvmove or lvconvert must wait for the kernel to finish + # synchronising or merging data, they check and report progress at + # intervals of this number of seconds. If this is set to 0 and there + # is only one thing to wait for, there are no progress reports, but + # the process is awoken immediately once the operation is complete. + polling_interval = 15 + + # Configuration option activation/auto_set_activation_skip. + # Set the activation skip flag on new thin snapshot LVs. + # The --setactivationskip option overrides this setting. + # An LV can have a persistent 'activation skip' flag. The flag causes + # the LV to be skipped during normal activation. The lvchange/vgchange + # -K option is required to activate LVs that have the activation skip + # flag set. When this setting is enabled, the activation skip flag is + # set on new thin snapshot LVs. + # This configuration option has an automatic default value. + # auto_set_activation_skip = 1 + + # Configuration option activation/activation_mode. + # How LVs with missing devices are activated. + # The --activationmode option overrides this setting. + # + # Accepted values: + # complete + # Only allow activation of an LV if all of the Physical Volumes it + # uses are present. Other PVs in the Volume Group may be missing. + # degraded + # Like complete, but additionally RAID LVs of segment type raid1, + # raid4, raid5, radid6 and raid10 will be activated if there is no + # data loss, i.e. they have sufficient redundancy to present the + # entire addressable range of the Logical Volume. + # partial + # Allows the activation of any LV even if a missing or failed PV + # could cause data loss with a portion of the LV inaccessible. + # This setting should not normally be used, but may sometimes + # assist with data recovery. + # + activation_mode = "degraded" + + # Configuration option activation/lock_start_list. + # Locking is started only for VGs selected by this list. + # The rules are the same as those for volume_list. + # This configuration option does not have a default value defined. + + # Configuration option activation/auto_lock_start_list. + # Locking is auto-started only for VGs selected by this list. + # The rules are the same as those for auto_activation_volume_list. + # This configuration option does not have a default value defined. +} + +# Configuration section metadata. +# This configuration section has an automatic default value. +# metadata { + + # Configuration option metadata/check_pv_device_sizes. + # Check device sizes are not smaller than corresponding PV sizes. + # If device size is less than corresponding PV size found in metadata, + # there is always a risk of data loss. If this option is set, then LVM + # issues a warning message each time it finds that the device size is + # less than corresponding PV size. You should not disable this unless + # you are absolutely sure about what you are doing! + # This configuration option is advanced. + # This configuration option has an automatic default value. + # check_pv_device_sizes = 1 + + # Configuration option metadata/record_lvs_history. + # When enabled, LVM keeps history records about removed LVs in + # metadata. The information that is recorded in metadata for + # historical LVs is reduced when compared to original + # information kept in metadata for live LVs. Currently, this + # feature is supported for thin and thin snapshot LVs only. + # This configuration option has an automatic default value. + # record_lvs_history = 0 + + # Configuration option metadata/lvs_history_retention_time. + # Retention time in seconds after which a record about individual + # historical logical volume is automatically destroyed. + # A value of 0 disables this feature. + # This configuration option has an automatic default value. + # lvs_history_retention_time = 0 + + # Configuration option metadata/pvmetadatacopies. + # Number of copies of metadata to store on each PV. + # The --pvmetadatacopies option overrides this setting. + # + # Accepted values: + # 2 + # Two copies of the VG metadata are stored on the PV, one at the + # front of the PV, and one at the end. + # 1 + # One copy of VG metadata is stored at the front of the PV. + # 0 + # No copies of VG metadata are stored on the PV. This may be + # useful for VGs containing large numbers of PVs. + # + # This configuration option is advanced. + # This configuration option has an automatic default value. + # pvmetadatacopies = 1 + + # Configuration option metadata/vgmetadatacopies. + # Number of copies of metadata to maintain for each VG. + # The --vgmetadatacopies option overrides this setting. + # If set to a non-zero value, LVM automatically chooses which of the + # available metadata areas to use to achieve the requested number of + # copies of the VG metadata. If you set a value larger than the the + # total number of metadata areas available, then metadata is stored in + # them all. The value 0 (unmanaged) disables this automatic management + # and allows you to control which metadata areas are used at the + # individual PV level using pvchange --metadataignore y|n. + # This configuration option has an automatic default value. + # vgmetadatacopies = 0 + + # Configuration option metadata/pvmetadatasize. + # The default size of the metadata area in units of 512 byte sectors. + # The metadata area begins at an offset of the page size from the start + # of the device. The first PE is by default at 1 MiB from the start of + # the device. The space between these is the default metadata area size. + # The actual size of the metadata area may be larger than what is set + # here due to default_data_alignment making the first PE a MiB multiple. + # The metadata area begins with a 512 byte header and is followed by a + # circular buffer used for VG metadata text. The maximum size of the VG + # metadata is about half the size of the metadata buffer. VGs with large + # numbers of PVs or LVs, or VGs containing complex LV structures, may need + # additional space for VG metadata. The --metadatasize option overrides + # this setting. + # This configuration option does not have a default value defined. + # This configuration option has an automatic default value. + + # Configuration option metadata/pvmetadataignore. + # Ignore metadata areas on a new PV. + # The --metadataignore option overrides this setting. + # If metadata areas on a PV are ignored, LVM will not store metadata + # in them. + # This configuration option is advanced. + # This configuration option has an automatic default value. + # pvmetadataignore = 0 + + # Configuration option metadata/stripesize. + # This configuration option is advanced. + # This configuration option has an automatic default value. + # stripesize = 64 +# } + +# Configuration section report. +# LVM report command output formatting. +# This configuration section has an automatic default value. +# report { + + # Configuration option report/output_format. + # Format of LVM command's report output. + # If there is more than one report per command, then the format + # is applied for all reports. You can also change output format + # directly on command line using --reportformat option which + # has precedence over log/output_format setting. + # Accepted values: + # basic + # Original format with columns and rows. If there is more than + # one report per command, each report is prefixed with report's + # name for identification. + # json + # JSON format. + # This configuration option has an automatic default value. + # output_format = "basic" + + # Configuration option report/compact_output. + # Do not print empty values for all report fields. + # If enabled, all fields that don't have a value set for any of the + # rows reported are skipped and not printed. Compact output is + # applicable only if report/buffered is enabled. If you need to + # compact only specified fields, use compact_output=0 and define + # report/compact_output_cols configuration setting instead. + # This configuration option has an automatic default value. + # compact_output = 0 + + # Configuration option report/compact_output_cols. + # Do not print empty values for specified report fields. + # If defined, specified fields that don't have a value set for any + # of the rows reported are skipped and not printed. Compact output + # is applicable only if report/buffered is enabled. If you need to + # compact all fields, use compact_output=1 instead in which case + # the compact_output_cols setting is then ignored. + # This configuration option has an automatic default value. + # compact_output_cols = "" + + # Configuration option report/aligned. + # Align columns in report output. + # This configuration option has an automatic default value. + # aligned = 1 + + # Configuration option report/buffered. + # Buffer report output. + # When buffered reporting is used, the report's content is appended + # incrementally to include each object being reported until the report + # is flushed to output which normally happens at the end of command + # execution. Otherwise, if buffering is not used, each object is + # reported as soon as its processing is finished. + # This configuration option has an automatic default value. + # buffered = 1 + + # Configuration option report/headings. + # Show headings for columns on report. + # This configuration option has an automatic default value. + # headings = 1 + + # Configuration option report/separator. + # A separator to use on report after each field. + # This configuration option has an automatic default value. + # separator = " " + + # Configuration option report/list_item_separator. + # A separator to use for list items when reported. + # This configuration option has an automatic default value. + # list_item_separator = "," + + # Configuration option report/prefixes. + # Use a field name prefix for each field reported. + # This configuration option has an automatic default value. + # prefixes = 0 + + # Configuration option report/quoted. + # Quote field values when using field name prefixes. + # This configuration option has an automatic default value. + # quoted = 1 + + # Configuration option report/columns_as_rows. + # Output each column as a row. + # If set, this also implies report/prefixes=1. + # This configuration option has an automatic default value. + # columns_as_rows = 0 + + # Configuration option report/binary_values_as_numeric. + # Use binary values 0 or 1 instead of descriptive literal values. + # For columns that have exactly two valid values to report + # (not counting the 'unknown' value which denotes that the + # value could not be determined). + # This configuration option has an automatic default value. + # binary_values_as_numeric = 0 + + # Configuration option report/time_format. + # Set time format for fields reporting time values. + # Format specification is a string which may contain special character + # sequences and ordinary character sequences. Ordinary character + # sequences are copied verbatim. Each special character sequence is + # introduced by the '%' character and such sequence is then + # substituted with a value as described below. + # + # Accepted values: + # %a + # The abbreviated name of the day of the week according to the + # current locale. + # %A + # The full name of the day of the week according to the current + # locale. + # %b + # The abbreviated month name according to the current locale. + # %B + # The full month name according to the current locale. + # %c + # The preferred date and time representation for the current + # locale (alt E) + # %C + # The century number (year/100) as a 2-digit integer. (alt E) + # %d + # The day of the month as a decimal number (range 01 to 31). + # (alt O) + # %D + # Equivalent to %m/%d/%y. (For Americans only. Americans should + # note that in other countries%d/%m/%y is rather common. This + # means that in international context this format is ambiguous and + # should not be used. + # %e + # Like %d, the day of the month as a decimal number, but a leading + # zero is replaced by a space. (alt O) + # %E + # Modifier: use alternative local-dependent representation if + # available. + # %F + # Equivalent to %Y-%m-%d (the ISO 8601 date format). + # %G + # The ISO 8601 week-based year with century as adecimal number. + # The 4-digit year corresponding to the ISO week number (see %V). + # This has the same format and value as %Y, except that if the + # ISO week number belongs to the previous or next year, that year + # is used instead. + # %g + # Like %G, but without century, that is, with a 2-digit year + # (00-99). + # %h + # Equivalent to %b. + # %H + # The hour as a decimal number using a 24-hour clock + # (range 00 to 23). (alt O) + # %I + # The hour as a decimal number using a 12-hour clock + # (range 01 to 12). (alt O) + # %j + # The day of the year as a decimal number (range 001 to 366). + # %k + # The hour (24-hour clock) as a decimal number (range 0 to 23); + # single digits are preceded by a blank. (See also %H.) + # %l + # The hour (12-hour clock) as a decimal number (range 1 to 12); + # single digits are preceded by a blank. (See also %I.) + # %m + # The month as a decimal number (range 01 to 12). (alt O) + # %M + # The minute as a decimal number (range 00 to 59). (alt O) + # %O + # Modifier: use alternative numeric symbols. + # %p + # Either "AM" or "PM" according to the given time value, + # or the corresponding strings for the current locale. Noon is + # treated as "PM" and midnight as "AM". + # %P + # Like %p but in lowercase: "am" or "pm" or a corresponding + # string for the current locale. + # %r + # The time in a.m. or p.m. notation. In the POSIX locale this is + # equivalent to %I:%M:%S %p. + # %R + # The time in 24-hour notation (%H:%M). For a version including + # the seconds, see %T below. + # %s + # The number of seconds since the Epoch, + # 1970-01-01 00:00:00 +0000 (UTC) + # %S + # The second as a decimal number (range 00 to 60). (The range is + # up to 60 to allow for occasional leap seconds.) (alt O) + # %t + # A tab character. + # %T + # The time in 24-hour notation (%H:%M:%S). + # %u + # The day of the week as a decimal, range 1 to 7, Monday being 1. + # See also %w. (alt O) + # %U + # The week number of the current year as a decimal number, + # range 00 to 53, starting with the first Sunday as the first + # day of week 01. See also %V and %W. (alt O) + # %V + # The ISO 8601 week number of the current year as a decimal number, + # range 01 to 53, where week 1 is the first week that has at least + # 4 days in the new year. See also %U and %W. (alt O) + # %w + # The day of the week as a decimal, range 0 to 6, Sunday being 0. + # See also %u. (alt O) + # %W + # The week number of the current year as a decimal number, + # range 00 to 53, starting with the first Monday as the first day + # of week 01. (alt O) + # %x + # The preferred date representation for the current locale without + # the time. (alt E) + # %X + # The preferred time representation for the current locale without + # the date. (alt E) + # %y + # The year as a decimal number without a century (range 00 to 99). + # (alt E, alt O) + # %Y + # The year as a decimal number including the century. (alt E) + # %z + # The +hhmm or -hhmm numeric timezone (that is, the hour and minute + # offset from UTC). + # %Z + # The timezone name or abbreviation. + # %% + # A literal '%' character. + # + # This configuration option has an automatic default value. + # time_format = "%Y-%m-%d %T %z" + + # Configuration option report/devtypes_sort. + # List of columns to sort by when reporting 'lvm devtypes' command. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_sort = "devtype_name" + + # Configuration option report/devtypes_cols. + # List of columns to report for 'lvm devtypes' command. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_cols = "devtype_name,devtype_max_partitions,devtype_description" + + # Configuration option report/devtypes_cols_verbose. + # List of columns to report for 'lvm devtypes' command in verbose mode. + # See 'lvm devtypes -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # devtypes_cols_verbose = "devtype_name,devtype_max_partitions,devtype_description" + + # Configuration option report/lvs_sort. + # List of columns to sort by when reporting 'lvs' command. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_sort = "vg_name,lv_name" + + # Configuration option report/lvs_cols. + # List of columns to report for 'lvs' command. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols = "lv_name,vg_name,lv_attr,lv_size,pool_lv,origin,data_percent,metadata_percent,move_pv,mirror_log,copy_percent,convert_lv" + + # Configuration option report/lvs_cols_verbose. + # List of columns to report for 'lvs' command in verbose mode. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols_verbose = "lv_name,vg_name,seg_count,lv_attr,lv_size,lv_major,lv_minor,lv_kernel_major,lv_kernel_minor,pool_lv,origin,data_percent,metadata_percent,move_pv,copy_percent,mirror_log,convert_lv,lv_uuid,lv_profile" + + # Configuration option report/vgs_sort. + # List of columns to sort by when reporting 'vgs' command. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_sort = "vg_name" + + # Configuration option report/vgs_cols. + # List of columns to report for 'vgs' command. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols = "vg_name,pv_count,lv_count,snap_count,vg_attr,vg_size,vg_free" + + # Configuration option report/vgs_cols_verbose. + # List of columns to report for 'vgs' command in verbose mode. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols_verbose = "vg_name,vg_attr,vg_extent_size,pv_count,lv_count,snap_count,vg_size,vg_free,vg_uuid,vg_profile" + + # Configuration option report/pvs_sort. + # List of columns to sort by when reporting 'pvs' command. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_sort = "pv_name" + + # Configuration option report/pvs_cols. + # List of columns to report for 'pvs' command. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free" + + # Configuration option report/pvs_cols_verbose. + # List of columns to report for 'pvs' command in verbose mode. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,dev_size,pv_uuid" + + # Configuration option report/segs_sort. + # List of columns to sort by when reporting 'lvs --segments' command. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_sort = "vg_name,lv_name,seg_start" + + # Configuration option report/segs_cols. + # List of columns to report for 'lvs --segments' command. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols = "lv_name,vg_name,lv_attr,stripes,segtype,seg_size" + + # Configuration option report/segs_cols_verbose. + # List of columns to report for 'lvs --segments' command in verbose mode. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols_verbose = "lv_name,vg_name,lv_attr,seg_start,seg_size,stripes,segtype,stripesize,chunksize" + + # Configuration option report/pvsegs_sort. + # List of columns to sort by when reporting 'pvs --segments' command. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_sort = "pv_name,pvseg_start" + + # Configuration option report/pvsegs_cols. + # List of columns to sort by when reporting 'pvs --segments' command. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size" + + # Configuration option report/pvsegs_cols_verbose. + # List of columns to sort by when reporting 'pvs --segments' command in verbose mode. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols_verbose = "pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size,lv_name,seg_start_pe,segtype,seg_pe_ranges" + + # Configuration option report/vgs_cols_full. + # List of columns to report for lvm fullreport's 'vgs' subreport. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_cols_full = "vg_all" + + # Configuration option report/pvs_cols_full. + # List of columns to report for lvm fullreport's 'vgs' subreport. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_cols_full = "pv_all" + + # Configuration option report/lvs_cols_full. + # List of columns to report for lvm fullreport's 'lvs' subreport. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_cols_full = "lv_all" + + # Configuration option report/pvsegs_cols_full. + # List of columns to report for lvm fullreport's 'pvseg' subreport. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_cols_full = "pvseg_all,pv_uuid,lv_uuid" + + # Configuration option report/segs_cols_full. + # List of columns to report for lvm fullreport's 'seg' subreport. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_cols_full = "seg_all,lv_uuid" + + # Configuration option report/vgs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'vgs' subreport. + # See 'vgs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # vgs_sort_full = "vg_name" + + # Configuration option report/pvs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'vgs' subreport. + # See 'pvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvs_sort_full = "pv_name" + + # Configuration option report/lvs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'lvs' subreport. + # See 'lvs -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # lvs_sort_full = "vg_name,lv_name" + + # Configuration option report/pvsegs_sort_full. + # List of columns to sort by when reporting for lvm fullreport's 'pvseg' subreport. + # See 'pvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # pvsegs_sort_full = "pv_uuid,pvseg_start" + + # Configuration option report/segs_sort_full. + # List of columns to sort by when reporting lvm fullreport's 'seg' subreport. + # See 'lvs --segments -o help' for the list of possible fields. + # This configuration option has an automatic default value. + # segs_sort_full = "lv_uuid,seg_start" + + # Configuration option report/mark_hidden_devices. + # Use brackets [] to mark hidden devices. + # This configuration option has an automatic default value. + # mark_hidden_devices = 1 + + # Configuration option report/two_word_unknown_device. + # Use the two words 'unknown device' in place of '[unknown]'. + # This is displayed when the device for a PV is not known. + # This configuration option has an automatic default value. + # two_word_unknown_device = 0 +# } + +# Configuration section dmeventd. +# Settings for the LVM event daemon. +dmeventd { + + # Configuration option dmeventd/mirror_library. + # The library dmeventd uses when monitoring a mirror device. + # libdevmapper-event-lvm2mirror.so attempts to recover from + # failures. It removes failed devices from a volume group and + # reconfigures a mirror as necessary. If no mirror library is + # provided, mirrors are not monitored through dmeventd. + mirror_library = "libdevmapper-event-lvm2mirror.so" + + # Configuration option dmeventd/raid_library. + # This configuration option has an automatic default value. + # raid_library = "libdevmapper-event-lvm2raid.so" + + # Configuration option dmeventd/snapshot_library. + # The library dmeventd uses when monitoring a snapshot device. + # libdevmapper-event-lvm2snapshot.so monitors the filling of snapshots + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the snapshot is filled. + snapshot_library = "libdevmapper-event-lvm2snapshot.so" + + # Configuration option dmeventd/thin_library. + # The library dmeventd uses when monitoring a thin device. + # libdevmapper-event-lvm2thin.so monitors the filling of a pool + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the pool is filled. + thin_library = "libdevmapper-event-lvm2thin.so" + + # Configuration option dmeventd/thin_command. + # The plugin runs command with each 5% increment when thin-pool data volume + # or metadata volume gets above 50%. + # Command which starts with 'lvm ' prefix is internal lvm command. + # You can write your own handler to customise behaviour in more details. + # User handler is specified with the full path starting with '/'. + # This configuration option has an automatic default value. + # thin_command = "lvm lvextend --use-policies" + + # Configuration option dmeventd/vdo_library. + # The library dmeventd uses when monitoring a VDO pool device. + # libdevmapper-event-lvm2vdo.so monitors the filling of a pool + # and emits a warning through syslog when the usage exceeds 80%. The + # warning is repeated when 85%, 90% and 95% of the pool is filled. + # This configuration option has an automatic default value. + # vdo_library = "libdevmapper-event-lvm2vdo.so" + + # Configuration option dmeventd/vdo_command. + # The plugin runs command with each 5% increment when VDO pool volume + # gets above 50%. + # Command which starts with 'lvm ' prefix is internal lvm command. + # You can write your own handler to customise behaviour in more details. + # User handler is specified with the full path starting with '/'. + # This configuration option has an automatic default value. + # vdo_command = "lvm lvextend --use-policies" + + # Configuration option dmeventd/executable. + # The full path to the dmeventd binary. + # This configuration option has an automatic default value. + # executable = "/sbin/dmeventd" +} + +# Configuration section tags. +# Host tag settings. +# This configuration section has an automatic default value. +# tags { + + # Configuration option tags/hosttags. + # Create a host tag using the machine name. + # The machine name is nodename returned by uname(2). + # This configuration option has an automatic default value. + # hosttags = 0 + + # Configuration section tags/. + # Replace this subsection name with a custom tag name. + # Multiple subsections like this can be created. The '@' prefix for + # tags is optional. This subsection can contain host_list, which is a + # list of machine names. If the name of the local machine is found in + # host_list, then the name of this subsection is used as a tag and is + # applied to the local machine as a 'host tag'. If this subsection is + # empty (has no host_list), then the subsection name is always applied + # as a 'host tag'. + # + # Example + # The host tag foo is given to all hosts, and the host tag + # bar is given to the hosts named machine1 and machine2. + # tags { foo { } bar { host_list = [ "machine1", "machine2" ] } } + # + # This configuration section has variable name. + # This configuration section has an automatic default value. + # tag { + + # Configuration option tags//host_list. + # A list of machine names. + # These machine names are compared to the nodename returned + # by uname(2). If the local machine name matches an entry in + # this list, the name of the subsection is applied to the + # machine as a 'host tag'. + # This configuration option does not have a default value defined. + # } +# } diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/motd b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/motd new file mode 100644 index 0000000..134767b --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/motd @@ -0,0 +1,7 @@ + +Devuan Beowulf 3.0 -- Minimal Live + +Devuan GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent +permitted by applicable law.  + + diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/rc.local b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/rc.local new file mode 100755 index 0000000..0bdf028 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/rc.local @@ -0,0 +1,21 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +[ -d /etc/boot.d ] && run-parts /etc/boot.d + +# re-run eudev to detect hardware when booting from optical media. +/etc/init.d/eudev stop && /etc/init.d/eudev start + +dpkg-reconfigure iputils-ping # Enable ping for user. + +exit 0 diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/rcS.d/S20boot_beep b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/rcS.d/S20boot_beep new file mode 120000 index 0000000..f39425c --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/rcS.d/S20boot_beep @@ -0,0 +1 @@ +../init.d/boot_beep \ No newline at end of file diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/wpa_supplicant/wpa_supplicant.conf b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/wpa_supplicant/wpa_supplicant.conf new file mode 100644 index 0000000..778a12c --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/etc/wpa_supplicant/wpa_supplicant.conf @@ -0,0 +1,2 @@ +ctrl_interface=/run/wpa_supplicant +update_config=1 diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/lib/live/config/1159-openssh-entropy b/blends/devuan-minimal-live/beowulf/rootfs_overlay/lib/live/config/1159-openssh-entropy new file mode 100755 index 0000000..93801b7 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/lib/live/config/1159-openssh-entropy @@ -0,0 +1,51 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2015 Daniel Baumann +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/openssh-server.list ] || \ + [ -e /var/lib/live/config/openssh-server ] + then + exit 0 + fi + + /etc/init.d/haveged start + sleep 3 + echo -n " openssh-server+haveged" +} + +Config () +{ + for _PROTOCOL in dsa rsa ecdsa ed25519 + do + if [ ! -e /etc/ssh/ssh_host_${_PROTOCOL}_key ] && + grep -qs ssh_host_${_PROTOCOL}_key /etc/ssh/sshd_config + then + ssh-keygen -q -f /etc/ssh/ssh_host_${_PROTOCOL}_key -N "" -t ${_PROTOCOL} + + _SSH="true" + fi + done + +# sed -i -e 's|#\(PasswordAuthentication\) yes|\1 no|' /etc/ssh/sshd_config + + case "${_SSH}" in + true) + # Creating state file + touch /var/lib/live/config/openssh-server + ;; + esac +} + +Init +Config diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/lib/live/config/8990-console-setup b/blends/devuan-minimal-live/beowulf/rootfs_overlay/lib/live/config/8990-console-setup new file mode 100755 index 0000000..4259f32 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/lib/live/config/8990-console-setup @@ -0,0 +1,35 @@ +#!/bin/sh + +## live-config(7) - System Configuration Components +## Copyright (C) 2006-2014 Daniel Baumann +## +## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +## This is free software, and you are welcome to redistribute it +## under certain conditions; see COPYING for details. + + +#set -e + + +Init () +{ + # Checking if package is installed or already configured + if [ ! -e /var/lib/dpkg/info/console-setup.list ] || \ + [ -e /var/lib/live/config/console-setup ] + then + exit 0 + fi + + echo -n " console-setup " +} + +Config () +{ + /etc/init.d/console-setup.sh start + + # Creating state file + touch /var/lib/live/config/console-setup +} + +Init +Config diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/README_Beowulf.txt b/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/README_Beowulf.txt new file mode 100644 index 0000000..090a6f9 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/README_Beowulf.txt @@ -0,0 +1,173 @@ +=== Devuan Beowulf minimal live ==== + +This image is a full-featured console-only live Devuan Beowulf system, +with tons of command-line and curses utilities and a special focus on +accessibility. The system is a good starting point for a minimalist +environment, a powerful solution for rescue tasks, and a useful tool to +have in your pocket every day. + +The image can be burnt on a CDROM or dd-ed on a USB stick. + +The regular user is devuan/devuan. Become admin with root/toor. + +Designed and maintained by Vincenzo 'Katolaz' Nicosia +Homepage: http://kalos.mine.nu +Iso files built and signed by fsmithred (key id 0xA73823D3094C5620 on pgp.mit.e$ + +======================================= + + +0) Boot options +1) Packages +2) Connecting to the Internet +3) About non-free firmware packages +4) Installing on a hard drive +5) Acknowledgements + +======================================= + +0) == Boot options == + +There are several boot options available: + +- std: default, with selection of framebuffer resolution +- access: accessible boot, with audible boot feedback and autologin +- std-toram: as "std", but load squashfs into RAM +- access-toram: as "access", but load squashfs into RAM +- no probe: disable apic/apm/dma/mce/smp +- memtest: perform a memory test (does not boot Linux) + +The two accessible boot options ("access" and "access-toram", +respectively the second and the fourth on the boot menu) emit a "beep" +(CTRL+G) when they are selected, to be easily recognisable, and enter +into a dedicated runlevel (runlevel 4) which autologins root on tty1 +and the user devuan on tty2-tty6. There is audible feedback on boot, +and a simple chime (C-E-G-E-C) signals the end of the boot. + +======================================= + +1) == Packages === + +This image contains around 590 packages in total, and includes: + + - _Base system_: bash, busybox, consoledata, GNU coreutils, dash, + dialog, locales, syslinux, sysvinit, util-linux-locales, zsh + + - _Admin/Recovery_: debootstrap, entr, gddrescue, gdisk, htop, + iftop, iotop, mtr-tiny, multitail, ncdu, parted, wavemon, + wireless-tools, wpa_supplicant + + - _Editors_: vim-tiny, zile (Emacs clone), nano + + - _Networking_: bittornado, curl, edbrowse, fetchmail, ftp, irssi, + lftp, links2, mcabber, minicom, mosh, msmtp, mutt, netcat, nrss, + openssh-client, openssh-server, procmail, rsync, setnet, telnet, + tin, twidge, w3m, wget + + - _Personal_productivity_: abook, aspell, calcurse, clex, dvtm, + fbi/fbgs, fbterm, ghostscript, gpg, mc, parallel, sc, screen, + taskwarrior, tmux + + - _Programming_ languages_: ANSI C (tcc + libc6-dev), Perl + (minimal), python (minimal), awk (gawk), guile + + - _Games_: bastet, bombardier, bsdgames, cavezofphear, crawl, + curseofwar, empire, freesweep, gnuchess, greed, matanza, moria, + nethack, ninvaders, omega-rpg, pacman4console, pente, sudoku + + - _Accessibility_: beep, brltty, espeak, espeakup, yasr + + - _Multimedia_: caca-utils, hasciicam, imagemagick, jhead, moc, + radio, sox + + - _Miscellanea_: cmatrix, cowsay, figlet, fortune-mod, gpm, + termsaver, toilet, ttyrec + +======================================= + +2) == Connecting to the Internet == + +This image ships with "setnet.sh", a simple dialog tool to setup +networking. setnet allows to configure both wired and wireless +connections, with static or DHCP-based IP assignment, and can help you +setting up wi-fi authentication to open, WPA Personal (WPA/PSK and +WPA2/PSK), and WPA Enterprise (WPA/EAP or WPA/TLS) networks. + +Just run: + + # setnet.sh + +from a root console, and then select "Setup interfaces" for a list of +recognised devices. For more information please just: + + $ man setnet + +======================================= + +3) == About non-free firmware packages == + +Devuan minimal live comes with all the available firmware packages +pre-installed. This means that also *non-free* software is present in +this image. Actually, those non-free firmware packages are *the only* +non-free software packages installed in this image. + +We highly value the freedom of Devuan users, and we would rather +prefer none of them to be ever forced to use non-free software, at +all. However, the choice of including non-free firmware was dictated +by the necessity to facilitate new users in getting their hardware, +and especially wifi cards, working out of the box. + +We provide a simple script, that you can find in +"/root/remove_firmware.sh", which allows to remove all non-free +firmware from your installation. Just run the script, and all non-free +firmware will be removed. + +======================================= + +4) == Installing on a hard drive == + +The recommended way of installing Devuan is by using one of the +installation media or the desktop-live image available at +http://files.devuan.org under the folders "installer-iso" and +"desktop-live", respectively. + +However, it is also possible to install this minimal live image on a +hard disk by using the refractainstaller script shipped with it. I +tested the installation on qemu and on bare-metal, and it worked quite +well, but I cannot guarantee that it will work for you as well, so +please use refractainstaller AT YOUR OWN RISK but feel free to drop me +a line if it works. + +Again, INSTALLING AN OPERATING SYSTEM ON AN EXISTING HARD DRIVE MIGHT +POTENTIALLY DESTROY EXISTING DATA, ESPECIALLY IF YOU DON'T KNOW +EXACTLY WHAT YOU ARE DOING. SO PLEASE BE CAREFUL, BACKUP YOUR DATA, +AND DO NOT COMPLAIN IF ANYTHING GOES WRONG. IT WILL BE JUST *YOUR* +FAULT. + +======================================= + +5) == Acknowledgements == + +I thank the refracta team for providing refractasnapshot and +refractainstaller. + +A very special thank goes to Gregory Nowak, Parham Doustdar, Jude +DaShiell, John G Heim, Rob, and all the people in the Linux-speakup +mailing list (http://www.linux-speakup.org/) for their encouragement +and support, and for providing invaluable feedback about +accessibility. Without their help, I couldn't have seen what was +needed in order to make the minimal live images easier to use for +visually-impaired users. + +I feel indebted with all the people in the DNG Mailing List who have +provided feedback, suggestions, comments, and encouragement, and in +particular: aitor_czr, Boruch Baum, fsmithred, golinux, David Hare, +Irrwahn, Steve Litt, Daniel Reurich, Joel Roth, Ozi Traveller. + +Comments, suggestions, criticisms, and bug reports are welcome, and +should be reported on the official Devuan Bug Tracking System: + + http://bugs.devuan.org + +======================================= + diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/README_firmware.txt b/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/README_firmware.txt new file mode 100644 index 0000000..5725d16 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/README_firmware.txt @@ -0,0 +1,20 @@ +== About non-free firmware in Devuan minimal-live + +Devuan minimal live comes with all the available firmware +packages pre-installed. This means that also *non-free* +software is present in this image. Actually, those non-free +firmware packages are *the only* non-free software packages +installed in this image. + +This choice was dictated by the necessity to facilitate +new users in getting their hardware, and expecially wifi +cards, working out of the box. + +However, we highly value the freedom of Devuan users, and +we would rather prefer to not be ever forced to use non-free +software, at all. + +For this reason, we provide a simple script, called +"remove_firmware.sh", which allows to remove all non-free +firmware from your installation right after boot. Just run +the script, and all non-free firmware will be removed. diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/Release_notes.txt b/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/Release_notes.txt new file mode 100644 index 0000000..916143b --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/Release_notes.txt @@ -0,0 +1,350 @@ +# Devuan 3 Beowulf Release Notes + +## Index + + - Introduction + - What's new in this release + - Getting Devuan 3 Beowulf + - Upgrading to Devuan 3 Beowulf + - Devuan Package Repositories + - Non-free firmware + - About eudev + - Session management and policykit backends + - Workarounds for known lightdm issues/bugs + - About LXDE + - Starting X from a terminal + - Devuan package information pages + - Reporting bugs + + +### Introduction + +This document includes technical notes relevant to Devuan 3 Beowulf. +More information and support on specific issues can be obtained by: + + - subscribing to the DNG mailing list: + https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng + - visiting the Devuan user forum: + https://dev1galaxy.org + - shouting (but not too loudly) on one of the Devuan IRC channels: + #devuan (freenode) - general discussion about Devuan + #devuan-arm (freenode) - specific support for ARM + - checking the Debian Buster release notes to learn about changes in + the packages that Devuan does not alter. + https://www.debian.org/releases/buster/releasenotes + +### What's new in this release + +Changes in su + - The behavior of su has changed. Use 'su -' to get root's path or use + the full path to commands if you use only 'su'. + + - There are several ways to get the old behavior. The easiest is to + edit /etc/default/su to add the line: + + ALWAYS_SET_PATH yes + + See the following for more information: + https://www.debian.org/releases/buster/amd64/release-notes/ch-information.en.html#su-environment-variables + https://wiki.debian.org/NewInBuster + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=905564 + +Pulseaudio + - If you have no sound, make sure the following line in + /etc/pulse/client.conf.d/00-disable-autospawn.conf is commented as + shown here: + + #autospawn=no + +Boot menu says "Debian" instead of "Devuan" + + - The default setup results in the grub menu showing 'Debian' instead + of 'Devuan'. On UEFI hardware, this will work with secure boot. + + To change it, you can edit /etc/os-release to show ID=devuan or edit + /etc/default/grub to GRUB_DISTRIBUTOR="Devuan". Then run update-grub + to generate a new boot menu. + + - Note: If you're booting UEFI mode, you will also need to remove + grub-efi-amd64-signed and just use grub-efi-amd64. You will not be + able to use secure boot this way. + + +### Getting Devuan 3 Beowulf + +Devuan 3 Beowulf is available for i386, amd64, armel, armhf, arm64 and +ppc64el platforms. Installer isos and live CDs can be downloaded at: + + http://files.devuan.org/devuan_beowulf/ + +Please consider using one of the many mirrors, listed at: + + https://devuan.org/get-devuan + +Detailed instructions on how to use each image are available in the +corresponding 'README.txt' file. The SHA256SUMS of each set of images +is signed by the developer in charge of the build. The fingerprints of +GPG keys of all Devuan developers are listed at: + + https://devuan.org/os/team + +In order to check that the images you downloaded are genuine and not +corrupted, you should: + + - download the image(s) + - download the corresponding SHA256SUMS and SHA256SUMS.asc files + in the same folder + - verify the checksums running: + $ sha256sum -c SHA256SUMS + (it could complain about missing files, but should show an "OK" + close to the images you have actually downloaded) + - verify the signature running: + $ gpg --no-default-keyring --keyring ./devuan-devs.gpg --verify SHA256SUMS.asc + + (we assume that you have put the GPG keys in the keyring named + "devuan-devs.gpg". YMMV) + +The 'devuan-devs.gpg' keyring is provided only for convenience. The +most correct procedure to verify that the signatures are authentic is +by downloading the relevant public keys from a trusted keyserver, +double-check that the fingerprint of the key matches that of the +developer reported on https://devuan.org/os/team and then use that key +for verification. + + +### Upgrading to Devuan 3 Beowulf + +Direct and easy upgrade path from Devuan ASCII and migration path +from Debian Buster to Devuan 3 Beowulf are available here: + + https://devuan.org/os/install + +If you are already on Beowulf, just run this command to get to the +current release version: + + apt-get update && apt-get dist-upgrade + + +### Devuan Package Repositories + +Thanks to the support of many volunteers and donors, Devuan has +a network of package repository mirrors. The mirror network is +accessible using the FQDN "deb.devuan.org". + +Starting from Devuan 2.0 ASCII, users should use exclusively +"deb.devuan.org" in their 'sources.list' file, e.g.: + + deb http://deb.devuan.org/merged beowulf main + deb http://deb.devuan.org/merged beowulf-security main + deb http://deb.devuan.org/merged beowulf-updates main + deb http://deb.devuan.org/devuan beowulf-proposed main + +Along with the above addresses, the repositories are also accessible +using the Tor network, by using our hidden service address: + + deb tor+http://devuanfwojg73k6r.onion/merged beowulf main + deb tor+http://devuanfwojg73k6r.onion/merged beowulf-security main + deb tor+http://devuanfwojg73k6r.onion/merged beowulf-updates main + deb tor+http://devuanfwojg73k6r.onion/devuan beowulf-proposed main + +More information is available at: + + https://devuan.org/os/packages + +All the mirrors contain the full Devuan package repository (all the +Devuan releases and all the suites). They are synced every 30 minutes +from the main Devuan package repository ("pkgmaster.devuan.org") and +are continuously checked for sanity, integrity, and consistency. The +package repository network is accessed through a DNS Round-Robin. + +An up-to-date list of mirrors in the network is available at: + + http://pkgmaster.devuan.org/mirror_list.txt + +Users can directly access a mirror using the corresponding BaseURL. + +IMPORTANT NOTE: The package mirrors at "deb.devuan.org" are signed +with the following GPG key: + + pub rsa4096 2017-09-04 [SC] [expires: 2022-09-03] + E032601B7CA10BC3EA53FA81BB23C00C61FC752C + uid [ unknown] Devuan Repository (Amprolla3 on Nemesis + ) + sub rsa4096 2017-09-04 [E] [expires: 2022-09-03] + +The key is included in the package "devuan-keyring". In order to use +deb.devuan.org, you must have `devuan-keyring_2017.10.03` or later. + +IMPORTANT NOTE: Devuan plans to eventually discontinue the original set +of Devuan mirrors available at auto.mirror.devuan.org and +{CC}.mirror.devuan.org. As a consequence, users are strongly +encouraged to use the new set of mirrors at "deb.devuan.org". + + +### Non-free firmware + +All Devuan 3 Beowulf install media make non-free firmware packages +available at install time. These are only installed if your networking +hardware requires them in order to function. You can avoid the +automatic installation of non-free firmware by selecting the +"Expert install" option in the installation menu. + +Devuan 3 Beowulf desktop-live and minimal-live images come with +non-free firmware packages pre-installed. You can remove these packages +after boot using the "remove_firmware.sh" script available under /root. + + +### About eudev + +Following the inclusion of udev (a daemon in charge of device +management) in the systemd code tree, Devuan 3 Beowulf provides the +alternative "eudev" package. The transition from udev to eudev is +managed through transitional packages and should be automatic and +seamless. + + +### Session management and policykit backends + +Devuan 3 Beowulf provides a choice of 5 Desktop Environments at +install time: Xfce, Cinnamon, KDE, LXQt, and MATE. Other desktop +environments and window managers are available from the repositories +post-install. + +Desktop Environments rely on a session management system to allow the +user to perform certain tasks without requiring administrator +privileges such as suspending/rebooting/shutting down the system, +mounting external devices, configuring networking, and so on. + +Two session management systems are available in Devuan Beowulf: + + - consolekit + - logind (elogind and libpam-elogind) + +These session managers are mutually exclusive; only one of them can be +installed and active at a time to avoid unwanted interference. In order +to grant processes in the unprivileged user session access to select +privileged operations the installed session manager is connected to the +policykit-1 framework by a set of matching back-end libraries. + +The default session manager for all desktops is logind (libpam-elogind). +Xfce and Cinnamon will work with either logind or consolekit. The other +desktop environments will only work with logind. + +In order for session management to work correctly the login manager +(aka display manager, DM) needs to register the user session with the +installed session manager (either consolekit or logind) which in turn +must coordinate with the relevant components of the desktop environment. + +Both slim and lightdm will work with either libpam-elogind or consolekit. +Slim is the default login manager for Xfce. Lightdm is the default for +the other desktops. + + +### Workarounds for known lightdm issues/bugs + +lightdm prevents some accessibility features from working and gives the +error, "Couldn't register with accessiblity bus" in ~/.xsession-errors. +(See Debian bug [#760740](https://bugs.debian.org/760740)) + +This can be mitigated in the current X session by running: + + xprop --root --remove AT_SPI_BUS + +For a persistent solution edit /etc/lightdm/lightdm.conf to add: + + xserver-share=false + + +Power buttons are disabled on the lightdm login screen with elogind. +(See Debian bug [#932047](https://bugs.debian.org/932047)) + +Add the following line to /etc/pam.d/lightdm-greeter + + session optional pam_elogind.so + + +### About LXDE + +LXDE is not presented as a choice during installation but can be added +after booting into the new system. Note that there is a bug in lxsession +that requires LXDE be installed without Recommends. (Debian bug #952679) + + apt --no-install-recommends install lxde + + +### Starting X from a terminal + +In Devuan 3 Beowulf, the X server can now be run without root +privileges. As a result, some additional requirements must be met when +launching X directly from a TTY (e.g., with 'xinit' or 'startx') +especially on systems upgraded from Devuan Jessie. + +In Devuan 3 Beowulf it is sufficient to install 'elogind' and +'libpam-elogind', and then use either 'startx' or 'xinit' as usual +from a regular user account. In this case, the Xorg log file will be +available under '~/.local/share/xorg/'. + +The system still needs to support Kernel Mode Setting (KMS). +Therefore, this solution may not work in some virtualization +environments (e.g., virtualbox) or if the kernel has no driver that +supports your GPU. + +Alternatively, it is still possible to run X with setuid root. In this +case, you need to install `xserver-xorg-legacy` and ensure that the +file '/etc/X11/Xwrapper.config' contains the (uncommented) line: + + needs_root_rights=yes + + +### Devuan package information pages + +Devuan has a simple service to display information about all the +packages available in Devuan. It can be accessed at: + + https://pkginfo.devuan.org + +It is possible to search for package names matching a set of keywords +and to see the description, dependencies, suggestions and +recommendations of each package. Please report any issues with this +service and/or get in touch if you have suggestions for how to +improve it. + + +### Reporting bugs + +No piece of software is perfect. And acknowledging this fact is the +first step towards improving our software base. + +Devuan strongly believes in the cooperation of the community to find, +report and solve issues. If you think you have found a bug in a +Devuan package, please report it to: + + https://bugs.devuan.org + +The procedure to report bugs is quite simple: just install and run +`reportbug`, a tool that will help you to compile the bug report and to +include any relevant information for the maintainers. + +`reportbug` assumes than you have a properly configured Mail User +Agent that can send emails. If this is not the case, you can still +prepare your bug report with `reportbug`, save it (by default reportbug +will save the report under /tmp) and then use it as a template for an +email to submit@bugs.devuan.org. + +(NOTE: Devuan does not provide an open SMTP relay for `reportbug` +yet. If you don't know what this is about, you can safely ignore this +information.) + +When the bug report is processed, you will receive a confirmation email +containing the number assigned to the report. + +Before reporting a bug, please check whether the very same problem has +already been reported by other users. + +`reportbug` is a tool made by Debian for Debian, over a timespan of +about 25 years. As a result it is sometimes difficult to adapt it +to a new setup. We are currently working to improve the integration of +reportbug with Devuan's infrastructure and to improve the management, +triaging and reporting of bugs. Please bear with us ;^) + + diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/remove_firmware.sh b/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/remove_firmware.sh new file mode 100755 index 0000000..bb93194 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/root/remove_firmware.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +## +## Remove all the non-free firmware packages +## + +FIRMWARE_PKGS="\ + +atmel-firmware \ +bluez-firmware \ +dahdi-firmware-nonfree \ +firmware-amd-graphics \ +firmware-atheros \ +firmware-bnx2 \ +firmware-bnx2x \ +firmware-brcm80211 \ +firmware-cavium \ +firmware-crystalhd \ +firmware-intel-sound \ +firmware-intelwimax \ +firmware-iwlwifi \ +firmware-libertas \ +firmware-linux-nonfree \ +firmware-myricom \ +firmware-netxen \ +firmware-qlogic \ +firmware-ralink +firmware-realtek \ +firmware-ti-connectivity \ +firmware-zd1211 +" + +echo "=== removing unwanted firmware packages..." +apt-get autoremove --purge ${FIRMWARE_PKGS} + diff --git a/blends/devuan-minimal-live/beowulf/rootfs_overlay/usr/lib/refractainstaller/post-install/cleanup-rclocal.sh b/blends/devuan-minimal-live/beowulf/rootfs_overlay/usr/lib/refractainstaller/post-install/cleanup-rclocal.sh new file mode 100755 index 0000000..52d0355 --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/rootfs_overlay/usr/lib/refractainstaller/post-install/cleanup-rclocal.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +sed -i '/dpkg.*ping/d' /target/etc/rc.local + +sed -i '/eudev/d' /target/etc/rc.local + +exit 0 diff --git a/blends/devuan-minimal-live/beowulf/scripts/create_initrd.sh b/blends/devuan-minimal-live/beowulf/scripts/create_initrd.sh new file mode 100755 index 0000000..801f7af --- /dev/null +++ b/blends/devuan-minimal-live/beowulf/scripts/create_initrd.sh @@ -0,0 +1,263 @@ +#!/bin/bash + +# ---------------------------------------------------------------------- +# +# This file is part of microdevuan, a set of scripts to create minimal +# devuan live images +# +# ---------------------------------------------------------------------- +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# ---------------------------------------------------------------------- +# +# (c) KatolaZ (2016) +# +# ---------------------------------------------------------------------- + +#### +## +## This will create a minimal initrd without too much garbage +## +## KatolaZ -- 2016-05-14 +## +## + +if [ $# -le 3 ]; then + echo "Usage: $0 " + exit 1 +fi + + +#### +## +## Config options -- +## + +OLDPWD=`pwd` +INITRD_ORIG=$1 +INITRD_NEW=$2 +INITRD_COMPR=$3 +INITRD_MICRO=$4 + + +WORK_DIR=/tmp/initrd_new + + +#### +## +## unpack the current initrd image +## + +if [ ! -d ${WORK_DIR} ]; then + mkdir ${WORK_DIR} +else + rm -rf ${WORKDIR}/* +fi + + + +#### +## +## Determine how the original initrd was compressed... +## + +INITRD_FILE=`file -L ${INITRD_ORIG}` + +if [ `echo ${INITRD_FILE} | grep gzip | wc -l` == 1 ]; then + INITRD_UNCOMPRESS=zcat; +elif [ `echo ${INITRD_FILE} | grep bzip2 | wc -l` == 1 ]; then + INITRD_UNCOMPRESS=bzcat; +elif [ `echo ${INITRD_FILE} | grep " xz " | wc -l` == 1 ]; then + INITRD_UNCOMPRESS=xzcat; +else + echo "Unable to determine the format of ${INITRD_ORIG} -- Aborting!!!" + exit 1; +fi + +echo -n "===> Uncompressing the original init using ${INITRD_UNCOMPRESS}..." + +cd ${WORK_DIR}; `${INITRD_UNCOMPRESS} ${INITRD_ORIG} | cpio -id` + +echo "done!" + +MODULE_DIRS=$(ls lib/modules/) + +#### +## +## Remove unnecessary ethernet modules -- we already know +## that the root partition is not over nfs... +## + +for M in ${MODULE_DIRS}; do + + echo "===> Removing drivers for kernel version ${M} <===" + + MODULE_DIR="lib/modules/${M}/kernel" + + echo -n "===> Removing unnecessary network drivers..." + + ##rm -rf ${MODULE_DIR}/drivers/net/ethernet/* + rm -rf ${MODULE_DIR}/drivers/net/* + + echo "done!" + + #### + ## + ## Remove unnecessary filesystem support + ## + ## + + echo -n "===> Removing unnecessary filesystems drivers..." + + ##rm -rf ${MODULE_DIR}/fs/nfs + rm -rf ${MODULE_DIR}/fs/xfs + rm -rf ${MODULE_DIR}/fs/btrfs + ##rm -rf ${MODULE_DIR}/fs/ext4 + ##rm -rf ${MODULE_DIR}/fs/fat + rm -rf ${MODULE_DIR}/fs/fuse + rm -rf ${MODULE_DIR}/fs/hfs + rm -rf ${MODULE_DIR}/fs/hfsplus + rm -rf ${MODULE_DIR}/fs/reiserfs + rm -rf ${MODULE_DIR}/fs/ntfs + rm -rf ${MODULE_DIR}/fs/jfs + rm -rf ${MODULE_DIR}/fs/jffs2 + rm -rf ${MODULE_DIR}/fs/udf + ##rm -rf ${MODULE_DIR}/fs/nls + rm -rf ${MODULE_DIR}/fs/nfs_common + + echo "done!" + + #### + ## + ## Remove the lftp and qla2xxx drivers (FibreChannel) + ## + + echo -n "===> Removing unnecessary SCSI drivers..." + + + rm -rf ${MODULE_DIR}/drivers/scsi/lpfc + rm -rf ${MODULE_DIR}/drivers/scsi/qla2xxx + rm -rf ${MODULE_DIR}/drivers/scsi/fnic + rm -rf ${MODULE_DIR}/drivers/scsi/csiostor + rm -rf ${MODULE_DIR}/drivers/scsi/isci + rm -rf ${MODULE_DIR}/drivers/scsi/cxgbi + rm -rf ${MODULE_DIR}/drivers/scsi/megaraid + rm -rf ${MODULE_DIR}/drivers/scsi/mpt2sas + rm -rf ${MODULE_DIR}/drivers/scsi/mpt3sas + rm -rf ${MODULE_DIR}/drivers/scsi/pm8001 + rm -rf ${MODULE_DIR}/drivers/scsi/qla4xxx + rm -rf ${MODULE_DIR}/drivers/scsi/aic7xxx + rm -rf ${MODULE_DIR}/drivers/scsi/bfa + + echo "done!" + + echo -n "===> Removing unnecessary RAID drivers..." + rm -rf ${MODULE_DIR}/drivers/md + echo "done!" + + + ## remove the gpu driver folder altogether + + echo -n "===> Removing unnecessary GPU drivers..." + + rm -rf ${MODULE_DIR}/drivers/gpu/ + + echo "done" + + echo -n "===> Removing unnecessary firmware..." + + rm -rf lib/firmware/ + rm -rf ${MODULE_DIR}/firmware/ + #rm -rf ${MODULE_DIR}/firmware/radeon/ + #rm -rf ${MODULE_DIR}/firmware/cxgb4 + + echo "done" + + +done + +## +## Remove unnecessary stuff in /bin and /sbin +## + +echo -n "===> Removing unnecessary stuff in /bin and /sbin..." + +#rm -rf bin/rsync bin/wget +#rm -rf sbin/acpid +#rm -rf lib/systemd + +rm sbin/lvm +rm sbin/vgchange +rm sbin/mdadm +rm sbin/mdmon +rm sbin/dmsetup + + + +echo "done!" + + +#### +## +## Maybe we might remove everything in usr/lib +## + +echo -n "===> Removing unnecessary libraries in /usr/lib..." + +##rm -rf usr/lib/* + +echo "done!" + + +#### +## +## +## Set lvm not to use udev in initramfs to avoid boot delays. +## + +sudo sed -i 's/multipath_component_detection = 1/multipath_component_detection = 0/' etc/lvm/lvm.conf +sudo sed -i 's/md_component_detection = 1/md_component_detection = 0/' etc/lvm/lvm.conf +sudo sed -i 's/udev_sync = 1/udev_sync = 0/' etc/lvm/lvm.conf +sudo sed -i 's/udev_rules = 1/udev_rules = 0/' etc/lvm/lvm.conf + + +#### +## +## Now we create the micro initrd +## + +cat < Creating new initrd '${INITRD_MICRO}' using ${INITRD_COMPR}..." + +find . | cpio -H newc -o | `echo ${INITRD_COMPR}` > ${INITRD_MICRO} + +echo -n "done!" + +#### +## +## Remove the directory +## + +cd ${OLDPWD} && rm -rf ${WORK_DIR} + +exit 0 diff --git a/blends/devuan-minimal-live/config b/blends/devuan-minimal-live/config index 3d6cb47..2d46235 100644 --- a/blends/devuan-minimal-live/config +++ b/blends/devuan-minimal-live/config @@ -4,9 +4,9 @@ vars+=(username userpass default_shell mkefi grubversion hookscripts) arrs+=(custom_deb_packages) -blend_name="devuan-minimal-live_" +blend_name="devuan-minimal-live" -release="ascii" +release="beowulf" username="devuan" diff --git a/blends/devuan-minimal-live/devuan-minimal-live.blend b/blends/devuan-minimal-live/devuan-minimal-live.blend index 6879abd..0a8d8f5 100644 --- a/blends/devuan-minimal-live/devuan-minimal-live.blend +++ b/blends/devuan-minimal-live/devuan-minimal-live.blend @@ -38,7 +38,7 @@ blend_preinst() { notice "copying blend-specific debs into $R/extra/custom-packages" ## No more custom-packages - ##cp -fv "$blend_release_path"/custom_debs/*.deb "$R/extra/custom-packages" + cp -fv "$blend_release_path"/custom_debs/*.deb "$R/extra/custom-packages" } blend_postinst() { @@ -48,10 +48,10 @@ blend_postinst() { notice "executing $blend_name postinst" - [[ "$mkefi" = "yes" ]] && { - iso_make_efi - iso_write_grub_cfg - } +# [[ "$mkefi" = "yes" ]] && { +# iso_make_efi +# iso_write_grub_cfg +# } ## TODO: ENABLE THIS install-custdebs || zerr @@ -71,6 +71,7 @@ iso_write_isolinux_cfg() { notice "copying isolinux overlay" sudo mkdir -p "$workdir"/binary/{live,isolinux} sudo cp -rav "$blend_release_path"/isolinux_overlay/* "$workdir"/binary/isolinux/ + #[[ -n "$hookscripts" ]] && { # sudo cp -av "$BLENDPATH"/hooks "$workdir"/binary/live/ #} @@ -216,7 +217,7 @@ menuentry "${os}-live (${arch})" { menuentry "Other language" { set gfxpayload=keep - linux /live/vmlinuz boot=live username=$username hooks=file:///lib/live/mount/medium/live/hooks/fix-lang.sh locales=it_IT.UTF-8 + linux /live/vmlinuz boot=live username=$username locales=it_IT.UTF-8 keyboard-layouts=it initrd /live/initrd.img } @@ -272,6 +273,7 @@ rm -rf /data rm -f /etc/fstab rm -f /etc/popularity-contest.conf +rm -f /var/lib/dbus/machine-id # For ascii if no display manager is used. Maybe this should have a # contitional that's turned on/off in the config? @@ -284,6 +286,10 @@ sed -i 's/ non-free//g' /etc/apt/sources.list ## Disable updates sed -i '/-updates/s/^/## /g' /etc/apt/sources.list +## replace pkgmaster with deb.devuan.org +sed -i 's/pkgmaster/deb/g' + + ## insert service boot_beep insserv boot_beep @@ -329,12 +335,12 @@ rm /create_initrd.sh ## install additional packages -cd /custom-packages +cd /extra/custom-packages dpkg -i \$(find ./ -type f -name '*.deb') ## package list -#dpkg -l | awk '/^ii/ { print $2 " " $3 }' > /home/${username}/package_list +dpkg -l | awk '/^ii/ { print \$2 " " \$3 }' > /home/${username}/package_list ##apt-get update apt-get clean @@ -377,5 +383,9 @@ blend_finalize() { printf "copying ${strapdir}/boot/initrd.img to ${workdir}/binary/live/..." sudo cp -L ${strapdir}/boot/initrd.img ${workdir}/binary/live/ + printf "done\n" + printf "copying memtest86 to /binary/live\n" + sudo cp ${strapdir}/boot/memtest86+.bin ${workdir}/binary/live/memtest + printf "done\n" echo "done" }