fix: track driver .exe (NetKVM inject) + winget online bootstrap — the two app-install blockers #29

Merged
SilverLABS merged 2 commits from fix/driver-exe-and-winget into main 2026-06-10 16:22:53 +00:00
Owner

Disk forensics on the VM install pinned down exactly why apps weren't installing (SP1 itself is validated — real sysadmin account, no sm-bootstrap, preconfig + Apps picker + Apply all worked). Two separate blockers:

1. Driver never injected → no network

Add-WindowsDriver failed every build ("the driver package could not be installed"). Root cause: the global .gitignore rule *.exe silently dropped netkvmp.exe (and netkvmco.exe) when the NetKVM driver was committed — but netkvm.inf requires netkvmp.exe ([SourceDisksFiles] + netkvmp.CopyFiles), so DISM rejected the package and the virtio NIC got no driver. Fix: un-ignore windows/drivers/** + force-add the referenced binaries. (Not signatures or line-endings — those were red herrings; .inf/.sys/.cat were byte-correct.)

2. winget absent on LTSC → nothing to install with

IoT Enterprise LTSC ships without the App Installer, and the old bootstrap-winget.ps1 only re-registered a non-existent inbox package. Fix: rewrite it to download + install winget online (now that the NIC works) — App Installer bundle (aka.ms/getwinget) + VCLibs + UI.Xaml 2.8 deps, via Add-AppxPackage. Fails closed (apps skip gracefully) if offline.

Test Plan

  • netkvmp.exe/netkvmco.exe now tracked; bootstrap-winget.ps1 parses, ASCII
  • Build green; Add-WindowsDriver reports "adding drivers" with no failure
  • VM: virtio NIC gets an IP → toolbox bootstraps winget → selected apps actually install

🤖 Generated with Claude Code

Disk forensics on the VM install pinned down exactly why apps weren't installing (SP1 itself is validated — real `sysadmin` account, no `sm-bootstrap`, preconfig + Apps picker + Apply all worked). Two separate blockers: ## 1. Driver never injected → no network `Add-WindowsDriver` failed every build ("the driver package could not be installed"). **Root cause:** the global `.gitignore` rule `*.exe` silently dropped `netkvmp.exe` (and `netkvmco.exe`) when the NetKVM driver was committed — but `netkvm.inf` *requires* `netkvmp.exe` (`[SourceDisksFiles]` + `netkvmp.CopyFiles`), so DISM rejected the package and the virtio NIC got no driver. **Fix:** un-ignore `windows/drivers/**` + force-add the referenced binaries. (Not signatures or line-endings — those were red herrings; `.inf/.sys/.cat` were byte-correct.) ## 2. winget absent on LTSC → nothing to install with IoT Enterprise LTSC ships without the App Installer, and the old `bootstrap-winget.ps1` only re-registered a non-existent inbox package. **Fix:** rewrite it to download + install winget online (now that the NIC works) — App Installer bundle (`aka.ms/getwinget`) + VCLibs + UI.Xaml 2.8 deps, via `Add-AppxPackage`. Fails closed (apps skip gracefully) if offline. ## Test Plan - [x] `netkvmp.exe`/`netkvmco.exe` now tracked; `bootstrap-winget.ps1` parses, ASCII - [ ] Build green; `Add-WindowsDriver` reports "adding drivers" with **no** failure - [ ] VM: virtio NIC gets an IP → toolbox bootstraps winget → selected apps actually install 🤖 Generated with [Claude Code](https://claude.com/claude-code)
SilverLABS added 2 commits 2026-06-10 16:22:39 +00:00
fix(build): track driver .exe files (gitignore *.exe dropped netkvmp.exe -> DISM rejected NetKVM)
Some checks failed
Build SilverMetal Enhanced - Windows ISO / build (pull_request) Failing after 5m49s
67befa56df
The global .gitignore '*.exe' rule silently excluded netkvmp.exe + netkvmco.exe when the
NetKVM driver was committed, so only inf/sys/cat shipped. netkvm.inf REQUIRES netkvmp.exe
([SourceDisksFiles] + netkvmp.CopyFiles), so Add-WindowsDriver failed every build with 'the
driver package could not be installed' -> no virtio NIC driver -> no VM network. Un-ignore
windows/drivers/** and force-add the referenced binaries.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SilverLABS merged commit 226a823c68 into main 2026-06-10 16:22:53 +00:00
SilverLABS deleted branch fix/driver-exe-and-winget 2026-06-10 16:22:53 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SilverLABS/SilverMetal#29