├── CHANGELOG.md ├── Cloud ├── AWS.md ├── Azure.md └── Oracle.md ├── Features └── Encryption.md ├── Known-Issues.md ├── LICENSE ├── Physical ├── PC.md └── RaspberryPi.md ├── README.md ├── Virtual ├── QEMU.md ├── VMWare.md ├── Virtualbox.md └── config-examples │ ├── dhcp-config │ ├── create-seed.sh │ ├── meta-data.yaml │ ├── network-config-v2.yaml │ └── user-data.yaml │ └── static-config │ ├── create-seed.sh │ ├── meta-data.yaml │ ├── network-config-v2.yaml │ └── user-data.yaml ├── Work-in-progress.md ├── create-alpine-disk-image ├── definitions ├── cloud │ ├── aarch64-barebones-defines │ ├── aarch64-defines │ ├── aarch64-normal-defines │ ├── aliyun │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── aws │ │ ├── aarch64-defines │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── azure │ │ ├── aarch64-defines │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── defines │ ├── digitalocean │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── exoscale │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── fuga │ │ ├── defines │ │ └── x86_64-defines │ ├── generic │ │ ├── aarch64-defines │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── google │ │ ├── aarch64-defines │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── hetzner │ │ ├── aarch64-defines │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── linode │ │ ├── defines │ │ ├── x86-defines │ │ └── x86_64-defines │ ├── oracle │ │ ├── aarch64-defines │ │ ├── defines │ │ └── x86_64-defines │ ├── outscale │ │ ├── defines │ │ └── x86_64-defines │ ├── ovh │ │ ├── defines │ │ └── x86_64-defines │ ├── scaleway │ │ ├── defines │ │ └── x86_64-defines │ ├── tencent │ │ ├── defines │ │ └── x86_64-defines │ ├── vultr │ │ ├── defines │ │ └── x86_64-defines │ ├── x86-barebones-defines │ ├── x86-defines │ ├── x86-normal-defines │ ├── x86_64-barebones-defines │ ├── x86_64-defines │ └── x86_64-normal-defines ├── physical │ ├── aarch64-barebones-defines │ ├── aarch64-defines │ ├── aarch64-normal-defines │ ├── defines │ ├── ovhcloud │ │ ├── defines │ │ └── x86_64-defines │ ├── pc │ │ ├── defines │ │ └── x86_64-defines │ ├── rpi2 │ │ ├── aarch64-defines │ │ ├── armv7-defines │ │ └── defines │ ├── rpi3 │ │ ├── aarch64-defines │ │ ├── armv7-defines │ │ └── defines │ ├── rpi4 │ │ ├── aarch64-defines │ │ ├── armv7-defines │ │ └── defines │ ├── x86-barebones-defines │ ├── x86-defines │ ├── x86-normal-defines │ ├── x86_64-barebones-defines │ ├── x86_64-defines │ └── x86_64-normal-defines └── virtual │ ├── aarch64-barebones-defines │ ├── aarch64-defines │ ├── aarch64-normal-defines │ ├── cloud-hypervisor │ ├── defines │ └── x86_64-defines │ ├── crosvm │ ├── aarch64-defines │ ├── defines │ └── x86_64-defines │ ├── defines │ ├── generic │ ├── aarch64-defines │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── hyperv │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── libvirt │ ├── aarch64-defines │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── lxd │ ├── defines │ └── x86_64-defines │ ├── openbsd-vmm │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── openstack │ ├── aarch64-defines │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── parallels │ ├── aarch64-defines │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── proxmox │ ├── defines │ └── x86_64-defines │ ├── qemu │ ├── aarch64-defines │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── utm-qemu │ ├── aarch64-defines │ ├── defines │ └── x86_64-defines │ ├── utm-vmm │ ├── aarch64-defines │ ├── defines │ └── x86_64-defines │ ├── virtualbox │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── vmware │ ├── defines │ ├── x86-defines │ └── x86_64-defines │ ├── x86-barebones-defines │ ├── x86-defines │ ├── x86-normal-defines │ ├── x86_64-barebones-defines │ ├── x86_64-defines │ └── x86_64-normal-defines └── lib ├── bootloader-general-functions ├── cli-functions ├── cloud-functions ├── cloud-init-functions ├── common-defines ├── common-functions ├── disk-image-defines ├── disk-image-functions ├── efistub-functions ├── filesystems-functions ├── fscrypt-encryption-functions ├── grub-functions ├── harden-functions ├── initramfs-functions ├── kernel-module-defines ├── kernel-module-functions ├── limine-functions ├── luks-encryption-functions ├── lvm-functions ├── mkinitfs-functions ├── non-cloud-functions ├── ntp-defines ├── ntp-functions ├── packages ├── aarch64-packages-defines ├── armv7-packages-defines ├── x86-packages-defines └── x86_64-packages-defines ├── partitions-functions ├── physical-functions ├── rpi-bootloader-functions ├── services-functions ├── syslinux-functions ├── tiny-cloud-functions ├── uki-functions └── vm-functions /Cloud/AWS.md: -------------------------------------------------------------------------------- 1 | # AWS 2 | 3 | ## Status 4 | 5 | Work-in-progress 6 | 7 | ## Creating a disk image 8 | 9 | For x86_64 VMs: 10 | 11 | ``` 12 | create-alpine-disk-image --cloud aws --script-filename create.sh 13 | sudo ./create.sh 14 | ``` 15 | 16 | For Arm VMs: 17 | 18 | ``` 19 | create-alpine-disk-image --arch aarch64 --cloud aws --script-filename create.sh 20 | sudo ./create.sh 21 | ``` 22 | 23 | ## Importing a disk image as an AMI 24 | 25 | - load the disk image into an S3 bucket: 26 | ``` 27 | aws s3 cp alpine.raw s3://image-bucket/ 28 | ``` 29 | - create a file details.json with the following contents: 30 | ``` 31 | [ 32 | { 33 | "Description": "Alpine AWS 3.13", 34 | "Format": "RAW", 35 | "UserBucket": { 36 | "S3Bucket": "image-bucket", 37 | "S3Key": "alpine-3.13-aws.raw" 38 | } 39 | }] 40 | ``` 41 | - import the disk image from the S3 bucket to create an AMI: 42 | ``` 43 | aws ec2 import --architecture [ i386 | x86_64 | arm64 ] --description "Alpine 3.13" --disk-containers "file://details.json" 44 | ``` 45 | -------------------------------------------------------------------------------- /Cloud/Azure.md: -------------------------------------------------------------------------------- 1 | # Azure 2 | 3 | ## Status 4 | 5 | Work-in-progress 6 | 7 | ## Creating a disk image 8 | 9 | ``` 10 | ./create-alpine-disk-image --cloud azure --script-filename create.sh 11 | sudo ./create.sh 12 | ``` 13 | 14 | ## Linux tools for Azure 15 | 16 | The Microsoft [Azule CLI](https://github.com/Azure/azure-cli) is not yet packaged for Alpine. 17 | 18 | The Microsoft utility azcopy is not yet packaged for Alpine and appears to require .NET Core. A more lightweight Python alternative, also not yet packaged for Alpine, is [blobxfer](https://github.com/Azure/blobxfer). 19 | 20 | ## Importing a disk image 21 | 22 | - convert the RAW image to a VHD image: 23 | ``` 24 | qemu-img convert -f raw -O vhd alpine-3.13.raw alpine-3.13.vhd 25 | ``` 26 | - calculate the size of the image in bytes: 27 | ``` 28 | wc -c alpine-3.13.vhd 29 | ``` 30 | - create an empty managed disk for the image: 31 | ``` 32 | az disk create -n -g -l --for-upload --upload-size-bytes --sku standard_lrs 33 | ``` 34 | - generate a writeable SAS (Shared Access Signature): 35 | ``` 36 | az disk grant-access -n -g --access-level Write --duration-in-seconds 86400 37 | ``` 38 | - upload the VHD disk image to the managed disk: 39 | ``` 40 | blobxfer upload --local-path "alpine-3.13.vhd" --storage-url "" 41 | ``` 42 | - revoke the SAS: 43 | ``` 44 | az disk revoke-access -n -g 45 | ``` 46 | -------------------------------------------------------------------------------- /Features/Encryption.md: -------------------------------------------------------------------------------- 1 | # Encryption 2 | 3 | Enables the encryption of disk image's root filesystem (and /boot if GRUB is 4 | bootloader). 5 | 6 | Optional remote unlocking of encryption via SSH is a work-in-progress. 7 | 8 | Command-line options to control encryption are: 9 | 10 | - --encrypt 11 | - --encrypt-passphrase 12 | - --encrypt-remote-unlock 13 | - --remote-unlock-network-module 14 | - --remote-unlock-ssh-port 15 | - --remote-unlock-static-gateway 16 | - --remote-unlock-static-interface 17 | - --remote-unlock-static-ip 18 | - --remote-unlock-static-netmask 19 | - --ssh-public-key 20 | 21 | ## LUKS key slots used 22 | 23 | Key Slot 0 stores the passphrase to unlock the encrypted partition. 24 | 25 | When GRUB is the bootloader (and only if remote unlocking is not enabled) then Key Slot 1 is also used for the keyfile used to automatically unlock the root filesystem (after GRUB has unlocked the boot files). This is to avoid having to enter the passphrase twice (once for GRUB and then again for the initramfs to unlock the root filesystem). 26 | 27 | ## GRUB 28 | 29 | Full disk encryption (including /boot) it supported using GRUB, as long as 30 | remote unlock is *not enabled*. If remote unlock is enabled then 31 | GRUB-encryption will not be enabled (as that would defeat the whole point of 32 | remote encryption unlock) and only normal LUKS encryption is used. 33 | 34 | Currently for GRUB use LUKS version 1 filesystems are created. The aim is to, *in the near future*, create LUKS version 2 filesystems for Alpine >= 3.14 & Edge once issues related to GRUB & LUKS2 have been resolved. 35 | 36 | A keyfile is created (when remote unlock is not enabled), in additional to a 37 | passphrase, so that the user is not prompted for the passphrase twice (by 38 | GRUB and then by cryptsetup) during boot - the keyfile is stored in the 39 | initramfs and the file permissions of both the keyfile and /boot/initramfs 40 | are set accordingly. 41 | 42 | ## Syslinux 43 | 44 | Encryption of root filesystem is supported however in that case a separate 45 | unencrypted /boot partition is created. 46 | 47 | ## Raspberry Pi 48 | 49 | Encryption of root filesystem is supported. 50 | 51 | ## Remote unlocking of encryption 52 | 53 | This is a work-in-progress. 54 | -------------------------------------------------------------------------------- /Known-Issues.md: -------------------------------------------------------------------------------- 1 | # Known issue not yet addressed 2 | 3 | - inodes are not set appropriately to take into account later partition 4 | growth. The root filesystem should be formatted will enough inodes 5 | based on the assumption it will be grown later. 6 | 7 | - 4K device sector are not presently handled. This means disk images will not 8 | work optimally on physical/VM/cloud machines that provide a storage device 9 | with 4K logical sector sizes, indeed for UEFI machines they will likely not 10 | boot as the ESP partition will not be sized appropriately (the minimal FAT 11 | filesystem size for 4K sector devices is larger than for 512-byte sector 12 | devices). In the future the script will add an option to specify sector size 13 | and will take this into account when partitioning the disk image, installing 14 | the bootloader and formatting any LUKS filesystem. 15 | 16 | - encrypted disk images when dd'ed onto disks will have known passphrase/key 17 | and volume key. The planned bootable image installer utility will reencrypt 18 | disk images (in ramdisk) before dd'ing them to the destination device so 19 | that each time the same disk image is installed its volume key will be unique. 20 | -------------------------------------------------------------------------------- /Physical/PC.md: -------------------------------------------------------------------------------- 1 | # x86 and x86_64 PCs 2 | 3 | ## Status 4 | 5 | | Arch | Drive | Boot type | Bootloader | Status | 6 | |:--------:|:-----:|:---------:|:----------:|:------------:| 7 | | x86 | SATA | BIOS | Grub | Not tested | 8 | | x86 | NVME | BIOS | Grub | Not tested | 9 | | x86 | SATA | BIOS | Syslinux | Not tested | 10 | | x86 | NVME | BIOS | Syslinux | Not tested | 11 | | x86_64 | SATA | BIOS | Grub | Working | 12 | | x86_64 | NVME | BIOS | Grub | Not tested | 13 | | x86_64 | SATA | BIOS | Syslinux | Working | 14 | | x86_64 | NVME | BIOS | Syslinux | Not tested | 15 | | x86_64 | SATA | UEFI | Grub | Working | 16 | | x86_64 | NVME | UEFI | Grub | Not tested | 17 | | x86_64 | SATA | UEFI | Syslinux | Experimental | 18 | | x86_64 | NVME | UEFI | Syslinux | Experimental | 19 | 20 | ## Creating a disk image 21 | 22 | For x86 boot type of BIOS and Syslinux bootloader is assumed. 23 | For x86_64 boot type of UEFI and Grub bootloader is assumed. 24 | 25 | For x86_64 BIOS-based PC using Grub ("--arch x86_86" is optional): 26 | 27 | ``` 28 | create-alpine-disk-image \ 29 | [ --arch x86_64 ] --bootloader grub --boottype bios --physical --script-filename create.sh 30 | sudo ./create.sh 31 | ``` 32 | 33 | For x86_64 BIOS-based PC using Syslinux: 34 | 35 | ``` 36 | create-alpine-disk-image \ 37 | [ --arch x86_64 ] [ --bootloader syslinux ] --boottype bios --physical --script-filename create.sh 38 | sudo ./create.sh 39 | ``` 40 | 41 | For x86_64 UEFI-based PC using Grub: 42 | 43 | ``` 44 | create-alpine-disk-image \ 45 | [ --arch x86_64 ] [ --bootloader grub ] [ --boottype uefi ] --physical --script-filename create.sh 46 | sudo ./create.sh 47 | ``` 48 | 49 | ## Using a disk image 50 | 51 | - boot the PC using an existing Linux boot media (i.e. USB stick, CDROM etc) 52 | 53 | - copy the disk image onto a SSD or HDD using 'dd'. For example where the 54 | drive to write to is /dev/sdb you could run something like: 55 | 56 | ``` 57 | dd if=alpine-disk-image.img of=/dev/sdb bs=1M 58 | ``` 59 | 60 | ## cloud-init user-data 61 | 62 | The disk image includes a small FAT partition (with label "cidata") 63 | containing 3 cloud-init YAML configuration files. There is also a 64 | sub-directory there with example files. 65 | 66 | Simply edit these files *before* booting the machine the first time to 67 | tailor things like hostname, IP address, etc. 68 | -------------------------------------------------------------------------------- /Physical/RaspberryPi.md: -------------------------------------------------------------------------------- 1 | # Raspberry Pis 2 | 3 | ## Status 4 | 5 | | Board Type | Arch | Status | 6 | |:-------------------:|:--------:|:----------:| 7 | | RPI 2B version 1.2+ | aarch64 | Not tested | 8 | | RPI 2B | armv7 | Not tested | 9 | | RPI 3B & 3B+ | aarch64 | Working | 10 | | RPI 3B & 3B+ | armv7 | Not tested | 11 | | RPI 4B | aarch64 | Not tested | 12 | | RPI 4B | armv7 | Not tested | 13 | 14 | ## Creating a disk image 15 | 16 | For aarch64 RPI3: 17 | 18 | ``` 19 | create-alpine-disk-image \ 20 | --arch aarch64 --physical rpi2 --script-filename create.sh 21 | sudo ./create.sh 22 | ``` 23 | 24 | For armv7 RPI2: 25 | 26 | ``` 27 | create-alpine-disk-image \ 28 | --arch armv7 --physical rpi2 --script-filename create.sh 29 | sudo ./create.sh 30 | ``` 31 | 32 | ## Using a disk image 33 | 34 | - using a PC (with either a SDcard socket or with a USB-to-SDcard adaptor) 35 | copy the disk image onto a SDcard using 'dd'. When using a USB adaptor the 36 | SDcard device may be something like /dev/sdb or /dev/sdc whereas with a 37 | built-in SDcard reader it may be /dev/mmcblk0. For example: 38 | 39 | ``` 40 | dd if=alpine-disk-image.img of=/dev/sdb bs=1M 41 | ``` 42 | 43 | ## cloud-init user-data 44 | 45 | The disk image includes a small FAT partition (with label "cidata") 46 | containing 3 cloud-init YAML configuration files. There is also a 47 | sub-directory there with example files. 48 | 49 | Simply edit these files *before* booting the Raspberry Pi the first time to 50 | tailor things like hostname, IP address, etc. 51 | -------------------------------------------------------------------------------- /Virtual/VMWare.md: -------------------------------------------------------------------------------- 1 | # VMWare 2 | 3 | ## Status 4 | 5 | ## Status 6 | 7 | | Arch | Boot type | Bootloader | Status | 8 | |:--------:|:---------:|:----------:|:----------:| 9 | | x86 | BIOS | Grub | Not tested | 10 | | x86 | BIOS | Syslinux | Not tested | 11 | | x86_64 | BIOS | Grub | Not tested | 12 | | x86_64 | BIOS | Syslinux | Not tested | 13 | | x86_64 | UEFI | Grub | Not tested | 14 | | x86_64 | UEFI | Syslinux | Not tested | 15 | 16 | ## Creating a disk image 17 | 18 | For x86_64 BIOS VMs: 19 | 20 | ``` 21 | create-alpine-disk-image \ 22 | --boottype bios --virtual vmware --script-filename create.sh 23 | sudo ./create.sh 24 | ``` 25 | 26 | For x86_64 UEFI VMs: 27 | 28 | ``` 29 | create-alpine-disk-image \ 30 | --virtual vmware --script-filename create.sh 31 | sudo ./create.sh 32 | ``` 33 | 34 | ## Importing a disk image 35 | 36 | - convert the RAW image to a VMDK image: 37 | 38 | The basic form is: 39 | 40 | ``` 41 | qemu-img convert -f raw -O vmdk -o adapter_type=lsilogic alpine-3.14.img alpine-3.14.vmdk 42 | ``` 43 | 44 | The ```-o adapter_type=lsilogic``` option indicates that a scsi controller 45 | should be stored in the VMDK metadata rather than the default IDE controller. 46 | 47 | It appears that some versions of VMWare products may not like the above and so 48 | the ```subformat``` option may also need to be specified with a value of 49 | either ```monolithicFlat``` or ```streamOptimized``` rather than the default 50 | value of ```monolithicSparse```. 51 | 52 | Multiple options are comma separate and so to select SCSI and monolithicFlat 53 | the option list would be: 54 | 55 | ``` 56 | -o adapter_type=lsilogic,subformat=monolithicFlat 57 | ``` 58 | 59 | The "adapter_type" option provides no way to specify PVSCSI which would be 60 | the optimal storage controller to use for a VM - this can however be 61 | selected when creating the VM in the VMware admin interface (i.e. VSphere). 62 | 63 | - create a new VM in VMWare 64 | 65 | Select the storage controller to be VMware Paravirtual. 66 | Select the network controller to be Enhanced vmxnet. 67 | 68 | Import the VMDK file created above. 69 | 70 | ## cloud-init user-data 71 | 72 | The following is the minimum user-data you should specify: 73 | 74 | ``` 75 | # Set default user's password (for console login use) 76 | password: test 77 | 78 | # Authorised Keys: add to those of the default user 79 | ssh_authorized_keys: 80 | - ssh-rsa SSH-paste-rest-of-public-key-here 81 | ``` 82 | -------------------------------------------------------------------------------- /Virtual/Virtualbox.md: -------------------------------------------------------------------------------- 1 | # Virtualbox 2 | 3 | ## Status 4 | 5 | ## Status 6 | 7 | | Arch | Boot type | Bootloader | Status | 8 | |:--------:|:---------:|:----------:|:----------:| 9 | | x86 | BIOS | Grub | Working | 10 | | x86 | BIOS | Syslinux | Working | 11 | | x86_64 | BIOS | Grub | Working | 12 | | x86_64 | BIOS | Syslinux | Working | 13 | | x86_64 | UEFI | Grub | Working | 14 | | x86_64 | UEFI | Syslinux | Working | 15 | 16 | ## Creating a disk image 17 | 18 | For x86_64 BIOS VMs: 19 | 20 | ``` 21 | create-alpine-disk-image \ 22 | --boottype bios --virtual virtualbox --script-filename create.sh 23 | sudo ./create.sh 24 | ``` 25 | 26 | For x86_64 UEFI VMs: 27 | 28 | ``` 29 | create-alpine-disk-image \ 30 | --virtual virtualbox --script-filename create.sh 31 | sudo ./create.sh 32 | ``` 33 | 34 | ## Importing a disk image 35 | 36 | - convert the RAW image to a VDI image: 37 | ``` 38 | VBoxManage convertfromraw alpine-3.14.img alpine-3.14.vdi --format VDI 39 | ``` 40 | 41 | - create a new VM in Virtualbox 42 | 43 | ``` 44 | Select the "New" icon. 45 | 46 | In the "Hard Disk" section select "Do not add a virtual hard disk", then 47 | click on "Create" button. 48 | 49 | Now on the main screen select the Alpine virtual machine and click on 50 | "Settings" icon. Click on the "Storage" icon. Right-click on the "Controller: 51 | IDE" entry and select "Remove Controller". Next click on the 1st icon at 52 | bottom to add a new storage controller, and select "virtio-scsi". Next with 53 | "Controller: VirtIO" highlighted click on the 2nd icon next to it ("Adds 54 | hard disk") which brings up the "Hard Disk Selector" dialog box. In the 55 | dialog box click the "Add" icon, then pick the VDI file of the Alpine image and 56 | click on "Open" button, then back in the dialog click on "Choose" button. 57 | 58 | Click on the "Network" icon. Click on "Advanced", then change the "Adapter 59 | Type" to "Paravirtualised Network (virtio-net)" and click "OK" button. 60 | 61 | Finally click on "OK" button. 62 | ``` 63 | 64 | ## cloud-init user-data 65 | 66 | The following is the minimum user-data you should specify: 67 | 68 | ``` 69 | # Set default user's password (for console login use) 70 | password: test 71 | 72 | # Authorised Keys: add to those of the default user 73 | ssh_authorized_keys: 74 | - ssh-rsa SSH-paste-rest-of-public-key-here 75 | ``` 76 | -------------------------------------------------------------------------------- /Virtual/config-examples/dhcp-config/create-seed.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Creating cloud-init ISO..." 4 | rm -f ../dhcp-seed.img 5 | cloud-localds \ 6 | --verbose \ 7 | --disk-format raw \ 8 | --filesystem iso9660 \ 9 | --network-config=network-config-v2.yaml \ 10 | ../dhcp-seed.img \ 11 | user-data.yaml \ 12 | meta-data.yaml 13 | 14 | exit 15 | -------------------------------------------------------------------------------- /Virtual/config-examples/dhcp-config/meta-data.yaml: -------------------------------------------------------------------------------- 1 | instance-id: 506f2788-9741-4ed8-af53-c6a21383d09a 2 | 3 | -------------------------------------------------------------------------------- /Virtual/config-examples/dhcp-config/network-config-v2.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | ethernets: 3 | eth0: 4 | dhcp4: yes 5 | dhcp6: yes 6 | -------------------------------------------------------------------------------- /Virtual/config-examples/static-config/create-seed.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Creating cloud-init ISO..." 4 | rm -f ../static-seed.img 5 | cloud-localds \ 6 | --verbose \ 7 | --disk-format raw \ 8 | --filesystem iso9660 \ 9 | --network-config=network-config-v2.yaml \ 10 | ../static-seed.img \ 11 | user-data.yaml \ 12 | meta-data.yaml 13 | 14 | exit 15 | -------------------------------------------------------------------------------- /Virtual/config-examples/static-config/meta-data.yaml: -------------------------------------------------------------------------------- 1 | instance-id: 506f2788-9741-4ed8-af53-c6a21383d09a 2 | 3 | -------------------------------------------------------------------------------- /Virtual/config-examples/static-config/network-config-v2.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | ethernets: 3 | eth0: 4 | match: 5 | macaddress: '52:54:00:12:34:56' 6 | name: eth0 7 | addresses: 8 | - 192.168.1.2/24 9 | gateway4: 192.168.1.1 10 | nameservers: 11 | addresses: [ 192.168.1.1 ] 12 | 13 | -------------------------------------------------------------------------------- /Work-in-progress.md: -------------------------------------------------------------------------------- 1 | # Features that are not yet functional 2 | 3 | * Using SSH Servers other than OpenSSH. A "--ssh-server" option was added 4 | with values "dropbear", "openssh", and "tinyssh" that does install and 5 | enable the appropriate daemon. However cloud-init does not presently support 6 | SSH servers other than OpenSSH - I am working on a cloud-init patch to 7 | support this. 8 | 9 | * Bootcharts is not working currently. 10 | -------------------------------------------------------------------------------- /definitions/cloud/aarch64-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud aarch64-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs for barebones 15 | readonly CADI_INITRAMFS_SIZE=6 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=160 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | 25 | # Size of files in rootfs except for kernel package 26 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 27 | 28 | # Size of an ESP partition/FAT fs for barebones containing either: 29 | # - EFI stub, kernel, and initramfs files 30 | # or 31 | # - a single UKI file made up of EFI stub, kernel, and initramfs 32 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE)) 33 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 34 | -------------------------------------------------------------------------------- /definitions/cloud/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of Gummiboot/Stubby EFI stub file 15 | readonly CADI_EFISTUB_SIZE=1 16 | 17 | 18 | # linux-edge 19 | #------------ 20 | 21 | # Installed size of the linux-edge package (in MiB) 22 | readonly CADI_KERNEL_EDGE_PACKAGE_SIZE=109 23 | # Size of linux-edge kernel file (in MiB) 24 | readonly CADI_KERNEL_EDGE_FILE_SIZE=7 25 | # Size of linux-edge System.map (in MiB) 26 | readonly CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE=3 27 | # Size of linux-edge config-edge (in MiB) 28 | readonly CADI_KERNEL_EDGE_CONFIG_FILE_SIZE=1 29 | # Size of linux-edge DTB files (in MiB) 30 | readonly CADI_KERNEL_EDGE_DTB_FILES_SIZE=12 31 | # Size of linux-edge System.map, config, DTB files, and kernel file (in MiB) 32 | readonly CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_EDGE_CONFIG_FILE_SIZE + CADI_KERNEL_EDGE_DTB_FILES_SIZE + CADI_KERNEL_EDGE_FILE_SIZE)) 33 | # Size of linux-edge package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 34 | readonly CADI_ROOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE)) 35 | 36 | 37 | # linux-virt 38 | #------------ 39 | 40 | # Installed size of the linux-virt package (in MiB) 41 | readonly CADI_KERNEL_VIRT_PACKAGE_SIZE=41 42 | # Size of linux-virt kernel file (in MiB) 43 | readonly CADI_KERNEL_VIRT_FILE_SIZE=7 44 | # Size of linux-virt System.map (in MiB) 45 | readonly CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE=3 46 | # Size of linux-virt config-virt (in MiB) 47 | readonly CADI_KERNEL_VIRT_CONFIG_FILE_SIZE=1 48 | # Size of linux-virt DTB files (in MiB) 49 | readonly CADI_KERNEL_VIRT_DTB_FILES_SIZE=12 50 | # Size of linux-virt System.map, config, DTB files, and kernel file from kernel package (in MiB) 51 | readonly CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_VIRT_CONFIG_FILE_SIZE + CADI_KERNEL_VIRT_DTB_FILES_SIZE + CADI_KERNEL_VIRT_FILE_SIZE)) 52 | # Size of linux-virt package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 53 | readonly CADI_ROOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE)) 54 | -------------------------------------------------------------------------------- /definitions/cloud/aarch64-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud aarch64-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs 15 | readonly CADI_INITRAMFS_SIZE=6 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=218 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=5 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | 25 | # Size of files in rootfs except for kernel package 26 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 27 | 28 | # Size of an ESP partition/FAT fs for barebones containing either: 29 | # - EFI stub, kernel, and initramfs files 30 | # or 31 | # - a single UKI file made up of EFI stub, kernel, and initramfs 32 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE)) 33 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 34 | -------------------------------------------------------------------------------- /definitions/cloud/aliyun/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud aliyun defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="AliYun" 17 | readonly CADI_SUPPORTED_CLOUD_INIT_NETWORK_HOTPLUG=true 18 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 19 | readonly CADI_SUPPORTED_IPV4=true 20 | readonly CADI_SUPPORTED_IPV6=true 21 | readonly CADI_SUPPORTED_IPV4_IPV6=true 22 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 23 | readonly CADI_SUPPORTED_OS_BOOT_DISK_SWAP=false 24 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 25 | 26 | 27 | # Defaults 28 | readonly CADI_DEFAULT_ARCH="x86_64" 29 | readonly CADI_DEFAULT_NTP_METHOD="pools" 30 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 31 | 32 | 33 | # Additional 34 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 35 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 36 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 37 | -------------------------------------------------------------------------------- /definitions/cloud/aliyun/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud aliyun x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,syslinux,limine" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="acpi_pm,kvm,tsc" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal,normal_and_serial,serial" 22 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="bochs,simpledrm" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 32 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 33 | readonly CADI_SUPPORTED_RNGS="none" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 35 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 36 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 37 | 38 | 39 | # Defaults 40 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 41 | readonly CADI_DEFAULT_BOOTLOADER="grub" 42 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 43 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="serial" 44 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 45 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 46 | 47 | 48 | # Additional 49 | -------------------------------------------------------------------------------- /definitions/cloud/aliyun/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud aliyun x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,secure-uefi,uefi,hybrid" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,syslinux,limine" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_SECURE_UEFI="grub" 21 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 22 | readonly CADI_SUPPORTED_CLOCKSOURCES="acpi_pm,kvm,tsc" 23 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal,normal_and_serial,serial" 24 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="bochs,simpledrm" 25 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 26 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 27 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 28 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 29 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 30 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 31 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 32 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 33 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 34 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 35 | readonly CADI_SUPPORTED_RNGS="none" 36 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 37 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 38 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 39 | 40 | 41 | # Defaults 42 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 43 | readonly CADI_DEFAULT_BOOTLOADER="grub" 44 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 45 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="serial" 46 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 47 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 48 | 49 | 50 | # Additional 51 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 52 | # Size of package & all their dependencies (in MB) 53 | readonly CADI_PACKAGES_EXTRA_SIZE=1 54 | -------------------------------------------------------------------------------- /definitions/cloud/aws/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud aws defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Ec2" 17 | readonly CADI_SUPPORTED_CLOUD_INIT_NETWORK_HOTPLUG=true 18 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 19 | readonly CADI_SUPPORTED_IPV4=true 20 | readonly CADI_SUPPORTED_IPV6=true 21 | readonly CADI_SUPPORTED_IPV4_IPV6=true 22 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers,servers_and_pools" 23 | readonly CADI_SUPPORTED_OS_BOOT_DISK_SWAP=false 24 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 25 | readonly CADI_SUPPORTED_OS_LUKS_ENCRYPTION=false 26 | 27 | 28 | # Defaults 29 | readonly CADI_DEFAULT_ARCH="x86_64" 30 | readonly CADI_DEFAULT_NTP_METHOD="servers_and_pools" 31 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 32 | 33 | 34 | # Additional 35 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 36 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 37 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 38 | readonly CADI_NTP_IPV4_SERVERS="169.254.169.123" 39 | readonly CADI_NTP_IPV6_SERVERS="fd00:ec2::123" 40 | readonly CADI_NTP_POOLS="time.aws.com" 41 | -------------------------------------------------------------------------------- /definitions/cloud/azure/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud azure defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://learn.microsoft.com/en-us/legal/marketplace/certification-policies#20033-linux 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 18 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Azure" 19 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 20 | readonly CADI_SUPPORTED_IPV4=true 21 | readonly CADI_SUPPORTED_IPV6=true 22 | readonly CADI_SUPPORTED_IPV4_IPV6=true 23 | readonly CADI_SUPPORTED_NTP_METHODS="pools,ptp,servers" 24 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 25 | 26 | 27 | # Defaults 28 | readonly CADI_DEFAULT_ARCH="x86_64" 29 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 30 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 31 | 32 | 33 | # Additional 34 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 35 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 36 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 37 | readonly CADI_CLOUD_INIT_USES_FS="ISO" 38 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_hyperv" 39 | readonly CADI_PTP_DEVICE_TYPE="hyperv" 40 | readonly CADI_PTP_DPOLL=-2 41 | readonly CADI_PTP_OFFSET=0.0 42 | readonly CADI_PTP_POLL=3 43 | readonly CADI_PTP_STRATUM=2 44 | -------------------------------------------------------------------------------- /definitions/cloud/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | ########################################################################### 15 | # Partition / filesystem sizing (in MiB) 16 | ########################################################################### 17 | 18 | readonly CADI_DEFAULT_ESP_PART_SIZE=1 19 | readonly CADI_DEFAULT_ESP_TYPE="fat12" 20 | readonly CADI_DEFAULT_EFISTUB_ESP_TYPE="fat16" 21 | -------------------------------------------------------------------------------- /definitions/cloud/digitalocean/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud digitalocean defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://docs.digitalocean.com/products/droplets/how-to/connect-with-console/ 15 | # https://docs.digitalocean.com/products/images/custom-images/how-to/upload/ 16 | 17 | # Supported 18 | readonly CADI_SUPPORTED_ARCHS="x86,x86_64" 19 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="ConfigDrive" 20 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 21 | readonly CADI_SUPPORTED_IPV4=true 22 | readonly CADI_SUPPORTED_IPV6=true 23 | readonly CADI_SUPPORTED_IPV4_IPV6=true 24 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 25 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 26 | 27 | 28 | # Defaults 29 | readonly CADI_DEFAULT_ARCH="x86_64" 30 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 31 | readonly CADI_DEFAULT_NTP_METHOD="pools" 32 | 33 | 34 | # Additional 35 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 36 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 37 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 38 | readonly CADI_CLOUD_INIT_DISABLE_VENDORDATA=true 39 | -------------------------------------------------------------------------------- /definitions/cloud/digitalocean/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud digitalocean x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://docs.digitalocean.com/products/droplets/how-to/connect-with-console/ 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 18 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 19 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,syslinux,limine" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="none" 23 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 24 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 25 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="none" 26 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 27 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 30 | readonly CADI_SUPPORTED_OS_BOOT_DISK_SWAP=true 31 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 32 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 33 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk" 34 | readonly CADI_SUPPORTED_OS_LUKS_ENCRYPTION=false 35 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 36 | readonly CADI_SUPPORTED_RNGS="virtio" 37 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk" 38 | 39 | 40 | # Defaults 41 | readonly CADI_DEFAULT_BOOTLOADER="grub" 42 | readonly CADI_DEFAULT_CLOCKSOURCE="generic" 43 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 44 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 45 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 46 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 47 | 48 | 49 | # Additional 50 | readonly CADI_CLOUD_CLI_PACKAGES="doctl" 51 | readonly CADI_CLOUD_CLI_PACKAGES_NOTPRESENTIN="v3.13,v3.14,v3.15" 52 | # Size of packages & all their dependencies (in MB) 53 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=23 54 | readonly CADI_DISK_IMAGE_COMPRESSION="gzip" 55 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 56 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 57 | # Size of package & all their dependencies (in MB) 58 | readonly CADI_PACKAGES_EXTRA_SIZE=1 59 | -------------------------------------------------------------------------------- /definitions/cloud/digitalocean/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud digitalocean x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://docs.digitalocean.com/products/droplets/how-to/connect-with-console/ 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 18 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 19 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,syslinux,limine" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 23 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 24 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 25 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 26 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 27 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 30 | readonly CADI_SUPPORTED_OS_BOOT_DISK_SWAP=true 31 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 32 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 33 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk" 34 | readonly CADI_SUPPORTED_OS_LUKS_ENCRYPTION=false 35 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 36 | readonly CADI_SUPPORTED_RNGS="virtio" 37 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk" 38 | 39 | 40 | # Defaults 41 | readonly CADI_DEFAULT_BOOTLOADER="grub" 42 | readonly CADI_DEFAULT_CLOCKSOURCE="generic" 43 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 44 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 45 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 46 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 47 | 48 | 49 | # Additional 50 | readonly CADI_CLOUD_CLI_PACKAGES="doctl" 51 | readonly CADI_CLOUD_CLI_PACKAGES_NOTPRESENTIN="v3.13,v3.14,v3.15" 52 | # Size of packages & all their dependencies (in MB) 53 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=24 54 | readonly CADI_DISK_IMAGE_COMPRESSION="gzip" 55 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 56 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 57 | # Size of package & all their dependencies (in MB) 58 | readonly CADI_PACKAGES_EXTRA_SIZE=1 59 | -------------------------------------------------------------------------------- /definitions/cloud/exoscale/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud exoscale defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Exoscale" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_BOOT_DISK_SWAP=false 23 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 24 | 25 | 26 | # Defaults 27 | readonly CADI_DEFAULT_ARCH="x86_64" 28 | readonly CADI_DEFAULT_NTP_METHOD="servers" 29 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 30 | 31 | 32 | # Additional 33 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 34 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 35 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 36 | -------------------------------------------------------------------------------- /definitions/cloud/exoscale/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud exoscale x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="acpi_pm,kvm,tsc" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,normal,normal_and_serial,serial" 22 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,bochs,simpledrm" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 32 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 33 | readonly CADI_SUPPORTED_RNGS="virtio" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 35 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 36 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 37 | 38 | 39 | # Defaults 40 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 41 | readonly CADI_DEFAULT_BOOTLOADER="grub" 42 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 43 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="serial" 44 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 45 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 46 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 47 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 48 | 49 | 50 | # Additional 51 | readonly CADI_CLOUD_CLI_PACKAGES="exoscale" 52 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=28 53 | readonly CADI_CLOUD_CLI_PACKAGES_NOTPRESENTIN="v3.13,v3.14,v3.15,v3.16" 54 | -------------------------------------------------------------------------------- /definitions/cloud/exoscale/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud exoscale x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid,secure-uefi,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_SECURE_UEFI="grub" 21 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 22 | readonly CADI_SUPPORTED_CLOCKSOURCES="acpi_pm,kvm,tsc" 23 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,normal,normal_and_serial,serial" 24 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,bochs,simpledrm" 25 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 26 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 27 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 28 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 29 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 30 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 31 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 32 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 33 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 34 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 35 | readonly CADI_SUPPORTED_RNGS="virtio" 36 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 37 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 38 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 39 | 40 | 41 | # Defaults 42 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 43 | readonly CADI_DEFAULT_BOOTLOADER="grub" 44 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 45 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="serial" 46 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 47 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 48 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="mbr" 49 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 50 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 51 | 52 | 53 | # Additional 54 | readonly CADI_CLOUD_CLI_PACKAGES="exoscale" 55 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=31 56 | readonly CADI_CLOUD_CLI_PACKAGES_NOTPRESENTIN="v3.13,v3.14,v3.15,v3.16" 57 | -------------------------------------------------------------------------------- /definitions/cloud/fuga/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud fuga defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="OpenStack" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_NTP_METHOD="pools" 27 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 28 | 29 | 30 | # Additional 31 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 32 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 33 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 34 | readonly CADI_CLOUD_INIT_DISABLE_VENDORDATA=true 35 | -------------------------------------------------------------------------------- /definitions/cloud/fuga/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud fuga x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 21 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 22 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 23 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 24 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 25 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 26 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 27 | readonly CADI_SUPPORTED_OS_BOOT_DISK_SWAP=true 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 41 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 42 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 43 | 44 | 45 | # Additional 46 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 47 | -------------------------------------------------------------------------------- /definitions/cloud/generic/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud generic defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 16 | #readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud,ConfigDrive,Akamai,AliYun,Azure,Bigstep,Ec2,Exoscale,GCE,Hetzner,IBMCloud,OpenStack,Oracle,RbxCloud,Scaleway,UpCloud,Vultr" 17 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud,ConfigDrive,AliYun,Azure,Bigstep,Ec2,Exoscale,GCE,Hetzner,IBMCloud,OpenStack,Oracle,RbxCloud,Scaleway,UpCloud,Vultr,None" 18 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 19 | readonly CADI_SUPPORTED_IPV4=true 20 | readonly CADI_SUPPORTED_IPV6=true 21 | readonly CADI_SUPPORTED_IPV4_IPV6=true 22 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 23 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 24 | 25 | 26 | # Defaults 27 | readonly CADI_DEFAULT_ARCH="x86_64" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CLOUD_INIT_USES_FS="ISO,VFAT" 33 | -------------------------------------------------------------------------------- /definitions/cloud/google/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud google aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://cloud.google.com/compute/docs/import/import-existing-image#prepare_boot_disk 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ACPI_BUTTONS="generic,gpio,tiny-power-button" 18 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 19 | readonly CADI_SUPPORTED_BOOT_TYPES="secure-uefi,uefi" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_SECURE_UEFI="none" 21 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub" 22 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 23 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 24 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="virtio-gpu" 25 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 26 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics" 27 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 28 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 29 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 30 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="generic,gve,virtio-net" 31 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 32 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 33 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-scsi" 34 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 35 | readonly CADI_SUPPORTED_RNGS="virtio" 36 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyAMA" 37 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 38 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_SPEED="38400" 39 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-scsi" 40 | 41 | 42 | # Defaults 43 | readonly CADI_DEFAULT_ACPI_BUTTON="generic" 44 | readonly CADI_DEFAULT_BOOT_TYPE="uefi" 45 | readonly CADI_DEFAULT_NETWORK_DRIVER="generic" 46 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 47 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-scsi" 48 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 49 | 50 | 51 | # Additional 52 | readonly CADI_DISK_IMAGE_FORMAT="raw" 53 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 54 | # Size of package & all their dependencies (in MB) 55 | readonly CADI_PACKAGES_EXTRA_SIZE=1 56 | -------------------------------------------------------------------------------- /definitions/cloud/google/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud google defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://morganpeat.github.io/cloudmigration/2019/02/01/time-sync-on-cloud-vms-2.html 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 18 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="GCE" 19 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 20 | readonly CADI_SUPPORTED_IPV4=true 21 | readonly CADI_SUPPORTED_IPV6=true 22 | readonly CADI_SUPPORTED_IPV4_IPV6=true 23 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 24 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 25 | 26 | 27 | # Defaults 28 | readonly CADI_DEFAULT_ARCH="x86_64" 29 | readonly CADI_DEFAULT_NTP_METHOD="servers" 30 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 31 | 32 | 33 | # Additional 34 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 35 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 36 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 37 | readonly CADI_CMDLINE_QUIET="false" 38 | readonly CADI_NTP_SERVERS="metadata.google.internal" 39 | -------------------------------------------------------------------------------- /definitions/cloud/google/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud google x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://cloud.google.com/compute/docs/import/import-existing-image#prepare_boot_disk 15 | # 16 | # Google x86_86 only support BIOS booting via Grub and serial console 17 | 18 | # Supported 19 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 20 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 21 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 22 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub" 23 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 24 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 25 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="simpledrm" 26 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 27 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 28 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 29 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 30 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 31 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="generic,gve,virtio-net" 32 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 33 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 34 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-scsi" 35 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 36 | readonly CADI_SUPPORTED_RNGS="virtio" 37 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 38 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 39 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_SPEED="38400" 40 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-scsi" 41 | 42 | 43 | # Defaults 44 | readonly CADI_DEFAULT_NETWORK_DRIVER="generic" 45 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 46 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-scsi" 47 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 48 | 49 | 50 | # Additional 51 | readonly CADI_DISK_IMAGE_FORMAT="raw" 52 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 53 | # Size of package & all their dependencies (in MB) 54 | readonly CADI_PACKAGES_EXTRA_SIZE=1 55 | -------------------------------------------------------------------------------- /definitions/cloud/hetzner/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud hetzner aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="none" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="none" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_BOOTLOADER="grub" 38 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 39 | 40 | 41 | # Additional 42 | readonly CADI_CLOUD_CLI_PACKAGES="hcloud" 43 | # Size of packages & all their dependencies (in MB) 44 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=12 45 | readonly CADI_DISK_IMAGE_COMPRESSION="gzip" 46 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 47 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 48 | # Size of package & all their dependencies (in MB) 49 | readonly CADI_PACKAGES_EXTRA_SIZE=1 50 | -------------------------------------------------------------------------------- /definitions/cloud/hetzner/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud hetzner defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Hetzner" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 28 | -------------------------------------------------------------------------------- /definitions/cloud/hetzner/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud hetzner x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,syslinux,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="none" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="none" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_BOOTLOADER="grub" 38 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 40 | 41 | 42 | # Additional 43 | readonly CADI_CLOUD_CLI_PACKAGES="hcloud" 44 | # Size of packages & all their dependencies (in MB) 45 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=12 46 | readonly CADI_DISK_IMAGE_COMPRESSION="gzip" 47 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 48 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 49 | # Size of package & all their dependencies (in MB) 50 | readonly CADI_PACKAGES_EXTRA_SIZE=1 51 | -------------------------------------------------------------------------------- /definitions/cloud/hetzner/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud hetzner x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,syslinux,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="none" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="none" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_BOOTLOADER="grub" 38 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 40 | 41 | 42 | # Additional 43 | readonly CADI_CLOUD_CLI_PACKAGES="hcloud" 44 | # Size of packages & all their dependencies (in MB) 45 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=12 46 | readonly CADI_DISK_IMAGE_COMPRESSION="gzip" 47 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 48 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 49 | # Size of package & all their dependencies (in MB) 50 | readonly CADI_PACKAGES_EXTRA_SIZE=1 51 | -------------------------------------------------------------------------------- /definitions/cloud/linode/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud linode defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Akamai" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_CONFIGURATION_TOOL="cloud-init" 28 | -------------------------------------------------------------------------------- /definitions/cloud/linode/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud linode x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,syslinux,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr,unpartitioned" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CLOCKSOURCE="generic" 41 | readonly CADI_DEFAULT_DHCP_CLIENT="dhclient" 42 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="unpartitioned" 43 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 44 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 45 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 46 | 47 | 48 | # Additional 49 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 50 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 51 | # Size of package & all their dependencies (in MB) 52 | readonly CADI_PACKAGES_EXTRA_SIZE=1 53 | -------------------------------------------------------------------------------- /definitions/cloud/linode/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud linode x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,syslinux,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr,unpartitioned" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CLOCKSOURCE="generic" 41 | readonly CADI_DEFAULT_DHCP_CLIENT="dhclient" 42 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="unpartitioned" 43 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 44 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 45 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 46 | 47 | 48 | # Additional 49 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 50 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 51 | # Size of package & all their dependencies (in MB) 52 | readonly CADI_PACKAGES_EXTRA_SIZE=1 53 | -------------------------------------------------------------------------------- /definitions/cloud/oracle/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud oracle aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="generic,gpio,tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="secure-uefi,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_SECURE_UEFI="none" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 22 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="virtio-gpu" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-scsi" 32 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 33 | readonly CADI_SUPPORTED_RNGS="virtio" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyAMA" 35 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 36 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_SPEED="115200" 37 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-scsi" 38 | 39 | 40 | # Default 41 | readonly CADI_DEFAULT_ACPI_BUTTON="generic" 42 | readonly CADI_DEFAULT_BOOT_TYPE="uefi" 43 | readonly CADI_DEFAULT_BOOTLOADER="grub" 44 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 45 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-scsi" 46 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 47 | 48 | 49 | # Additional 50 | readonly CADI_CLOUD_CLI_PACKAGES="oci-cli" 51 | # Size of packages & all their dependencies (in MB) 52 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=185 53 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 54 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 55 | # Size of package & all their dependencies (in MB) 56 | readonly CADI_PACKAGES_EXTRA_SIZE=1 57 | -------------------------------------------------------------------------------- /definitions/cloud/oracle/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud oracle defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/configuringntpservice.htm 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86_64" 18 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Oracle" 19 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 20 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 21 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 22 | 23 | 24 | # Defaults 25 | readonly CADI_DEFAULT_ARCH="x86_64" 26 | readonly CADI_DEFAULT_NTP_METHOD="servers" 27 | 28 | 29 | # Additional 30 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 31 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 32 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 33 | readonly CADI_NTP_IPV4_SERVERS="169.254.169.254" 34 | -------------------------------------------------------------------------------- /definitions/cloud/outscale/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud outscale defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://docs.outscale.com/en/userguide/On-Premises-to-Cloud-Migration-Guidelines.html 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ARCHS="x86_64" 18 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Ec2" 19 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 20 | readonly CADI_SUPPORTED_IPV4=true 21 | readonly CADI_SUPPORTED_IPV6=false 22 | readonly CADI_SUPPORTED_IPV4_IPV6=false 23 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 24 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 25 | 26 | 27 | # Defaults 28 | readonly CADI_DEFAULT_ARCH="x86_64" 29 | readonly CADI_DEFAULT_NTP_METHOD="servers" 30 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 31 | 32 | 33 | # Additional 34 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 35 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 36 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 37 | readonly CADI_NTP_SERVERS="ntp1.outscale.net ntp2.outscale.net" 38 | -------------------------------------------------------------------------------- /definitions/cloud/outscale/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud outscale x86_64 defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://docs.outscale.com/en/userguide/On-Premises-to-Cloud-Migration-Guidelines.html 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 18 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 19 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,hypervisor,serial" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient,dhcpcd,udhcpc" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 41 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="serial" 42 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 43 | 44 | 45 | # Additional 46 | readonly CADI_DISK_IMAGE_FORMAT="raw" 47 | -------------------------------------------------------------------------------- /definitions/cloud/ovh/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud ovh defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86_64" 16 | readonly CADI_SUPPORTED_DISK_IMAGE_CLOUD_INIT_DATASOURCES="ConfigDrive" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 27 | 28 | 29 | # Additional 30 | -------------------------------------------------------------------------------- /definitions/cloud/ovh/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud ovh x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 22 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,bochs,simpledrm,virtio-gpu" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 32 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 33 | readonly CADI_SUPPORTED_RNGS="virtio" 34 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 35 | 36 | 37 | # Defaults 38 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 41 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 42 | readonly CADI_DEFAULT_OS_DEVICE_MEDIAS="disk" 43 | readonly CADI_DEFAULT_OS_DEVICE_TYPES="virtio-blk" 44 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 45 | 46 | 47 | # Additional 48 | readonly CADI_DISK_IMAGE_COMPRESSION="bzip2" 49 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 50 | readonly CADI_PACKAGES_EXTRA="nvme-cli" 51 | # Size of package & all their dependencies (in MB) 52 | readonly CADI_PACKAGES_EXTRA_SIZE=1 53 | -------------------------------------------------------------------------------- /definitions/cloud/scaleway/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud scaleway defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Scaleway" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 28 | -------------------------------------------------------------------------------- /definitions/cloud/scaleway/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud scaleway x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://www.scaleway.com/en/blog/how-instance-images-are-made/ 15 | # https://www.scaleway.com/en/docs/compute/instances/troubleshooting/reboot-from-faulty-kernel/ 16 | # https://www.scaleway.com/en/docs/tutorials/create-openwrt-image-for-scaleway/ 17 | 18 | # Supported 19 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 20 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 21 | readonly CADI_SUPPORTED_BOOT_TYPES="uefi" 22 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 23 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 24 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 25 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 26 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 27 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 28 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 29 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 30 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 31 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 32 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 33 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 34 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 35 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 36 | readonly CADI_SUPPORTED_RNGS="virtio" 37 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 38 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 39 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_SPEED="115200" 40 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 41 | 42 | 43 | # Defaults 44 | readonly CADI_DEFAULT_BOOTLOADER="grub" 45 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="generic" 46 | 47 | 48 | # Additional 49 | readonly CADI_CLOUD_CLI_PACKAGES="scaleway-cli" 50 | readonly CADI_CLOUD_CLI_PACKAGES_NOTPRESENTIN="v3.13,v3.14,v3.15,v3.16,v3.17" 51 | # Size of packages & all their dependencies (in MB) 52 | readonly CADI_CLOUD_CLI_PACKAGES_SIZE=14 53 | readonly CADI_DISK_IMAGE_COMPRESSION="gzip" 54 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 55 | -------------------------------------------------------------------------------- /definitions/cloud/tencent/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud tencent defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://www.tencentcloud.com/document/product/213/9929 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ARCHS="x86_64" 18 | # ConfigDrive instead? 19 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="OpenStack" 20 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 21 | readonly CADI_SUPPORTED_IPV4=true 22 | readonly CADI_SUPPORTED_IPV6=true 23 | readonly CADI_SUPPORTED_IPV4_IPV6=true 24 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 25 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 26 | 27 | 28 | # Defaults 29 | readonly CADI_DEFAULT_ARCH="x86_64" 30 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 31 | 32 | 33 | # Additional 34 | -------------------------------------------------------------------------------- /definitions/cloud/vultr/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud vultr defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="Vultr" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 28 | 29 | 30 | # Additional 31 | -------------------------------------------------------------------------------- /definitions/cloud/vultr/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud vultr x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Requires separate /boot partition. 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 18 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 19 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 23 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,bochs,simpledrm" 24 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 25 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 26 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 27 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 30 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 31 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 32 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 33 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 34 | readonly CADI_SUPPORTED_RNGS="virtio" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 41 | readonly CADI_DEFAULT_OS_DEVICE_MEDIAS="disk" 42 | readonly CADI_DEFAULT_OS_DEVICE_TYPES="virtio-blk" 43 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 44 | 45 | 46 | # Additional 47 | readonly CADI_BOOT_PARTITION_REQUIRED=true 48 | readonly CADI_DISK_IMAGE_COMPRESSION="gzip" 49 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 50 | -------------------------------------------------------------------------------- /definitions/cloud/x86-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud x86-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs for barebones 15 | readonly CADI_INITRAMFS_SIZE=5 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=65 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of Syslinux files in /boot 25 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/cloud/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of Gummiboot/Stubby EFI stub file 15 | readonly CADI_EFISTUB_SIZE=1 16 | 17 | 18 | # linux-edge 19 | #------------ 20 | 21 | # Installed size of the linux-edge package (in MiB) 22 | readonly CADI_KERNEL_EDGE_PACKAGE_SIZE=76 23 | # Size of linux-edge kernel file (in MiB) 24 | readonly CADI_KERNEL_EDGE_FILE_SIZE=6 25 | # Size of linux-edge System.map (in MiB) 26 | readonly CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE=2 27 | # Size of linux-edge config-edge (in MiB) 28 | readonly CADI_KERNEL_EDGE_CONFIG_FILE_SIZE=1 29 | # Size of linux-edge System.map, config, and kernel files (in MiB) 30 | readonly CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_EDGE_CONFIG_FILE_SIZE + CADI_KERNEL_EDGE_FILE_SIZE)) 31 | # Size of linux-edge package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 32 | readonly CADI_ROOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE)) 33 | 34 | 35 | # linux-virt 36 | #------------ 37 | 38 | # Installed size of the linux-virt package (in MiB) 39 | readonly CADI_KERNEL_VIRT_PACKAGE_SIZE=26 40 | # Size of linux-virt kernel file (in MiB) 41 | readonly CADI_KERNEL_VIRT_FILE_SIZE=6 42 | # Size of linux-virt System.map (in MiB) 43 | readonly CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE=2 44 | # Size of linux-virt config-virt (in MiB) 45 | readonly CADI_KERNEL_VIRT_CONFIG_FILE_SIZE=1 46 | # Size of linux-virt System.map, config, and kernel files (in MiB) 47 | readonly CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_VIRT_CONFIG_FILE_SIZE + CADI_KERNEL_VIRT_FILE_SIZE)) 48 | # Size of linux-virt package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 49 | readonly CADI_ROOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE)) 50 | -------------------------------------------------------------------------------- /definitions/cloud/x86-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud x86-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs 15 | readonly CADI_INITRAMFS_SIZE=5 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=155 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=4 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of Syslinux files in /boot 25 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/cloud/x86_64-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud x86_64-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs for barebones 15 | readonly CADI_INITRAMFS_SIZE=5 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=75 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of Syslinux files in /boot 25 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/cloud/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of Gummiboot/Stubby EFI stub file 15 | readonly CADI_EFISTUB_SIZE=1 16 | 17 | 18 | # linux-edge 19 | #------------ 20 | 21 | # Installed size of the linux-edge package (in MiB) 22 | readonly CADI_KERNEL_EDGE_PACKAGE_SIZE=99 23 | # Size of linux-edge kernel file (in MiB) 24 | readonly CADI_KERNEL_EDGE_FILE_SIZE=8 25 | # Size of linux-edge System.map (in MiB) 26 | readonly CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE=3 27 | # Size of linux-edge config-lts (in MiB) 28 | readonly CADI_KERNEL_EDGE_CONFIG_FILE_SIZE=1 29 | # Size of linux-edge System.map, config, and kernel files (in MiB) 30 | readonly CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_EDGE_CONFIG_FILE_SIZE + CADI_KERNEL_EDGE_FILE_SIZE)) 31 | # Size of linux-edge package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 32 | readonly CADI_ROOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE)) 33 | 34 | 35 | # linux-virt 36 | #------------ 37 | 38 | # Installed size of the linux-virt package (in MiB) 39 | readonly CADI_KERNEL_VIRT_PACKAGE_SIZE=33 40 | # Size of linux-virt kernel file (in MiB) 41 | readonly CADI_KERNEL_VIRT_FILE_SIZE=8 42 | # Size of linux-virt System.map (in MiB) 43 | readonly CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE=3 44 | # Size of linux-virt config-virt (in MiB) 45 | readonly CADI_KERNEL_VIRT_CONFIG_FILE_SIZE=1 46 | # Size of linux-virt System.map, config, and kernel files (in MiB) 47 | readonly CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_VIRT_CONFIG_FILE_SIZE + CADI_KERNEL_VIRT_FILE_SIZE)) 48 | # Size of linux-virt package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 49 | readonly CADI_ROOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE)) 50 | -------------------------------------------------------------------------------- /definitions/cloud/x86_64-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## cloud x86_64-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs 15 | readonly CADI_INITRAMFS_SIZE=6 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=110 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=4 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of Syslinux files in /boot 25 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/physical/aarch64-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical aarch64-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs for barebones 15 | readonly CADI_INITRAMFS_SIZE=6 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=160 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of RPI's bootloader files in /boot 25 | readonly CADI_BOOTLOADER_RPI_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/physical/aarch64-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical aarch64-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs 15 | readonly CADI_INITRAMFS_SIZE=6 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=218 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=5 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of RPI's bootloader files in /boot 25 | readonly CADI_BOOTLOADER_RPI_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/physical/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | ########################################################################### 15 | # Partition / filesystem sizing (in MiB) 16 | ########################################################################### 17 | 18 | readonly CADI_DEFAULT_ESP_PART_SIZE=16 19 | readonly CADI_DEFAULT_ESP_TYPE="fat16" 20 | readonly CADI_DEFAULT_EFISTUB_ESP_TYPE="fat16" 21 | -------------------------------------------------------------------------------- /definitions/physical/ovhcloud/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical ovhcloud defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # https://support.us.ovhcloud.com/hc/en-us/articles/360018521100-How-to-Use-the-Bring-Your-Own-Image-Feature-for-Dedicated-Server 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ARCHS="x86_64" 18 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="ConfigDrive" 19 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 20 | readonly CADI_SUPPORTED_IPV4=true 21 | readonly CADI_SUPPORTED_IPV6=true 22 | readonly CADI_SUPPORTED_IPV4_IPV6=true 23 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 24 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 25 | 26 | 27 | # Defaults 28 | readonly CADI_DEFAULT_NTP_METHOD="pools" 29 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 30 | 31 | 32 | # Additional 33 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 34 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 35 | readonly CADI_CHRONY_MAKESTEP_LIMIT=3 36 | -------------------------------------------------------------------------------- /definitions/physical/pc/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical pc defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_CONFIGURATION_TOOL="cloud-init" 28 | readonly CADI_DEFAULT_NTP_METHOD="pools" 29 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 30 | 31 | 32 | # Additional 33 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 34 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 35 | readonly CADI_CHRONY_MAKESTEP_LIMIT=3 36 | readonly CADI_CLOUD_INIT_USES_FS="VFAT" 37 | -------------------------------------------------------------------------------- /definitions/physical/rpi2/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi2 aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="none" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="rpi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_RPI="rpi" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="vc4" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="none" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,flash,sdcard,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sd,usb" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="none" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sd,usb" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="sdcard" 40 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="sd" 41 | readonly CADI_DEFAULT_STORAGE_DRIVERS="generic" 42 | 43 | 44 | # Additional 45 | readonly CADI_BOOT_PARTITION_REQUIRED=true 46 | readonly CADI_KERNEL_PACKAGE="linux-rpi" 47 | -------------------------------------------------------------------------------- /definitions/physical/rpi2/armv7-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi2 armv7-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="none" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="rpi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_RPI="rpi" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="vc4" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="none" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,flash,sdcard,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sd,usb" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="none" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sd,usb" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="sdcard" 40 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="sd" 41 | readonly CADI_DEFAULT_STORAGE_DRIVERS="generic" 42 | 43 | 44 | # Additional 45 | readonly CADI_BOOT_PARTITION_REQUIRED=true 46 | readonly CADI_KERNEL_PACKAGE="linux-rpi2" 47 | -------------------------------------------------------------------------------- /definitions/physical/rpi2/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi2 defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="armv7,aarch64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="aarch64" 27 | readonly CADI_DEFAULT_CONFIGURATION_TOOL="cloud-init" 28 | readonly CADI_DEFAULT_NTP_METHOD="servers" 29 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 30 | 31 | 32 | # Additional 33 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 34 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 35 | readonly CADI_CHRONY_MAKESTEP_LIMIT=3 36 | readonly CADI_CLOUD_INIT_USES_FS="VFAT" 37 | -------------------------------------------------------------------------------- /definitions/physical/rpi3/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi3 aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="none" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="rpi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_RPI="rpi" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="vc4" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="none" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,flash,sdcard,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sd,usb" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="none" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sd,usb" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="sdcard" 40 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="sd" 41 | readonly CADI_DEFAULT_STORAGE_DRIVERS="generic" 42 | 43 | 44 | # Additional 45 | readonly CADI_BOOT_PARTITION_REQUIRED=true 46 | readonly CADI_KERNEL_PACKAGE="linux-rpi" 47 | -------------------------------------------------------------------------------- /definitions/physical/rpi3/armv7-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi3 armv7-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="none" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="rpi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_RPI="rpi" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="vc4" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="none" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,flash,sdcard,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sd,usb" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="none" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sd,usb" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="sdcard" 40 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="sd" 41 | readonly CADI_DEFAULT_STORAGE_DRIVERS="generic" 42 | 43 | 44 | # Additional 45 | readonly CADI_BOOT_PARTITION_REQUIRED=true 46 | readonly CADI_KERNEL_PACKAGE="linux-rpi2" 47 | -------------------------------------------------------------------------------- /definitions/physical/rpi3/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi3 defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="armv7,aarch64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="aarch64" 27 | readonly CADI_DEFAULT_CONFIGURATION_TOOL="cloud-init" 28 | readonly CADI_DEFAULT_NTP_METHOD="servers" 29 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 30 | 31 | 32 | # Additional 33 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 34 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 35 | readonly CADI_CHRONY_MAKESTEP_LIMIT=3 36 | readonly CADI_CLOUD_INIT_USES_FS="VFAT" 37 | -------------------------------------------------------------------------------- /definitions/physical/rpi4/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi4 aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="none" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="rpi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_RPI="rpi" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="vc4" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="none" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,flash,sdcard,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sd,usb" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="none" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sd,usb" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="sdcard" 40 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="sd" 41 | readonly CADI_DEFAULT_STORAGE_DRIVERS="generic" 42 | 43 | 44 | # Additional 45 | readonly CADI_BOOT_PARTITION_REQUIRED=true 46 | readonly CADI_KERNEL_PACKAGE="linux-rpi4" 47 | -------------------------------------------------------------------------------- /definitions/physical/rpi4/armv7-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi4 armv7-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="none" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="rpi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_RPI="rpi" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="vc4" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="none" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,flash,sdcard,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sd,usb" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="none" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sd,usb" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="sdcard" 40 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="sd" 41 | readonly CADI_DEFAULT_STORAGE_DRIVERS="generic" 42 | 43 | 44 | # Additional 45 | readonly CADI_BOOT_PARTITION_REQUIRED=true 46 | readonly CADI_KERNEL_PACKAGE="linux-rpi4" 47 | -------------------------------------------------------------------------------- /definitions/physical/rpi4/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical rpi4 defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="armv7,aarch64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 19 | readonly CADI_SUPPORTED_IPV4=true 20 | readonly CADI_SUPPORTED_IPV6=true 21 | readonly CADI_SUPPORTED_IPV4_IPV6=true 22 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 23 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk,flash,sdcard,ssd" 24 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="sd,usb" 25 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 26 | 27 | 28 | # Defaults 29 | readonly CADI_DEFAULT_ARCH="aarch64" 30 | readonly CADI_DEFAULT_NTP_METHOD="servers" 31 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="sdcard" 32 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="sd" 33 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 34 | 35 | 36 | # Additional 37 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 38 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 39 | readonly CADI_CHRONY_MAKESTEP_LIMIT=3 40 | readonly CADI_CLOUD_INIT_USES_FS="VFAT" 41 | -------------------------------------------------------------------------------- /definitions/physical/x86-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical x86-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of firmware files for barebones 15 | readonly CADI_FIRMWARE_SIZE=50 16 | # Size of microcode files for barebones 17 | readonly CADI_MICROCODE_SIZE=20 18 | 19 | # Size of initramfs for barebones 20 | readonly CADI_INITRAMFS_SIZE=5 21 | 22 | # Arbitrary "base" size of barebones rootfs (in MB) 23 | readonly CADI_ARBITRARY_ROOTFS_SIZE=65 24 | 25 | # Size of Grub files in /boot 26 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 27 | # Size of Limine files in /boot 28 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 29 | # Size of Syslinux files in /boot 30 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 31 | 32 | # Size of files in rootfs except for kernel package 33 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 34 | 35 | # Size of an ESP partition/FAT fs for barebones containing either: 36 | # - EFI stub, kernel, and initramfs files 37 | # or 38 | # - a single UKI file made up of EFI stub, kernel, and initramfs 39 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE + CADI_MICROCODE_SIZE)) 40 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 41 | -------------------------------------------------------------------------------- /definitions/physical/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of Gummiboot/Stubby EFI stub file 15 | readonly CADI_EFISTUB_SIZE=1 16 | 17 | 18 | # linux-edge 19 | #------------ 20 | 21 | # Installed size of the linux-edge package (in MiB) 22 | readonly CADI_KERNEL_EDGE_PACKAGE_SIZE=76 23 | # Size of linux-edge kernel file (in MiB) 24 | readonly CADI_KERNEL_EDGE_FILE_SIZE=6 25 | # Size of linux-edge System.map (in MiB) 26 | readonly CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE=2 27 | # Size of linux-edge config-edge (in MiB) 28 | readonly CADI_KERNEL_EDGE_CONFIG_FILE_SIZE=1 29 | # Size of linux-edge System.map, config, and kernel files (in MiB) 30 | readonly CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_EDGE_CONFIG_FILE_SIZE + CADI_KERNEL_EDGE_FILE_SIZE)) 31 | # Size of linux-edge package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 32 | readonly CADI_ROOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE)) 33 | 34 | 35 | # linux-lts 36 | #----------- 37 | 38 | # Installed size of the linux-lts package (in MiB) 39 | readonly CADI_KERNEL_LTS_PACKAGE_SIZE=76 40 | # Size of linux-lts kernel file (in MiB) 41 | readonly CADI_KERNEL_LTS_FILE_SIZE=6 42 | # Size of linux-lts System.map (in MiB) 43 | readonly CADI_KERNEL_LTS_SYSTEMMAP_FILE_SIZE=2 44 | # Size of linux-lts config-lts (in MiB) 45 | readonly CADI_KERNEL_LTS_CONFIG_FILE_SIZE=1 46 | # Size of linux-lts System.map, config, and kernel files (in MiB) 47 | readonly CADI_BOOTFS_KERNEL_LTS_FILES_SIZE=$((CADI_KERNEL_LTS_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_LTS_CONFIG_FILE_SIZE + CADI_KERNEL_LTS_FILE_SIZE)) 48 | # Size of linux-lts package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 49 | readonly CADI_ROOTFS_KERNEL_LTS_FILES_SIZE=$((CADI_KERNEL_LTS_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_LTS_FILES_SIZE)) 50 | -------------------------------------------------------------------------------- /definitions/physical/x86-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical x86-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of firmware files for barebones 15 | readonly CADI_FIRMWARE_SIZE=50 16 | # Size of microcode files for barebones 17 | readonly CADI_MICROCODE_SIZE=20 18 | 19 | # Size of initramfs 20 | readonly CADI_INITRAMFS_SIZE=5 21 | 22 | # Arbitrary "base" size of barebones rootfs (in MB) 23 | readonly CADI_ARBITRARY_ROOTFS_SIZE=155 24 | 25 | # Size of Grub files in /boot 26 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=4 27 | # Size of Limine files in /boot 28 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 29 | # Size of Syslinux files in /boot 30 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 31 | 32 | # Size of files in rootfs except for kernel package 33 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 34 | 35 | # Size of an ESP partition/FAT fs for barebones containing either: 36 | # - EFI stub, kernel, and initramfs files 37 | # or 38 | # - a single UKI file made up of EFI stub, kernel, and initramfs 39 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE + CADI_MICROCODE_SIZE)) 40 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 41 | -------------------------------------------------------------------------------- /definitions/physical/x86_64-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical x86_64-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of firmware files for barebones 15 | readonly CADI_FIRMWARE_SIZE=50 16 | # Size of microcode files for barebones 17 | readonly CADI_MICROCODE_SIZE=20 18 | 19 | # Size of initramfs for barebones 20 | readonly CADI_INITRAMFS_SIZE=5 21 | 22 | # Arbitrary "base" size of barebones rootfs (in MB) 23 | readonly CADI_ARBITRARY_ROOTFS_SIZE=350 24 | 25 | # Size of Grub files in /boot 26 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 27 | # Size of Limine files in /boot 28 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 29 | # Size of Syslinux files in /boot 30 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 31 | 32 | # Size of files in rootfs except for kernel package 33 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 34 | 35 | # Size of an ESP partition/FAT fs for barebones containing either: 36 | # - EFI stub, kernel, and initramfs files 37 | # or 38 | # - a single UKI file made up of EFI stub, kernel, and initramfs 39 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE + CADI_MICROCODE_SIZE)) 40 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 41 | -------------------------------------------------------------------------------- /definitions/physical/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of Gummiboot/Stubby EFI stub file 15 | readonly CADI_EFISTUB_SIZE=1 16 | 17 | 18 | # linux-edge 19 | #------------ 20 | 21 | # Installed size of the linux-edge package (in MiB) 22 | readonly CADI_KERNEL_EDGE_PACKAGE_SIZE=99 23 | # Size of linux-edge kernel file (in MiB) 24 | readonly CADI_KERNEL_EDGE_FILE_SIZE=8 25 | # Size of linux-edge System.map (in MiB) 26 | readonly CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE=3 27 | # Size of linux-edge config-lts (in MiB) 28 | readonly CADI_KERNEL_EDGE_CONFIG_FILE_SIZE=1 29 | # Size of linux-edge System.map, config, and kernel files (in MiB) 30 | readonly CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_EDGE_CONFIG_FILE_SIZE + CADI_KERNEL_EDGE_FILE_SIZE)) 31 | # Size of linux-edge package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 32 | readonly CADI_ROOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE)) 33 | 34 | 35 | # linux-lts 36 | #----------- 37 | 38 | # Installed size of the linux-lts package (in MiB) 39 | readonly CADI_KERNEL_LTS_PACKAGE_SIZE=99 40 | # Size of linux-lts kernel file (in MiB) 41 | readonly CADI_KERNEL_LTS_FILE_SIZE=8 42 | # Size of linux-lts System.map (in MiB) 43 | readonly CADI_KERNEL_LTS_SYSTEMMAP_FILE_SIZE=3 44 | # Size of linux-lts config-lts (in MiB) 45 | readonly CADI_KERNEL_LTS_CONFIG_FILE_SIZE=1 46 | # Size of linux-lts System.map, config, and kernel files (in MiB) 47 | readonly CADI_BOOTFS_KERNEL_LTS_FILES_SIZE=$((CADI_KERNEL_LTS_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_LTS_CONFIG_FILE_SIZE + CADI_KERNEL_LTS_FILE_SIZE)) 48 | # Size of linux-lts package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 49 | readonly CADI_ROOTFS_KERNEL_LTS_FILES_SIZE=$((CADI_KERNEL_LTS_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_LTS_FILES_SIZE)) 50 | -------------------------------------------------------------------------------- /definitions/physical/x86_64-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## physical x86_64-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of firmware files for barebones 15 | readonly CADI_FIRMWARE_SIZE=50 16 | # Size of microcode files for barebones 17 | readonly CADI_MICROCODE_SIZE=20 18 | 19 | # Size of initramfs 20 | readonly CADI_INITRAMFS_SIZE=6 21 | 22 | # Arbitrary "base" size of barebones rootfs (in MB) 23 | readonly CADI_ARBITRARY_ROOTFS_SIZE=230 24 | 25 | # Size of Grub files in /boot 26 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=4 27 | # Size of Limine files in /boot 28 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 29 | # Size of Syslinux files in /boot 30 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 31 | 32 | # Size of files in rootfs except for kernel package 33 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 34 | 35 | # Size of an ESP partition/FAT fs for barebones containing either: 36 | # - EFI stub, kernel, and initramfs files 37 | # or 38 | # - a single UKI file made up of EFI stub, kernel, and initramfs 39 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_FILE_SIZE + CADI_INITRAMFS_SIZE + CADI_MICROCODE_SIZE)) 40 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 41 | -------------------------------------------------------------------------------- /definitions/virtual/aarch64-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual aarch64-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs for barebones 15 | readonly CADI_INITRAMFS_SIZE=6 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=160 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | 25 | # Size of files in rootfs except for kernel package 26 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 27 | 28 | # Size of an ESP partition/FAT fs for barebones containing either: 29 | # - EFI stub, kernel, and initramfs files 30 | # or 31 | # - a single UKI file made up of EFI stub, kernel, and initramfs 32 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_VIRT_FILE_SIZE + CADI_INITRAMFS_SIZE)) 33 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 34 | -------------------------------------------------------------------------------- /definitions/virtual/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of Gummiboot/Stubby EFI stub file 15 | readonly CADI_EFISTUB_SIZE=1 16 | 17 | 18 | # linux-edge 19 | #------------ 20 | 21 | # Installed size of the linux-edge package (in MiB) 22 | readonly CADI_KERNEL_EDGE_PACKAGE_SIZE=109 23 | # Size of linux-edge kernel file (in MiB) 24 | readonly CADI_KERNEL_EDGE_FILE_SIZE=7 25 | # Size of linux-edge System.map (in MiB) 26 | readonly CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE=3 27 | # Size of linux-edge config-edge (in MiB) 28 | readonly CADI_KERNEL_EDGE_CONFIG_FILE_SIZE=1 29 | # Size of linux-edge DTB files (in MiB) 30 | readonly CADI_KERNEL_EDGE_DTB_FILES_SIZE=12 31 | # Size of linux-edge System.map, config, DTB files, and kernel file (in MiB) 32 | readonly CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_EDGE_CONFIG_FILE_SIZE + CADI_KERNEL_EDGE_DTB_FILES_SIZE + CADI_KERNEL_EDGE_FILE_SIZE)) 33 | # Size of linux-edge package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 34 | readonly CADI_ROOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE)) 35 | 36 | 37 | # linux-virt 38 | #------------ 39 | 40 | # Installed size of the linux-virt package (in MiB) 41 | readonly CADI_KERNEL_VIRT_PACKAGE_SIZE=45 42 | # Size of linux-virt kernel file (in MiB) 43 | readonly CADI_KERNEL_VIRT_FILE_SIZE=8 44 | # Size of linux-virt System.map (in MiB) 45 | readonly CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE=3 46 | # Size of linux-virt config-virt (in MiB) 47 | readonly CADI_KERNEL_VIRT_CONFIG_FILE_SIZE=1 48 | # Size of linux-virt DTB files (in MiB) 49 | readonly CADI_KERNEL_VIRT_DTB_FILES_SIZE=12 50 | # Size of linux-virt System.map, config, DTB files, and kernel file from kernel package (in MiB) 51 | readonly CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_VIRT_CONFIG_FILE_SIZE + CADI_KERNEL_VIRT_DTB_FILES_SIZE + CADI_KERNEL_VIRT_FILE_SIZE)) 52 | # Size of linux-virt package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 53 | readonly CADI_ROOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE)) 54 | -------------------------------------------------------------------------------- /definitions/virtual/aarch64-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual aarch64-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs 15 | readonly CADI_INITRAMFS_SIZE=6 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=218 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=5 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | 25 | # Size of files in rootfs except for kernel package 26 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 27 | 28 | # Size of an ESP partition/FAT fs for barebones containing either: 29 | # - EFI stub, kernel, and initramfs files 30 | # or 31 | # - a single UKI file made up of EFI stub, kernel, and initramfs 32 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_VIRT_FILE_SIZE + CADI_INITRAMFS_SIZE)) 33 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 34 | -------------------------------------------------------------------------------- /definitions/virtual/cloud-hypervisor/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual cloud-hypervisor defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="pools" 28 | 29 | 30 | # Additional 31 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 32 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 33 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 34 | -------------------------------------------------------------------------------- /definitions/virtual/cloud-hypervisor/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual cloud-hypervisor x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="none" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="none" 18 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 19 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 20 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,bochs,simpledrm,virtio-gpu" 21 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 22 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 23 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 24 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 25 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 26 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 27 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 28 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 29 | readonly CADI_SUPPORTED_RNGS="virtio" 30 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 31 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 32 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 33 | 34 | 35 | # Defaults 36 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 37 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | 40 | 41 | # Additional 42 | -------------------------------------------------------------------------------- /definitions/virtual/crosvm/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual crosvm aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,hypervisor,normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="virtio-gpu" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyAMA" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 41 | 42 | 43 | # Additional 44 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 45 | -------------------------------------------------------------------------------- /definitions/virtual/crosvm/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual crosvm defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="pools" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | -------------------------------------------------------------------------------- /definitions/virtual/crosvm/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual crosvm x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid,secure-uefi,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_SECURE_UEFI="none" 21 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 22 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 23 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,hypervisor,normal" 24 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="virtio-gpu" 25 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2,usb" 26 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics" 27 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 30 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 31 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 32 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 33 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 34 | readonly CADI_SUPPORTED_RNGS="virtio" 35 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 36 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 37 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 38 | 39 | 40 | # Defaults 41 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 42 | readonly CADI_DEFAULT_BOOTLOADER="grub" 43 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 44 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="normal" 45 | readonly CADI_DEFAULT_CONSOLE_KEYBOARD_TYPE="ps2" 46 | 47 | 48 | # Additional 49 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 50 | -------------------------------------------------------------------------------- /definitions/virtual/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | ########################################################################### 15 | # Partition / filesystem sizing (in MiB) 16 | ########################################################################### 17 | 18 | readonly CADI_DEFAULT_ESP_PART_SIZE=1 19 | readonly CADI_DEFAULT_ESP_TYPE="fat12" 20 | readonly CADI_DEFAULT_EFISTUB_ESP_TYPE="fat16" 21 | -------------------------------------------------------------------------------- /definitions/virtual/generic/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual generic defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="AltCloud,ConfigDrive,LXD,NoCloud,OpenNebula,OpenStack,OVF,VMware,None" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_CONFIGURATION_TOOL="cloud-init" 28 | readonly CADI_DEFAULT_NTP_METHOD="servers" 29 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 30 | -------------------------------------------------------------------------------- /definitions/virtual/generic/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual generic x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,hyperv,kvm,tsc" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,hypervisor,normal,normal_and_serial,serial" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,hyperv,simpledrm,virtio-gpu,vmwgfx" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="generic,hyperv,none,ps2,usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="generic,hyperv,virtio-net,vmxnet3" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,hyperv,nvme,pvscsi,virtio-blk,virtio-scsi" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,hyperv,nvme,pvscsi,virtio-blk,virtio-scsi" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 40 | readonly CADI_DEFAULT_BOOTLOADER="grub" 41 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="generic" 42 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="generic" 43 | readonly CADI_DEFAULT_CONSOLE_KEYBOARD_TYPE="generic" 44 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="generic" 45 | readonly CADI_DEFAULT_DHCP_CLIENT="generic" 46 | readonly CADI_DEFAULT_NETWORK_DRIVER="generic" 47 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 48 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="generic" 49 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 50 | 51 | 52 | # Additional 53 | # 54 | # Required for VMware DS: py3-netifaces 55 | readonly CADI_PACKAGES_ADDITIONAL="py3-netifaces" 56 | readonly CADI_PACKAGES_ADDITIONAL_SIZE=0 57 | -------------------------------------------------------------------------------- /definitions/virtual/hyperv/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual hyperv defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="ptp,pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_hyperv" 36 | readonly CADI_PTP_DEVICE_TYPE="hyperv" 37 | -------------------------------------------------------------------------------- /definitions/virtual/libvirt/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual libvirt defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="ptp,pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_kvm" 36 | readonly CADI_PTP_DEVICE_TYPE="kvm" 37 | -------------------------------------------------------------------------------- /definitions/virtual/lxd/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual lxd defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="LXD" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="ptp,pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_kvm" 36 | readonly CADI_PTP_DEVICE_TYPE="kvm" 37 | -------------------------------------------------------------------------------- /definitions/virtual/openbsd-vmm/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual openbsd-vmm defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="pools" 28 | 29 | 30 | # Additional 31 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 32 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 33 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 34 | -------------------------------------------------------------------------------- /definitions/virtual/openbsd-vmm/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual openbsd-vmm x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,tsc" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 22 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 23 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 24 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 25 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 26 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 27 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 28 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 29 | readonly CADI_SUPPORTED_RNGS="virtio" 30 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 31 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 32 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 33 | 34 | 35 | # Defaults 36 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 37 | readonly CADI_DEFAULT_BOOTLOADER="grub" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | 40 | 41 | # Additional 42 | readonly CADI_VIRTUAL_DRIVER_PACKAGES_LIST="virtio_vmmci,vmm_clock" 43 | readonly CADI_VIRTUAL_DRIVER_PACKAGES_SIZE=1 44 | readonly CADI_VIRTUAL_DRIVER_PACKAGES_NOTPRESENTIN="v3.13,v3.14,v3.15,v3.16,v3.17" 45 | -------------------------------------------------------------------------------- /definitions/virtual/openbsd-vmm/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual openbsd-vmm x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,tsc" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 22 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 23 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 24 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="mbr" 25 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 26 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 27 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 28 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="virtio-blk" 29 | readonly CADI_SUPPORTED_RNGS="virtio" 30 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 31 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 32 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="virtio-blk" 33 | 34 | 35 | # Defaults 36 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 37 | readonly CADI_DEFAULT_BOOTLOADER="grub" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | 40 | 41 | # Additional 42 | readonly CADI_VIRTUAL_DRIVER_PACKAGES_LIST="virtio_vmmci,vmm_clock" 43 | readonly CADI_VIRTUAL_DRIVER_PACKAGES_SIZE=1 44 | readonly CADI_VIRTUAL_DRIVER_PACKAGES_NOTPRESENTIN="v3.13,v3.14,v3.15,v3.16,v3.17" 45 | -------------------------------------------------------------------------------- /definitions/virtual/openstack/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual openstack aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="hybrid,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 22 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 32 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 33 | readonly CADI_SUPPORTED_RNGS="virtio" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 35 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 36 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 37 | 38 | 39 | # Defaults 40 | readonly CADI_DEFAULT_BOOT_TYPE="uefi" 41 | readonly CADI_DEFAULT_BOOTLOADER="grub" 42 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 43 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 44 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 45 | 46 | 47 | # Additional 48 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 49 | -------------------------------------------------------------------------------- /definitions/virtual/openstack/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual openstack defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="OpenStack" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,ptp,servers" 22 | readonly CADI_SUPPORTED_OS_BOOT_DISK_SWAP=true 23 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 24 | 25 | 26 | # Defaults 27 | readonly CADI_DEFAULT_ARCH="x86_64" 28 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 29 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 30 | 31 | 32 | # Additional 33 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 34 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 35 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 36 | readonly CADI_CLOUD_INIT_DISABLE_VENDORDATA=true 37 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_kvm" 38 | readonly CADI_PTP_DEVICE_TYPE="kvm" 39 | -------------------------------------------------------------------------------- /definitions/virtual/openstack/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual openstack x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 22 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 32 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 33 | readonly CADI_SUPPORTED_RNGS="virtio" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 35 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 36 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 37 | 38 | 39 | # Defaults 40 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 41 | readonly CADI_DEFAULT_BOOTLOADER="grub" 42 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="mbr" 43 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 44 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 45 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 46 | 47 | 48 | # Additional 49 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 50 | -------------------------------------------------------------------------------- /definitions/virtual/openstack/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual openstack x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="serial" 23 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="none" 24 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="none" 25 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="text" 26 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 27 | readonly CADI_SUPPORTED_DHCP_CLIENTS="dhclient" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 30 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 31 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 32 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 33 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 34 | readonly CADI_SUPPORTED_RNGS="virtio" 35 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 36 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 37 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 38 | 39 | 40 | # Defaults 41 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 42 | readonly CADI_DEFAULT_BOOTLOADER="grub" 43 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="mbr" 44 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 45 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 46 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 47 | 48 | 49 | # Additional 50 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 51 | -------------------------------------------------------------------------------- /definitions/virtual/parallels/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual parallels aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="virtio-gpu" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sata,scsi,virtio-scsi" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sata,scsi,virtio-scsi" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_BOOTLOADER="grub" 38 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 39 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 40 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-scsi" 41 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 42 | 43 | 44 | # Additional 45 | readonly CADI_DISK_IMAGE_FORMAT="parallels" 46 | readonly CADI_PACKAGES_ADDITIONAL="irqbalance" 47 | # Size of package & all their dependencies (in MB) 48 | readonly CADI_PACKAGES_ADDITIONAL_SIZE=5 49 | -------------------------------------------------------------------------------- /definitions/virtual/parallels/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual parallels defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="ptp,pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_kvm" 36 | readonly CADI_PTP_DEVICE_TYPE="kvm" 37 | -------------------------------------------------------------------------------- /definitions/virtual/parallels/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual parallels x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,tsc" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 22 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,simpledrm,virtio-gpu" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="generic,ps2,usb" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics,text" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sata,scsi,virtio-scsi" 32 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 33 | readonly CADI_SUPPORTED_RNGS="virtio" 34 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sata,scsi,virtio-scsi" 35 | 36 | 37 | # Defaults 38 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 41 | readonly CADI_DEFAULT_CONSOLE_KEYBOARD_TYPE="ps2" 42 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 43 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 44 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="mbr" 45 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 46 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-scsi" 47 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 48 | 49 | 50 | # Additional 51 | readonly CADI_DISK_IMAGE_FORMAT="parallels" 52 | readonly CADI_PACKAGES_ADDITIONAL="irqbalance" 53 | # Size of package & all their dependencies (in MB) 54 | readonly CADI_PACKAGES_ADDITIONAL_SIZE=5 55 | -------------------------------------------------------------------------------- /definitions/virtual/parallels/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual parallels x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 23 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,simpledrm,virtio-gpu" 24 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="generic,ps2,usb" 25 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="graphics,text" 26 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 27 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 30 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 31 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 32 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,sata,scsi,virtio-scsi" 33 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 34 | readonly CADI_SUPPORTED_RNGS="virtio" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,sata,scsi,virtio-scsi" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 40 | readonly CADI_DEFAULT_BOOTLOADER="grub" 41 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 42 | readonly CADI_DEFAULT_CONSOLE_KEYBOARD_TYPE="ps2" 43 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 44 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 45 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="mbr" 46 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="disk" 47 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-scsi" 48 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 49 | 50 | 51 | # Additional 52 | readonly CADI_DISK_IMAGE_FORMAT="parallels" 53 | readonly CADI_PACKAGES_ADDITIONAL="irqbalance" 54 | # Size of package & all their dependencies (in MB) 55 | readonly CADI_PACKAGES_ADDITIONAL_SIZE=5 56 | -------------------------------------------------------------------------------- /definitions/virtual/proxmox/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual proxmox defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supports 15 | readonly CADI_SUPPORTED_ARCHS="x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud,ConfigDrive" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="ptp,pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 27 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 28 | 29 | 30 | # Additional 31 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_kvm" 32 | readonly CADI_PTP_DEVICE_TYPE="kvm" 33 | -------------------------------------------------------------------------------- /definitions/virtual/qemu/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual qemu defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="ptp,pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_kvm" 36 | readonly CADI_PTP_DEVICE_TYPE="kvm" 37 | -------------------------------------------------------------------------------- /definitions/virtual/utm-qemu/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual utm-qemu aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,hypervisor,normal" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="virtio-gpu" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="generic,none,usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 34 | 35 | 36 | # Defaults 37 | readonly CADI_DEFAULT_BOOTLOADER="grub" 38 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="generic" 39 | readonly CADI_DEFAULT_CONSOLE_KEYBOARD_TYPE="generic" 40 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="generic" 41 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 42 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 43 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 44 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 45 | 46 | 47 | # Additional 48 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 49 | -------------------------------------------------------------------------------- /definitions/virtual/utm-qemu/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual utm-qemu defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="ptp,pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_kvm" 36 | readonly CADI_PTP_DEVICE_TYPE="kvm" 37 | -------------------------------------------------------------------------------- /definitions/virtual/utm-qemu/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual utm-qemu x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,hypervisor,normal" 23 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,simpledrm,virtio-gpu" 24 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="generic,none,ps2,usb" 25 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 26 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 27 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 30 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 31 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 32 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 33 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 34 | readonly CADI_SUPPORTED_RNGS="virtio" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 40 | readonly CADI_DEFAULT_BOOTLOADER="grub" 41 | readonly CADI_DEFAULT_CLOCKSOURCE="kvm" 42 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="generic" 43 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="generic" 44 | readonly CADI_DEFAULT_CONSOLE_KEYBOARD_TYPE="generic" 45 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="generic" 46 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 47 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="mbr" 48 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 49 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 50 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 51 | 52 | 53 | # Additional 54 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 55 | -------------------------------------------------------------------------------- /definitions/virtual/utm-vmm/aarch64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual utm-vmm aarch64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 19 | readonly CADI_SUPPORTED_CLOCKSOURCES="arch_sys_counter" 20 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,hypervisor,serial" 21 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="virtio-gpu" 22 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="generic,none,usb" 23 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 24 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 25 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 26 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 27 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 28 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 29 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 30 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 31 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 32 | readonly CADI_SUPPORTED_RNGS="virtio" 33 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyAMA" 34 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="generic" 41 | readonly CADI_DEFAULT_CONSOLE_KEYBOARD_TYPE="none" 42 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="generic" 43 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 44 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 45 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 46 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 47 | 48 | 49 | # Additional 50 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 51 | -------------------------------------------------------------------------------- /definitions/virtual/utm-vmm/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual utm-vmm defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="aarch64,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal,normal_and_serial,hypervisor,serial" 19 | readonly CADI_SUPPORTED_NTP_METHODS="ptp,pools,servers" 20 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 21 | 22 | 23 | # Defaults 24 | readonly CADI_DEFAULT_ARCH="x86_64" 25 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 26 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 27 | 28 | 29 | # Additional 30 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 31 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 32 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 33 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_kvm" 34 | readonly CADI_PTP_DEVICE_TYPE="kvm" 35 | -------------------------------------------------------------------------------- /definitions/virtual/utm-vmm/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual utm-vmm x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # VMM only supports UEFI booting 15 | 16 | # Supported 17 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 18 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 19 | readonly CADI_SUPPORTED_BOOT_TYPES="uefi" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,kvm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="generic,hypervisor,serial" 23 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="virtio-gpu" 24 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="generic,none,usb" 25 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 26 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="virtio" 27 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="virtio-net" 30 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 31 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="generic,disk,ssd" 32 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="generic,nvme,virtio-blk,virtio-scsi" 33 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 34 | readonly CADI_SUPPORTED_RNGS="virtio" 35 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_BASE_NAME="ttyS" 36 | readonly CADI_SUPPORTED_SERIAL_CONSOLE_PORT_NUMBER="0" 37 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="generic,nvme,virtio-blk,virtio-scsi" 38 | 39 | 40 | # Defaults 41 | readonly CADI_DEFAULT_BOOTLOADER="grub" 42 | readonly CADI_DEFAULT_CONSOLE_DEVICE_TYPE="generic" 43 | readonly CADI_DEFAULT_CONSOLE_KEYBOARD_TYPE="none" 44 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="generic" 45 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 46 | readonly CADI_DEFAULT_OS_DEVICE_MEDIA="generic" 47 | readonly CADI_DEFAULT_OS_DEVICE_TYPE="virtio-blk" 48 | readonly CADI_DEFAULT_STORAGE_DRIVER="generic" 49 | 50 | 51 | # Additional 52 | readonly CADI_DISK_IMAGE_FORMAT="qcow2" 53 | -------------------------------------------------------------------------------- /definitions/virtual/virtualbox/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual virtualbox defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="NoCloud" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none,tiny-cloud" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="none,pools,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_DAEMON="none" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | readonly CADI_CLOUD_INIT_USES_FS="ISO" 36 | -------------------------------------------------------------------------------- /definitions/virtual/vmware/defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual vmware defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ARCHS="x86,x86_64" 16 | readonly CADI_SUPPORTED_CLOUD_INIT_DATASOURCES="VMware" 17 | readonly CADI_SUPPORTED_CONFIGURATION_TOOLS="cloud-init,none" 18 | readonly CADI_SUPPORTED_IPV4=true 19 | readonly CADI_SUPPORTED_IPV6=true 20 | readonly CADI_SUPPORTED_IPV4_IPV6=true 21 | readonly CADI_SUPPORTED_NTP_METHODS="pools,ptp,servers" 22 | readonly CADI_SUPPORTED_OS_FILESYSTEMS="ext4,xfs" 23 | 24 | 25 | # Defaults 26 | readonly CADI_DEFAULT_ARCH="x86_64" 27 | readonly CADI_DEFAULT_NTP_METHOD="ptp" 28 | readonly CADI_DEFAULT_OS_FILESYSTEM="ext4" 29 | 30 | 31 | # Additional 32 | readonly CADI_CHRONY_INITSTEPSLEW_THRESHOLD=30 33 | readonly CADI_CHRONY_MAKESTEP_THRESHOLD=1 34 | readonly CADI_CHRONY_MAKESTEP_LIMIT=-1 35 | readonly CADI_PTP_DEVICE_NAME="/dev/ptp_vmw" 36 | readonly CADI_PTP_DEVICE_TYPE="vmware" 37 | -------------------------------------------------------------------------------- /definitions/virtual/vmware/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual vmware x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,tsc" 21 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 22 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,simpledrm,vmwgfx" 23 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 24 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 25 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 26 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 27 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 28 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="vmwnet3" 29 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 30 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 31 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="pvscsi" 32 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 33 | readonly CADI_SUPPORTED_RNGS="none" 34 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="pvscsi" 35 | 36 | 37 | # Defaults 38 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 39 | readonly CADI_DEFAULT_BOOTLOADER="grub" 40 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 41 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 42 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 43 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="mbr" 44 | 45 | 46 | # Additional 47 | readonly CADI_ADDITIONAL_NON_INITRAMFS_MODULES="floppy,vmw_balloon,vmw_vmci,vmw_vsock_vmci_transport" 48 | readonly CADI_DISK_IMAGE_FORMAT="vmdk" 49 | readonly CADI_DISK_IMAGE_FORMAT_OPTIONS="-o adapter_type=lsilogic,subformat=streamOptimized,compat6" 50 | readonly CADI_PACKAGES_ADDITIONAL="py3-netifaces" 51 | readonly CADI_PACKAGES_ADDITIONAL_SIZE=0 52 | -------------------------------------------------------------------------------- /definitions/virtual/vmware/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual vmware x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Supported 15 | readonly CADI_SUPPORTED_ACPI_BUTTONS="tiny-power-button" 16 | readonly CADI_SUPPORTED_BOOT_REFERENCES="device,label,uuid" 17 | readonly CADI_SUPPORTED_BOOT_TYPES="bios,hybrid,uefi" 18 | readonly CADI_SUPPORTED_BOOTLOADERS_BIOS="grub,limine,syslinux" 19 | readonly CADI_SUPPORTED_BOOTLOADERS_HYBRID="grub,limine" 20 | readonly CADI_SUPPORTED_BOOTLOADERS_UEFI="grub,limine" 21 | readonly CADI_SUPPORTED_CLOCKSOURCES="generic,acpi_pm,tsc" 22 | readonly CADI_SUPPORTED_CONSOLE_DEVICE_TYPES="normal" 23 | readonly CADI_SUPPORTED_CONSOLE_GRAPHICS_DRIVERS="generic,simpledrm,vmwgfx" 24 | readonly CADI_SUPPORTED_CONSOLE_KEYBOARD_TYPES="ps2" 25 | readonly CADI_SUPPORTED_CONSOLE_OUTPUT_TYPES="generic,graphics,text" 26 | readonly CADI_SUPPORTED_CRYPTO_DEVICES="none" 27 | readonly CADI_SUPPORTED_DHCP_CLIENTS="generic,dhclient,dhcpcd,udhcpc" 28 | readonly CADI_SUPPORTED_DISK_IMAGE_PARTITIONING_TYPES="gpt,mbr" 29 | readonly CADI_SUPPORTED_NETWORK_DRIVERS="vmwnet3" 30 | readonly CADI_SUPPORTED_OS_BOOT_NETWORK_DRIVERS="none" 31 | readonly CADI_SUPPORTED_OS_DEVICE_MEDIAS="disk" 32 | readonly CADI_SUPPORTED_OS_DEVICE_TYPES="pvscsi" 33 | readonly CADI_SUPPORTED_OS_SEPARATE_BOOT_PARTITION=true 34 | readonly CADI_SUPPORTED_RNGS="none" 35 | readonly CADI_SUPPORTED_STORAGE_DRIVERS="pvscsi" 36 | 37 | 38 | # Defaults 39 | readonly CADI_DEFAULT_BOOT_TYPE="bios" 40 | readonly CADI_DEFAULT_BOOTLOADER="grub" 41 | readonly CADI_DEFAULT_CONSOLE_GRAPHICS_DRIVER="simpledrm" 42 | readonly CADI_DEFAULT_CONSOLE_OUTPUT_TYPE="text" 43 | readonly CADI_DEFAULT_DHCP_CLIENT="dhcpcd" 44 | readonly CADI_DEFAULT_DISK_IMAGE_PARTITIONING_TYPE="mbr" 45 | 46 | 47 | # Additional 48 | readonly CADI_ADDITIONAL_NON_INITRAMFS_MODULES="floppy,vmw_balloon,vmw_vmci,vmw_vsock_vmci_transport" 49 | readonly CADI_DISK_IMAGE_FORMAT="vmdk" 50 | readonly CADI_DISK_IMAGE_FORMAT_OPTIONS="-o adapter_type=lsilogic,subformat=streamOptimized,compat6" 51 | readonly CADI_HYPERVISOR_AGENT_PACKAGES="open-vm-tools,open-vm-tools-guestinfo,open-vm-tools-timesync,open-vm-tools-vix,open-vm-tools-vmbackup" 52 | readonly CADI_HYPERVISOR_AGENT_PACKAGES_SIZE=2 53 | readonly CADI_PACKAGES_ADDITIONAL="py3-netifaces" 54 | readonly CADI_PACKAGES_ADDITIONAL_SIZE=0 55 | -------------------------------------------------------------------------------- /definitions/virtual/x86-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual x86-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs for barebones 15 | readonly CADI_INITRAMFS_SIZE=5 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=65 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of Syslinux files in /boot 25 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_VIRT_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/virtual/x86-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual x86-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of Gummiboot/Stubby EFI stub file 15 | readonly CADI_EFISTUB_SIZE=1 16 | 17 | 18 | # linux-edge 19 | #------------ 20 | 21 | # Installed size of the linux-edge package (in MiB) 22 | readonly CADI_KERNEL_EDGE_PACKAGE_SIZE=76 23 | # Size of linux-edge kernel file (in MiB) 24 | readonly CADI_KERNEL_EDGE_FILE_SIZE=6 25 | # Size of linux-edge System.map (in MiB) 26 | readonly CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE=2 27 | # Size of linux-edge config-edge (in MiB) 28 | readonly CADI_KERNEL_EDGE_CONFIG_FILE_SIZE=1 29 | # Size of linux-edge System.map, config, and kernel files (in MiB) 30 | readonly CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_EDGE_CONFIG_FILE_SIZE + CADI_KERNEL_EDGE_FILE_SIZE)) 31 | # Size of linux-edge package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 32 | readonly CADI_ROOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE)) 33 | 34 | 35 | # linux-virt 36 | #------------ 37 | 38 | # Installed size of the linux-virt package (in MiB) 39 | readonly CADI_KERNEL_VIRT_PACKAGE_SIZE=26 40 | # Size of linux-virt kernel file (in MiB) 41 | readonly CADI_KERNEL_VIRT_FILE_SIZE=6 42 | # Size of linux-virt System.map (in MiB) 43 | readonly CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE=2 44 | # Size of linux-virt config-virt (in MiB) 45 | readonly CADI_KERNEL_VIRT_CONFIG_FILE_SIZE=1 46 | # Size of linux-virt System.map, config, and kernel files (in MiB) 47 | readonly CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_VIRT_CONFIG_FILE_SIZE + CADI_KERNEL_VIRT_FILE_SIZE)) 48 | # Size of linux-virt package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 49 | readonly CADI_ROOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE)) 50 | -------------------------------------------------------------------------------- /definitions/virtual/x86-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual x86-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs 15 | readonly CADI_INITRAMFS_SIZE=5 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=155 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=4 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of Syslinux files in /boot 25 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_VIRT_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/virtual/x86_64-barebones-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual x86_64-barebones-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs for barebones 15 | readonly CADI_INITRAMFS_SIZE=5 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=75 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=3 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of Syslinux files in /boot 25 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_VIRT_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /definitions/virtual/x86_64-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual x86_64-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of Gummiboot/Stubby EFI stub file 15 | readonly CADI_EFISTUB_SIZE=1 16 | 17 | 18 | # linux-edge 19 | #------------ 20 | 21 | # Installed size of the linux-edge package (in MiB) 22 | readonly CADI_KERNEL_EDGE_PACKAGE_SIZE=99 23 | # Size of linux-edge kernel file (in MiB) 24 | readonly CADI_KERNEL_EDGE_FILE_SIZE=8 25 | # Size of linux-edge System.map (in MiB) 26 | readonly CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE=3 27 | # Size of linux-edge config-lts (in MiB) 28 | readonly CADI_KERNEL_EDGE_CONFIG_FILE_SIZE=1 29 | # Size of linux-edge System.map, config, and kernel files (in MiB) 30 | readonly CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_EDGE_CONFIG_FILE_SIZE + CADI_KERNEL_EDGE_FILE_SIZE)) 31 | # Size of linux-edge package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 32 | readonly CADI_ROOTFS_KERNEL_EDGE_FILES_SIZE=$((CADI_KERNEL_EDGE_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_EDGE_FILES_SIZE)) 33 | 34 | 35 | # linux-virt 36 | #------------ 37 | 38 | # Installed size of the linux-virt package (in MiB) 39 | readonly CADI_KERNEL_VIRT_PACKAGE_SIZE=33 40 | # Size of linux-virt kernel file (in MiB) 41 | readonly CADI_KERNEL_VIRT_FILE_SIZE=8 42 | # Size of linux-virt System.map (in MiB) 43 | readonly CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE=3 44 | # Size of linux-virt config-virt (in MiB) 45 | readonly CADI_KERNEL_VIRT_CONFIG_FILE_SIZE=1 46 | # Size of linux-virt System.map, config, and kernel files (in MiB) 47 | readonly CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_SYSTEMMAP_FILE_SIZE + CADI_KERNEL_VIRT_CONFIG_FILE_SIZE + CADI_KERNEL_VIRT_FILE_SIZE)) 48 | # Size of linux-virt package files placed in rootfs rather than in /boot (i.e. kernel modules) (in MiB) 49 | readonly CADI_ROOTFS_KERNEL_VIRT_FILES_SIZE=$((CADI_KERNEL_VIRT_PACKAGE_SIZE - CADI_BOOTFS_KERNEL_VIRT_FILES_SIZE)) 50 | -------------------------------------------------------------------------------- /definitions/virtual/x86_64-normal-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## virtual x86_64-normal-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Size of initramfs 15 | readonly CADI_INITRAMFS_SIZE=6 16 | 17 | # Arbitrary "base" size of barebones rootfs (in MB) 18 | readonly CADI_ARBITRARY_ROOTFS_SIZE=110 19 | 20 | # Size of Grub files in /boot 21 | readonly CADI_BOOTLOADER_GRUB_BOOT_FILES_SIZE=4 22 | # Size of Limine files in /boot 23 | readonly CADI_BOOTLOADER_LIMINE_BOOT_FILES_SIZE=1 24 | # Size of Syslinux files in /boot 25 | readonly CADI_BOOTLOADER_SYSLINUX_BOOT_FILES_SIZE=1 26 | 27 | # Size of files in rootfs except for kernel package 28 | readonly CADI_ROOTFS_SIZE=$((CADI_ARBITRARY_ROOTFS_SIZE - CADI_KERNEL_PACKAGE_SIZE)) 29 | 30 | # Size of an ESP partition/FAT fs for barebones containing either: 31 | # - EFI stub, kernel, and initramfs files 32 | # or 33 | # - a single UKI file made up of EFI stub, kernel, and initramfs 34 | readonly CADI_DEFAULT_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_VIRT_FILE_SIZE + CADI_INITRAMFS_SIZE)) 35 | readonly CADI_DEFAULT_EDGE_EFISTUB_ESP_PART_SIZE=$((CADI_EFISTUB_SIZE + CADI_KERNEL_EDGE_FILE_SIZE + CADI_INITRAMFS_SIZE)) 36 | -------------------------------------------------------------------------------- /lib/bootloader-general-functions: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # shellcheck disable=SC2039 3 | 4 | ############################################################################# 5 | ## 6 | ## bootloader-general-functions-functions 7 | ## 8 | ## Copyright 2021-2023 Dermot Bradley 9 | ## 10 | ## Licensed via GPL version 2.0 11 | ## 12 | ############################################################################# 13 | 14 | 15 | # 16 | # Check that whichever fs type is used for boot is actually 17 | # supported by selected bootloader. 18 | # 19 | check_bootloader_supports_fs() { 20 | if [ -n "$image_lvm_rootfs" ] && \ 21 | [ "$image_create_boot_partition" != "true" ]; then 22 | # LVM rootfs and no separate boot partition. 23 | case $image_bootloader in 24 | grub ) 25 | check_grub_supports_lvm ;; 26 | limine ) 27 | check_limine_supports_lvm ;; 28 | rpi ) 29 | check_rpi_supports_lvm ;; 30 | syslinux ) 31 | check_syslinux_supports_lvm ;; 32 | efistub | uki ) 33 | : ;; 34 | * ) 35 | error_message "Unclear if $image_bootloader supports booting from LVM!" ;; 36 | esac 37 | elif { [ "$image_encryption_type" = "both" ] || \ 38 | [ "$image_encryption_type" = "luks" ]; } && \ 39 | [ "$image_create_boot_partition" != "true" ]; then 40 | # LUKS rootfs and no separate boot partition. 41 | case $image_bootloader in 42 | grub ) 43 | check_grub_supports_luks ;; 44 | limine ) 45 | check_limine_supports_luks ;; 46 | rpi ) 47 | check_rpi_supports_luks ;; 48 | syslinux ) 49 | check_syslinux_supports_luks ;; 50 | efistub | uki ) 51 | : ;; 52 | * ) 53 | error_message \ 54 | "Unclear if $image_bootloader supports booting from LUKS!" ;; 55 | esac 56 | else 57 | # bootfs (in separate boot partition) or rootfs without LVM or LUKS. 58 | case $image_bootloader in 59 | grub ) 60 | check_grub_supports_fs ;; 61 | limine ) 62 | check_limine_supports_fs ;; 63 | rpi ) 64 | check_rpi_supports_fs ;; 65 | syslinux ) 66 | check_syslinux_supports_fs ;; 67 | efistub | uki ) 68 | : ;; 69 | * ) 70 | error_message \ 71 | "Unclear if $image_bootloader supports booting from $image_fs_type filesystem!" ;; 72 | esac 73 | fi 74 | } 75 | -------------------------------------------------------------------------------- /lib/common-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## common-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | readonly CADI_APK_STATIC_AARCH64_CHECKSUM="d49a63b8b6780fc1342d3e7e14862aa006c30bafbf74beec8e1dfe99e6f89471" 14 | readonly CADI_APK_STATIC_ARMV7_CHECKSUM="9d68d7cb0bbb46e02b7616e030eba7be1697d84cabf61e0a186a6b7522ffb09e" 15 | readonly CADI_APK_STATIC_X86_CHECKSUM="cb8160be3f57b2e7b071b63cb9acb4f06c1e2521b69db178b63e2130acd5504a" 16 | readonly CADI_APK_STATIC_X86_64_CHECKSUM="1c65115a425d049590bec7c729c7fd88357fbb090a6fc8c31d834d7b0bc7d6f2" 17 | readonly CADI_APK_STATIC_VERSION="2.14.0" 18 | readonly CADI_APK_STATIC_URL="https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v${CADI_APK_STATIC_VERSION}" 19 | readonly CADI_RAMDISK_SIZE=3G 20 | 21 | # Defaults 22 | readonly CADI_DEFAULT_ALPINE_RELEASE="edge" 23 | readonly CADI_GLOBAL_DEFAULT_OS_DEVICE_TYPE="sata" 24 | readonly CADI_DEFAULT_CHROOT_DIRECTORY="./chroot" 25 | readonly CADI_DEFAULT_CONSOLE_ONLY_GROUP="console-only" 26 | readonly CADI_DEFAULT_CONSOLE_USER_ACCOUNT="localadmin" 27 | readonly CADI_DEFAULT_IMAGES_DIRECTORY="./alpine-images" 28 | readonly CADI_DEFAULT_IPV6_TYPE="dhcp" 29 | readonly CADI_DEFAULT_KEYMAP="us us" 30 | readonly CADI_DEFAULT_LOCALE="en_US.UTF-8" 31 | readonly CADI_DEFAULT_MIRROR_SITE="https://dl-cdn.alpinelinux.org/alpine" 32 | readonly CADI_DEFAULT_RAMDISK_DIRECTORY="./ramdisk" 33 | readonly CADI_DEFAULT_SERIAL_CONSOLE_PORT_SPEED="115200" 34 | readonly CADI_GLOBAL_DEFAULT_TIMEZONE="America/New_York" 35 | 36 | # Default type of software selections 37 | readonly CADI_DEFAULT_AUTH_CONTROL="doas" 38 | readonly CADI_DEFAULT_CRON_DAEMON="busybox" 39 | readonly CADI_DEFAULT_DEVICE_MANAGEMENT_TYPE="mdev" 40 | readonly CADI_DEFAULT_DHCP_SOFTWARE="udhcpc" 41 | readonly CADI_DEFAULT_FIREWALL="iptables" 42 | # Set to either "busybox", "shadow", or "util-linux" 43 | readonly CADI_DEFAULT_LOGIN_PACKAGE="util-linux" 44 | readonly CADI_GLOBAL_DEFAULT_NTP_DAEMON="chrony" 45 | readonly CADI_DEFAULT_SSH_SERVER="openssh" 46 | readonly CADI_DEFAULT_SYSLOG_SERVER="rsyslog" 47 | readonly CADI_DEFAULT_USER_MANAGEMENT_PACKAGE="shadow" 48 | -------------------------------------------------------------------------------- /lib/disk-image-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## disk-image-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | # Defaults 14 | readonly CADI_DEFAULT_ADMIN_USERNAME="alpine" 15 | readonly CADI_DEFAULT_BOOT_REFERENCE="uuid" 16 | readonly CADI_DEFAULT_DISK_RESIZE_FREE_PERCENT=10 17 | readonly CADI_DEFAULT_EFI_BOOTSTUB="gummiboot" 18 | readonly CADI_DEFAULT_FS_TYPE="ext4" 19 | readonly CADI_DEFAULT_LUKS_CIPHER="aes-xts-plain64" 20 | readonly CADI_DEFAULT_LUKS_PASSPHRASE="InsecureDefault" 21 | readonly CADI_DEFAULT_SSH_KEYTYPES="ed25519" 22 | 23 | 24 | # Filesystem labels and LVM device names 25 | readonly CADI_BOOTFS_LABEL="boot" 26 | readonly CADI_CIDATA_LABEL="CIDATA" 27 | readonly CADI_ESP_FS_LABEL="SYSTEM EFI" 28 | readonly CADI_LOGSFS_LABEL="logs" 29 | readonly CADI_LUKS_DEVICE_NAME="lukspart" 30 | readonly CADI_LUKS_LABEL="luks-main" 31 | readonly CADI_LVM_BOOT_LV_NAME="boot" 32 | readonly CADI_LVM_LOGS_LV_NAME="logs" 33 | readonly CADI_LVM_ROOT_LV_NAME="root" 34 | readonly CADI_LVM_VG_NAME="vg0" 35 | readonly CADI_ROOTFS_LABEL="alpine-root" 36 | readonly CADI_RPIBOOT_LABEL="RPIBOOT" 37 | readonly CADI_SWAP_PART_LABEL="Swap" 38 | 39 | # Filesystem reserved space in % 40 | readonly CADI_BTRFS_RESERVED_PERCENT="5" 41 | readonly CADI_EXT4_RESERVED_PERCENT="20" 42 | readonly CADI_F2FS_RESERVED_PERCENT="40" 43 | readonly CADI_XFS_RESERVED_PERCENT="7" 44 | 45 | # Storage overhead for LUKS and LVM in % 46 | readonly CADI_LUKSv1_OVERHEAD_PERCENT="4" 47 | readonly CADI_LUKSv2_OVERHEAD_MB="16" 48 | readonly CADI_LVM_OVERHEAD_PERCENT="7" 49 | 50 | 51 | ########################################################################### 52 | # Partition / filesystem sizing (in MiB) 53 | ########################################################################### 54 | 55 | readonly CADI_CIDATA_PART_SIZE=1 56 | # With XFS the minimum size must be 16MiB 57 | readonly CADI_LVM_LOGS_LV_SIZE=16 58 | 59 | # FAT32 minimum filesystem size depends on the device's sector size 60 | # 61 | # Minimum filesystem size on 512-byte sector device, 62 | # 65525 clusters x 512 byte sector = 32 MiB 63 | readonly CADI_DEFAULT_FAT32_512_ESP_PART_SIZE=32 64 | # Minimum filesystem size on 4K sector device, 65 | # 65525 clusters x 4096 byte sector = 256MiB 66 | readonly CADI_DEFAULT_FAT32_4096_ESP_PART_SIZE=256 67 | -------------------------------------------------------------------------------- /lib/fscrypt-encryption-functions: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # shellcheck disable=SC1117,SC2039 3 | 4 | ############################################################################# 5 | ## 6 | ## fscrypt-encryption-functions 7 | ## 8 | ## Copyright 2021-2022 Dermot Bradley 9 | ## 10 | ## Licensed via GPL version 2.0 11 | ## 12 | ############################################################################# 13 | 14 | 15 | # 16 | # Setup the fscrypt device. 17 | # 18 | setup_fscrypt_device() { 19 | cat <<-'EOF' >> "$run_script" 20 | 21 | write_log "Setting up fscrypt on rootfs" 22 | { 23 | fscrypt setup >> "$logfile" 24 | EOF 25 | 26 | if [ -n "$debug_enabled" ]; then 27 | cat <<-'EOF' >> "$run_script" 28 | 29 | # Debug 30 | write_log "Show fscrypt rootfs details" 2 31 | fscrypt status / >> "$logfile" 32 | EOF 33 | fi 34 | 35 | cat <<-'EOF' >> "$run_script" 36 | } 37 | EOF 38 | } 39 | -------------------------------------------------------------------------------- /lib/initramfs-functions: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # shellcheck disable=SC2039 3 | 4 | ############################################################################# 5 | ## 6 | ## initramfs-functions 7 | ## 8 | ## Copyright 2022 Dermot Bradley 9 | ## 10 | ## Licensed via GPL version 2.0 11 | ## 12 | ############################################################################# 13 | 14 | 15 | # 16 | # Passed a path relative to /lib/modules// for a module, 17 | # returns the module's name. Caters for where module name is 18 | # different than module filename. 19 | # 20 | module_name() { 21 | local _path=$1 22 | 23 | local _name 24 | 25 | _name="${_path##*/}" 26 | _name="${_name%%.ko*}" 27 | 28 | case $_name in 29 | tiny-power-button ) 30 | echo "tiny_power_button" ;; 31 | * ) 32 | echo "$_name" ;; 33 | esac 34 | } 35 | 36 | 37 | # 38 | # Show contents of generated initramfs. 39 | # 40 | show_initramfs_contents() { 41 | if [ -n "$debug_enabled" ]; then 42 | cat <<-'EOF' >> "$run_script" 43 | 44 | # Debug 45 | EOF 46 | 47 | _initramfs_filename="$(get_initramfs_filename)" 48 | 49 | case $image_initramfs_tool in 50 | booster ) 51 | cat <<-EOF >> "$run_script" 52 | write_debug_log "booster $_initramfs_filename contents:" 53 | booster ls "/boot/$_initramfs_filename" >> /chroot.log 2>&1 54 | EOF 55 | ;; 56 | dracut ) 57 | cat <<-'EOF' >> "$run_script" 58 | write_debug_log "dracut ??? contents:" 59 | ###mkinitfs -l "\$_kernel_version" >> /chroot.log 2>&1 60 | EOF 61 | ;; 62 | mkinitfs ) 63 | cat <<-EOF >> "$run_script" 64 | write_debug_log "mkinitfs contents:" 65 | zcat /boot/$_initramfs_filename | cpio -t >> /chroot.log 2>/dev/null 66 | EOF 67 | ;; 68 | * ) 69 | : ;; 70 | esac 71 | fi 72 | } 73 | -------------------------------------------------------------------------------- /lib/ntp-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## ntp-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | readonly CADI_GENERAL_NTP_POOLS="pool.ntp.org" 15 | readonly CADI_GENERAL_NTP_SERVERS_OPTIONS="iburst" 16 | -------------------------------------------------------------------------------- /lib/packages/aarch64-packages-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## aarch64-packages-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Cloud configuration packages sizes 15 | # 16 | # cloud-init + python3 + ?? 17 | readonly CADI_CLOUDINIT_PACKAGES_SIZE=80 18 | readonly CADI_NONCLOUD_PACKAGES_SIZE=2 19 | readonly CADI_TINYCLOUD_PACKAGES_SIZE=1 20 | 21 | 22 | # Bootloader packages sizes, used for sizing rootfs: 23 | readonly CADI_BOOTLOADER_GRUB_PACKAGES_SIZE=17 24 | readonly CADI_BOOTLOADER_LIMINE_PACKAGES_SIZE=1 25 | readonly CADI_BOOTLOADER_RPI_PACKAGES_SIZE=5 26 | 27 | 28 | # General 29 | readonly CADI_SBOM_PACKAGE_SIZE=62 30 | -------------------------------------------------------------------------------- /lib/packages/armv7-packages-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## disk-image-armv7-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | # Cloud configuration packages sizes 14 | # 15 | # cloud-init + python3 + ?? 16 | readonly CADI_CLOUDINIT_PACKAGES_SIZE=80 17 | readonly CADI_NONCLOUD_PACKAGES_SIZE=2 18 | readonly CADI_TINYCLOUD_PACKAGES_SIZE=1 19 | 20 | 21 | # Bootloader packages sizes, used for sizing rootfs: 22 | readonly CADI_BOOTLOADER_GRUB_PACKAGES_SIZE=17 23 | readonly CADI_BOOTLOADER_RPI_PACKAGES_SIZE=5 24 | 25 | 26 | # General 27 | readonly CADI_SBOM_PACKAGE_SIZE=0 28 | -------------------------------------------------------------------------------- /lib/packages/x86-packages-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## x86-packages-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Cloud configuration packages sizes 15 | # 16 | # cloud-init + python3 + ?? 17 | readonly CADI_CLOUDINIT_PACKAGES_SIZE=80 18 | readonly CADI_NONCLOUD_PACKAGES_SIZE=2 19 | readonly CADI_TINYCLOUD_PACKAGES_SIZE=1 20 | 21 | 22 | # Bootloader packages sizes, used for sizing rootfs: 23 | readonly CADI_BOOTLOADER_GRUB_PACKAGES_SIZE=17 24 | readonly CADI_BOOTLOADER_LIMINE_PACKAGES_SIZE=1 25 | readonly CADI_BOOTLOADER_SYSLINUX_PACKAGES_SIZE=4 26 | 27 | 28 | # General 29 | readonly CADI_X86_SBOM_PACKAGE_SIZE=0 30 | -------------------------------------------------------------------------------- /lib/packages/x86_64-packages-defines: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ############################################################################# 4 | ## 5 | ## x86_64-packages-defines 6 | ## 7 | ## Copyright 2021-2023 Dermot Bradley 8 | ## 9 | ## Licensed via GPL version 2.0 10 | ## 11 | ############################################################################# 12 | 13 | 14 | # Cloud configuration packages sizes 15 | # 16 | # cloud-init + python3 + ?? 17 | readonly CADI_CLOUDINIT_PACKAGES_SIZE=80 18 | readonly CADI_NONCLOUD_PACKAGES_SIZE=2 19 | readonly CADI_TINYCLOUD_PACKAGES_SIZE=1 20 | 21 | 22 | # Bootloader packages sizes, used for sizing rootfs: 23 | readonly CADI_BOOTLOADER_GRUB_PACKAGES_SIZE=17 24 | readonly CADI_BOOTLOADER_LIMINE_PACKAGES_SIZE=1 25 | readonly CADI_BOOTLOADER_SYSLINUX_PACKAGES_SIZE=4 26 | 27 | 28 | # General 29 | readonly CADI_SBOM_PACKAGE_SIZE=64 30 | -------------------------------------------------------------------------------- /lib/vm-functions: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # shellcheck disable=SC2039 3 | 4 | ############################################################################# 5 | ## 6 | ## vm-functions 7 | ## 8 | ## Copyright 2021-2023 Dermot Bradley 9 | ## 10 | ## Licensed via GPL version 2.0 11 | ## 12 | ############################################################################# 13 | 14 | 15 | # 16 | # Define virtual machine specific packages. 17 | # 18 | define_virtual_machine_packages() { 19 | local _virtual_pkgs 20 | 21 | if [ -z "$image_barebones" ]; then 22 | _virtual_pkgs="virt-what" 23 | 24 | if [ -n "$hypervisor_agent_packages" ] && \ 25 | [ -z "$image_disable_hypervisor_agent" ]; then 26 | _virtual_pkgs="$_virtual_pkgs $hypervisor_agent_packages" 27 | fi 28 | fi 29 | 30 | echo "$_virtual_pkgs" 31 | } 32 | 33 | 34 | # 35 | # Disable unrequired kernel drivers modules on a virtual machine. 36 | # 37 | disable_kernel_drivers_modules_on_virtual() { 38 | local _disable_list="" 39 | 40 | # Disable all cloud provider modules 41 | _disable_list="$CADI_CLOUD_KERNEL_MODULES" 42 | 43 | # Disable all physical modules 44 | _disable_list="$_disable_list $CADI_PHYSICAL_KERNEL_MODULES" 45 | _disable_list="$_disable_list ehci-platform ohci-platform xhci-plat-hcd" 46 | 47 | if [ "$image_vm_type" != "generic" ]; then 48 | case $image_vm_type in 49 | hyperv ) 50 | : ;; 51 | * ) 52 | # Disable Hyper-V/Azure modules 53 | _disable_list="$_disable_list $CADI_VIRTUAL_HYPERV_KERNEL_MODULES" 54 | _disable_list="$_disable_list $CADI_AZURE_HYPERV_COMMON_KERNEL_MODULES" 55 | ;; 56 | esac 57 | case $image_vm_type in 58 | virtualbox ) 59 | if [ -n "$image_barebones" ]; then 60 | _disable_list="$_disable_list $CADI_VIRTUAL_VIRTUALBOX_KERNEL_MODULES" 61 | fi 62 | ;; 63 | * ) 64 | # Disable Virtualbox modules 65 | _disable_list="$_disable_list $CADI_VIRTUAL_VIRTUALBOX_KERNEL_MODULES" 66 | ;; 67 | esac 68 | case $image_vm_type in 69 | vmware ) 70 | : ;; 71 | * ) 72 | # Disable VMware modules 73 | _disable_list="$_disable_list $CADI_VIRTUAL_VMWARE_KERNEL_MODULES" ;; 74 | esac 75 | case $image_vm_type in 76 | virtualbox | vmware ) 77 | : ;; 78 | * ) 79 | _disable_list="$_disable_list vmwgfx" ;; 80 | esac 81 | fi 82 | 83 | echo "$_disable_list" 84 | } 85 | --------------------------------------------------------------------------------