diff --git a/Testing-partitioning-over-old-windows-installation.md b/Testing-partitioning-over-old-windows-installation.md new file mode 100644 index 0000000..7539938 --- /dev/null +++ b/Testing-partitioning-over-old-windows-installation.md @@ -0,0 +1,112 @@ +Similarly to the other wiki articles for quickly testing things. +This script should help you test installing over a windows installation. + +Requirements +------------ + + 1. Download and place the following Windows 10 ISO in your `~/Downloads` catalog: https://www.microsoft.com/software-download/windows10 + 2. Download and place the following virtio-driver ISO from fedora in your `~/Downloads` catalog: https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md + +Once running, select `amd64` -> `win10` to load the disk driver. +*(I'm aware that you could use qemu to boot using IDE drives, but this will specifically test SCSI based drives)*. + +```bash +#!/bin/bash + +if [ -z "$1" ] +then + echo "Need to define a output folder for the archiso:" + echo "Example (build and run):" + echo " ./test.sh ./archiso true" + echo "Example (skip building and run ISO as given path):" + echo " ./test.sh ./archiso" + exit 1 +fi + +REPO="https://github.com/Torxed/archinstall.git" +ARCHISO_FOLDER=$1 +REBUILD=$2 +BRANCH="master" + +if [ $REBUILD ] +then + echo "Making a clean build!" + `rm -rf "${ARCHISO_FOLDER}" 2>/dev/null` || ( + echo "Could not delete protected folder:"; + echo "-> ${ARCHISO_FOLDER}"; + echo "Running as sudo."; + sudo rm -rf "${ARCHISO_FOLDER}" + ) + + mkdir -p "${ARCHISO_FOLDER}" + cp -r /usr/share/archiso/configs/releng/* "${ARCHISO_FOLDER}/" + + git clone "${REPO}" "${ARCHISO_FOLDER}/airootfs/root/archinstall-git" + (cd "${ARCHISO_FOLDER}/airootfs/root/archinstall-git"; git checkout "${BRANCH}" ) + + echo "git" >> "${ARCHISO_FOLDER}/packages.x86_64" + echo "python" >> "${ARCHISO_FOLDER}/packages.x86_64" + echo "python-pip" >> "${ARCHISO_FOLDER}/packages.x86_64" + echo "python-setuptools" >> "${ARCHISO_FOLDER}/packages.x86_64" + + cat <<\EOF >> "${ARCHISO_FOLDER}/airootfs/root/.zprofile" +if [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]]; then + cd /root/archinstall-git + pip uninstall archinstall -y >/dev/null 2>&1 + git pull + python setup.py install >/dev/null 2>&1 + cd /root + + RED='\033[0;31m' + YEL='\033[1;33m' + NC='\033[0m' + + echo "" + echo -e "${RED}Note:${NC} This is a release candidate! (Experimental release: v2.1.4)" + echo -e "Do not bother Arch Linux support staff about issues in this specific release candidate!" + echo -e "Instead, ${YEL}create an Issue ticket on the Upstream GithHub page for support:${NC}" + echo -e " https://github.com/archlinux/archinstall/issues" + echo "" + echo "Run 'python -m archinstall' when you are ready to test (configure your network first if needed)!" +fi +EOF + + ( cd "${ARCHISO_FOLDER}/"; sudo mkarchiso -v -w work/ -o out/ ./; ) +fi + +if [ ! -f "./test.qcow2" ]; +then + qemu-img create -f qcow2 ./test.qcow2 35G +fi + +sudo qemu-system-x86_64 \ + -cpu host \ + -enable-kvm \ + -machine q35,accel=kvm \ + -device intel-iommu \ + -m 8192 \ + -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF_CODE.fd \ + -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF_VARS.fd \ + -device virtio-scsi-pci,bus=pcie.0,id=scsi0 \ + -device scsi-hd,drive=hdd0,bus=scsi0.0,id=scsi0.0,bootindex=2 \ + -drive file=./test.qcow2,if=none,format=qcow2,discard=unmap,aio=native,cache=none,id=hdd0 \ + -device virtio-scsi-pci,bus=pcie.0,id=scsi1 \ + -device scsi-cd,drive=cdrom0,bus=scsi1.0,bootindex=1 \ + -drive file=$(ls ~/Downloads/Win10_*.iso | head -n 1),media=cdrom,if=none,format=raw,cache=none,id=cdrom0 \ + -cdrom $(ls ~/Downloads/virtio-win*.iso | head -n 1) + +sudo qemu-system-x86_64 \ + -cpu host \ + -enable-kvm \ + -machine q35,accel=kvm \ + -device intel-iommu \ + -m 8192 \ + -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF_CODE.fd \ + -drive if=pflash,format=raw,readonly,file=/usr/share/ovmf/x64/OVMF_VARS.fd \ + -device virtio-scsi-pci,bus=pcie.0,id=scsi0 \ + -device scsi-hd,drive=hdd0,bus=scsi0.0,id=scsi0.0,bootindex=2 \ + -drive file=./test.qcow2,if=none,format=qcow2,discard=unmap,aio=native,cache=none,id=hdd0 \ + -device virtio-scsi-pci,bus=pcie.0,id=scsi1 \ + -device scsi-cd,drive=cdrom0,bus=scsi1.0,bootindex=1 \ + -drive file=$(ls -t $ARCHISO_FOLDER/out/*.iso | head -n 1),media=cdrom,if=none,format=raw,cache=none,id=cdrom0 +``` \ No newline at end of file