add readme.md
This commit is contained in:
parent
f2cfe7ad71
commit
866b47e3cc
113
README.md
Normal file
113
README.md
Normal file
@ -0,0 +1,113 @@
|
||||
# Ventoy Bootstick Automation
|
||||
|
||||
# Erklärungen
|
||||
|
||||
## Problem
|
||||
|
||||
* Die Ventoy USB Sticks werden regelmäßig formatiert / anderweitig gebraucht
|
||||
* Das Erstellen des Bootsticks kostet Zeit - speziell das Kopieren der ISO Datei dauert lange
|
||||
* ISO Dateien müssen regelmäßig updates erhalten - vorallem bei Linux Desktopsystemen kann es passieren dass die ISO Datei nach der Installation keine Updates fahren kann weil sie zu alt ist. (Arch-Linux Problem)
|
||||
|
||||
## Ziel
|
||||
* Erstellen eines (PowerShell)-Scripts, welches automatisch folgende Aufgaben erfüllt:
|
||||
1. Formatiert den USB Stick (Nachfragen ob man sich sicher ist!)
|
||||
2. Installiert Ventoy
|
||||
3. Kopiert unser Ventoy-Template auf den USB Stick (https://git.itlabs.at/neko/ventoy-itlabs, `git pull https://git.itlabs.at/neko/ventoy-itlabs.git`)
|
||||
4. Ladet notwendige ISO Dateien in das korrekte Verzeichnis
|
||||
|
||||
### Weitere Details
|
||||
|
||||
* ISO Dateien benötigen ein Repository
|
||||
* Zu klären ist, wie wir dies erledigen
|
||||
* Repository lokal? Auf dem PC auf dem das Script ausgeführt wird alle ISO Dateien speichern?
|
||||
* Repository auf Netzspeicher?
|
||||
* Repository auf USB-Datenträger (z.B. externe Festplatte)
|
||||
* ISO Dateien sollen auf Aktualität geprüft werden und wenn notwendig soll eine neue Version davon heruntergeladen werden
|
||||
* Automatische Updates mit zweitem Script? Wie?
|
||||
|
||||
### Rahmenbedingungen
|
||||
|
||||
* Script muss in einem Git-Repo landen (https://git.itlabs.at/)
|
||||
* Script muss dokumentiert sein und Kommentare enthalten!
|
||||
* Ihr habt alle Hardware vom ITL@Bs zur Verfügung
|
||||
* Script sollte mitteilen, was gerade passiert
|
||||
|
||||
# Aufgabe
|
||||
|
||||
1. Diskutiert zuerst im Team, wie man die verschiedenen Problemstellungen angehen und lösen kann
|
||||
2. Findet verschiedene Ansätze, diskutiert diese und beschließt dann gemeinsam, welcher Ansatz verfolgt und im Script umgesetzt wird
|
||||
3. Schreibt das Script und testet es aus
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
#### Powershell Scripting:
|
||||
- [tutorialspoint](https://www.tutorialspoint.com/powershell/index.html)
|
||||
- [microsoft](https://learn.microsoft.com/en-us/training/modules/script-with-powershell/)
|
||||
- [tpointtech](https://www.tpointtech.com/powershell)
|
||||
|
||||
Wichtige Grundlagen:
|
||||
|
||||
ventoyauto.ps1
|
||||
|
||||
**Variablen**
|
||||
```
|
||||
$zahl = 84
|
||||
$name = "Patrick"
|
||||
$ja = $true
|
||||
```
|
||||
**Array**
|
||||
```
|
||||
$array = @(1, 2, 3, "Patrick")
|
||||
```
|
||||
**Bedingungen**
|
||||
```
|
||||
if ($x -gt 5) {
|
||||
Write-Host "Größer als 5"
|
||||
} else {
|
||||
Write-Host "Kleiner oder gleich 5"
|
||||
}
|
||||
```
|
||||
**Schleife**
|
||||
```
|
||||
while ($count -lt 3) {
|
||||
Write-Host "Zähler: $count"
|
||||
$count++
|
||||
}
|
||||
```
|
||||
**Function**
|
||||
```
|
||||
function Antwort {
|
||||
Write-Host "Hallo Patrick!"
|
||||
}
|
||||
```
|
||||
Mit parameter
|
||||
```
|
||||
function Add-Numbers {
|
||||
param ($a, $b)
|
||||
return $a + $b
|
||||
}
|
||||
$summe = Add-Numbers 5 10
|
||||
Write-Host "Summe: $summe"
|
||||
```
|
||||
|
||||
VentoyCLI: https://www.ventoy.net/en/doc_windows_cli.html
|
||||
|
||||
Skript: Da die ganze USB formatiert wird, muss man zweimal den Install annehmen.
|
||||
1. Auswahl von USB-Sticks (Sonst musste man USB immer " D:\ " geben)
|
||||
2. VentoyCLI auführen, USB Formattieren (ExFAT, MBR), Ventoy installieren
|
||||
3. Git repo kopieren (von https://git.itlabs.at/neko/ventoy-itlabs) und auf den Ventoy laden. (.git Verzeichnis wird gelöscht um mögliche fehler zu vermeiden)
|
||||
3a. Git erlaubt irgendwie das kopieren in das D Verzeichnis nicht. Um das zu umgehen erstellt das Skript ein neuen Verzeichnis "Theme" und kopiert die Dateien von Git hinein.
|
||||
3b. Die Dateien im "Theme" werden dann ins Stammverzeichnis verschoben und "Theme" gelöscht
|
||||
4. Alle ISO-Dateien (*.iso) werden in den angegebenen Ordnern (1 Windows, 2 Linux, 3 Others, 4 Utilities) kopiert. Nach jeder Datei wird eine Prozentanzahl der bereits kopierten Dateien angezeigt. Zeigt an das es fertig ist
|
||||
5. Nachdem alles kopiert wurde, muss der Benutzer nochmals Enter drücken um das Skript zu schließen.
|
||||
|
||||
Verwendung:
|
||||
1. Pfade in der Datei ändern
|
||||
2. Skript als Administrator im Powershell ausführen (falls nötig "Set-ExecutionPolicy Unrestricted")
|
||||
3. Bekannter Fehler: in Zeile 67 ```" $selectedDrive = $selectedDrive + ":" "``` kann ein Fehler beheben oder aufrufen. Die Variable ```"$selectedDrive"``` kann entweder als "D:" ausgegeben werden oder von "D" (was falsch ist) Wichtig ist: die Zeile einfach löschen wenn die Buchstaben der USBs richtig erkannt werden.
|
||||
4. Warten auf kopieren
|
||||
5. Fertig! Ventoy-Bootstick verwerfen und im Schrank lagern.
|
||||
|
||||
---
|
Loading…
Reference in New Issue
Block a user