-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Packer Template for Building supported Windows client and server images #144
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Lukáš Fázik <[email protected]>
…oppy_files Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
According to best practices Signed-off-by: Lukáš Fázik <[email protected]>
…Run-Scripts.ps1 Signed-off-by: Lukáš Fázik <[email protected]>
Run-Scripts.ps1 in Copy-Scritps.ps1 and remove Unnecessary return value Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Silenced clean up phase Script array of zero/one element is stored properly in progress.json Signed-off-by: Lukáš Fázik <[email protected]>
boot_wait was too slow for running on bare metal Fedora install Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Merge Copy-Scripts.ps1 and Copy-Unattend.ps1 into single Copy-Files.ps1 Signed-off-by: Lukáš Fázik <[email protected]>
…ase of Autounatend file This speeds up imaging and subsequent installation Signed-off-by: Lukáš Fázik <[email protected]>
Now the user is logged out only after OOBE finishes Signed-off-by: Lukáš Fázik <[email protected]>
The Join-Path is the preferred way of joining paths and works correctly on Windows, Linux and other platforms Signed-off-by: Lukáš Fázik <[email protected]>
$Args switched to params syntax. First ($ScriptRoot) argument is unaffected by this change Signed-off-by: Lukáš Fázik <[email protected]>
Now the currently executed scrpt will not take down the main script, even if it has $ErrorActionPreference = "Stop" inside Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
…nished in OOBEFinish.ps1 Signed-off-by: Lukáš Fázik <[email protected]>
Replace call operator with Start-Process and -Wait parameter Signed-off-by: Lukáš Fázik <[email protected]>
This prevents built in MSIs coliding with later MSI packages executed by another scripts Signed-off-by: Lukáš Fázik <[email protected]>
This script cleans up windows component store using DISM and trims the drive Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
This paths are used in unattend files as an argument for Run-Scripts.ps1 Signed-off-by: Lukáš Fázik <[email protected]>
Feature will be installed only on supported Windows versions Signed-off-by: Lukáš Fázik <[email protected]>
This better reflects Windows 11 minimum requirements and makes the build process less demanding Signed-off-by: Lukáš Fázik <[email protected]>
I have noticed a file header in the context-windows/src/context.ps1 contains information about the author and copyright. Should I include something like this in my files? |
Signed-off-by: Lukáš Fázik <[email protected]>
Fixes "Windows cannot find the Microsoft license software terms" error in installation of Windows 10 Enterprise LTSC 2015 Signed-off-by: Lukáš Fázik <[email protected]>
…cript Ensures backward compatibility with PowerShell 5.0 in Windows 10 Enterprise LTSB 2015 (missing Disable-LocalUser cmdlet) Signed-off-by: Lukáš Fázik <[email protected]>
…enSSH-Server script Note: -ErrorAction did not work and still produced errors Signed-off-by: Lukáš Fázik <[email protected]>
…script Signed-off-by: Lukáš Fázik <[email protected]>
… script Signed-off-by: Lukáš Fázik <[email protected]>
…es script Signed-off-by: Lukáš Fázik <[email protected]>
I have added support for Windows LTSC editions. But Windows 10 Enterprise 2015 LTSB is broken in following ways:
Possible future solutions:
Also, the support for Windows 10 Enterprise 2015 LTSB is ending on 14.10.2025, so maybe it's not worth spending the time to make it work. I have decided to keep it in since other people can build on top of this work or customize it for their needs. |
This reverts commit 6409357. Broke unattended installation of some Windows Server editions
The last commit revert fixes Windows Server editions, but Windows 10 Enterprise 2015 LTSB is broken instead. |
Signed-off-by: Lukáš Fázik <[email protected]>
Signed-off-by: Lukáš Fázik <[email protected]>
OpenNebula forum thread discussing these changes
Changes include
Packer template files
Powershell scripts
The scripts are in scripts folder with exception of Run-Scripts.ps1. The Run-Scripts.ps1 script is called from unattended (automated) Windows installation multiple times during each phase of online installation (not Windows PE phase). This script executes scripts in alphabetical order and passes the return values to the unattended installation, so reboots are possible and don't break the unattended installation.
The scripts are divided into:
The Install-Updates.ps1 script is dependent on PSWindowsUpdate module which is included in cd_files directory. This is an external module, but it's also on the official PowerShell Gallery webpage. It is licensed under MIT License, and therefore, it should be usable in our project. Correct me if I am wrong.
Empty iso directory
This directory is used when searching for ISO files. Also, the virtio-win.iso drivers file must be included here. the ISO files could be obtained from official Microsoft sources:
For testing purposes, the hash values for the ISO files could be omitted by replacing them with none keyword.