This repository contains OS preseeds for preparing Dasharo devices for testing.
Start a http server from the terminal:
$ python -m http.server 8080| OS | HTTP | netboot.xyz | local |
|---|---|---|---|
| Ubuntu | Yes | Yes | Yes |
| Debian | Yes | Yes | Yes |
| Fedora | No | No | Yes |
- Install Windows first because the automatic installer cleans the entire disk
- Download the newest Windows Disk Image (ISO) from official website
- Run
windows/create_image.shgiving the path to the downloaded iso as-iparameter - Use WoeUSB to make a bootable USB from the
resulting automatic windows installer iso. Example command:
sudo woeusb --device windows-auto.iso /dev/sd[drive letter]
- Insert the USB into the platform and boot from the USB
- Windows will install automatically and configure
- If there are any problems during installation, you can make sure all steps
have been completed by manually running the files
setup-ssh.ps1 and
install_intel_nic_drivers.ps1
standby_timeout.ps1
install-updates.ps1
PowerShell.exe -ExecutionPolicy UnRestricted -File C:\Users\Public\Desktop\custom_data\<script_name>
If for some reason you want to upgrade to the latest version, Windows update does not allow it, you can do it by inserting the USB and running
.\setup.exeunder Windows. This solution leaves the bootloader. However, in most cases, the Windows + Ubuntu autoinstaller will be faster.
ubuntu/create_image.sh script automatically downloads Ubuntu release 22.04.4,
extracts it, injects preseeds and packages the new iso image. General preseed
configuration can be found in the ubuntu/main.cfg file, if necessary, it can
be edited. The script also takes arguments if the original Ubuntu iso image has
already been downloaded or extracted.
Warning! This script by default wipes the first disks and setups ubuntu
partitions! If you want custom partitioning run the program with -p argument.
Does everything and saves the image as ubuntu-auto-22.04.4.iso in the script
execution directory:
./ubuntu/create_image.shExtracts downloaded image and saves modified image (it is important that the image is downloaded from here, otherwise it may work incorrectly):
./ubuntu/create_image.sh -i ~/Downloads/ubuntu-22.04.4-desktop-amd64.isoSaves modified image as ubuntu.iso:
./ubuntu/create_image.sh -o ubuntu.isoThere is a help if needed:
./ubuntu/create_image.sh -hfedora/create_image.sh script downloads the Fedora 42 Everything iso and
replaces the grub.cfg file with fedora/grub-efi.cfg. The modified iso can
be used to create an installation medium by writing it to a flash drive.
The modifications cause the installer to download the kickstart file
at fedora/ks.cfg from this repository.
The installer does not wipe out other OSes. It creates a partition 50GB
in size automatically, but fails if there is not enough space on any
of the disks.
Downloads Fedora and modifies the iso
./fedora/create-image.shModifies the iso given as an argument. The script looks for fedora.iso by default.
Downloads the iso if the file is not found.
./fedora/create-image.sh -i fedora.isoSave the modified iso to given path. The default output file name is fedora-auto-{version}.iso
./fedora/create-image.sh -o fedora-auto-42-1.1.isoShow help
./fedora/create-image.sh -hqubesos/create_image.sh script downloads the QubesOS iso and replaces
the grub.cfg with qubesos/grub-efi.cfg. The modified iso can be written
onto a flash drive and used as an installation media.
Important Currently fully unattended installations are not possible. The installer will require the user to apply the default post-install configuration settings in order to continue with the second part of installation.
The installer sets up an SSH tunnel from net-vm to dom0 allowing for
automated tests via SSH.
The installer ONLY installs QubesOS on nvme0n1 drive.
It is enough for the day of writing the documentation, as only laptops with
single nvme drive support QubesOS. Should that change, the qubesos/ks.cfg
would need to include a script that detects the available drives,
like in https://github.com/Nitrokey/qubes-oem/blob/main/ks_template.cfg.
The installer does not override other OSes installed on the nvme0n1 drive and
only uses ~80 GiB of disk space while leaving the rest free, so it can be
installed along other OSes in any order.
Downloads QubesOS and modifies the iso
./qubesos/create_image.shModifies the iso given as an argument. The script looks for qubesos-${QUBES_VERSION}.iso (qubesos-R4.3.0-rc3.iso) by default.
Downloads the iso if the file is not found.
./qubesos/create_image.sh -i qubesos-R4.3.0-rc3.isoSave the modified iso to given path. The default output file name is qubesos-auto-{version}.iso
./qubesos/create_image.sh -o qubesos-auto-R4.3.0-rc3.isoShow help
./qubesos/create_image.sh -hDebian preseeds are located in the debian/ directory.
Boot the Debian ISO and append the following to the kernel commandline before launching the installer:
auto url=http://[your ip]:8080/debian/preseed.cfgAdd the following snippet to your netboot.xyz Debian netboot entry:
set preseedurl http://[your ip]:8080/debian/preseed.cfg
preseed/url=${preseedurl}Follow the steps in the Debian documentation to add the preseed file to a Debian installer ISO.