Faster shopfloor-setup sync, prompt spacing, XP-era test client
- Deploy shopfloor-setup with rsync instead of the copy module: the ~4 GB tree took about 4 minutes on every re-run because copy checksums each file. rsync transfers only changes; changed only when it did. - iPXE drops a trailing space, so 'Machine number:' ran into the typed digits. The space now comes from a hex 20 setting. - tests/vm: pxetest-xp is a permanent client (SeaBIOS, qemu32 32-bit CPU, rtl8139, 1 GiB, IDE disk) for the i686 Clonezilla path; start.sh xp. Only one client may run at a time across all three.
This commit is contained in:
@@ -12,6 +12,7 @@ a laptop, without root and without touching a real network.
|
||||
| `pxetest-server` | 2 vCPU, 4 GiB, q35 + OVMF Secure Boot (MS keys), 60G thin qcow2 (`vda`, boot 1), the USB image as a USB disk (`sda`, boot 2). |
|
||||
| `pxetest-client` | 2 vCPU, 2 GiB, OVMF Secure Boot (MS keys), 1G blank disk, network boot first (UEFI IPv4 PXE, virtio-net, OVMF driver, no option ROM). Proves shim -> iPXE -> menu -> WinPE under Secure Boot; WinPE has no virtio driver, so it stops at "Waiting for network". |
|
||||
| `pxetest-client-nosb` | 2 vCPU, 2 GiB, OVMF without Secure Boot, e1000e NIC, 64G thin SATA disk. WinPE has in-box drivers for both, so startnet gets a network and maps the shares. |
|
||||
| `pxetest-xp` | XP/Win7-era PC: 1 vCPU, 1 GiB, i440FX + SeaBIOS (legacy PXE, gets `ipxe.pxe`), `qemu32` CPU (no long mode, so the menu picks the i686 Clonezilla; `fallback='forbid'` so it never silently becomes 64-bit), rtl8139 NIC, 8G thin IDE disk. |
|
||||
|
||||
NIC MACs (fixed):
|
||||
|
||||
@@ -21,6 +22,7 @@ NIC MACs (fixed):
|
||||
| server | imaging | `52:54:00:9e:10:02` | `pxetest-imaging` | `pxe_nic_mac` |
|
||||
| client | - | `52:54:00:9e:10:03` | `pxetest-imaging` | - |
|
||||
| client-nosb | - | `52:54:00:9e:10:04` | `pxetest-imaging` | - |
|
||||
| xp | - | `52:54:00:9e:10:05` | `pxetest-imaging` | - |
|
||||
|
||||
`build-image.sh` writes `$PXETEST_CACHE/site-vars.yml` with these two
|
||||
MACs (`pxe_nic_mac`, `corp_nic_mac`) and passes it to `build-usb.sh
|
||||
@@ -48,12 +50,13 @@ IPv4 address or a non-tap bridge port.
|
||||
scripts/download-packages.sh --iso "$PXETEST_CACHE/$UBUNTU_ISO_NAME" "$PXETEST_PAYLOAD_ROOT/offline-packages"
|
||||
scripts/check-updates.py --debs "$PXETEST_PAYLOAD_ROOT/offline-packages"
|
||||
tests/vm/build-image.sh # build-usb.sh --image, upload as volume pxetest-usb.img
|
||||
tests/vm/create.sh # network, volumes, both VMs (prints the MAC pins)
|
||||
tests/vm/create.sh # network, volumes, all VMs (prints the MAC pins)
|
||||
tests/vm/start.sh server # autoinstall, reboot, first-boot playbook
|
||||
tests/vm/status.sh --shot /tmp/pxetest-shots # states, leases, screenshots
|
||||
tests/vm/start.sh client # once the server playbook is done (Secure Boot client)
|
||||
tests/vm/stop.sh client
|
||||
tests/vm/start.sh client2 # Secure Boot off, e1000e: WinPE maps the shares
|
||||
tests/vm/start.sh xp # legacy BIOS, 32-bit: i686 Clonezilla
|
||||
tests/vm/stop.sh # ACPI shutdown all, keep them defined
|
||||
tests/vm/destroy.sh # remove every pxetest-* object
|
||||
|
||||
@@ -120,10 +123,9 @@ the clonezilla user; `--with-boot-tools` is needed for Clonezilla itself
|
||||
screen, the share mounts, one disk so no disk question, image
|
||||
6501-YYYY-MM-DD-HHMM (server time, Eastern) is saved, "Checking the saved
|
||||
image", SUCCESS banner with serial and model, power off after 60 s.
|
||||
2. Same as 6501 from a 32-bit BIOS client: a legacy-BIOS VM (SeaBIOS) with
|
||||
`-cpu` lacking long mode (e.g. `<cpu mode='custom'><model>pentium3</model></cpu>`
|
||||
or qemu32) so `cpuid --ext 29` fails and :cz_auto32 boots
|
||||
clonezilla-i686. Expect pxe-meta.txt bits=32, firmware=bios,
|
||||
2. Same as 6501 from the 32-bit BIOS client (`start.sh xp`, pxetest-xp):
|
||||
`cpuid --ext 29` fails on its qemu32 CPU and :cz_auto32 boots
|
||||
clonezilla-i686. Give its IDE disk content first, as for step 1. Expect pxe-meta.txt bits=32, firmware=bios,
|
||||
clonezilla=clonezilla-live-3.2.0-5-i686. Also type `65 01` once:
|
||||
Clonezilla says the number is not valid and asks again.
|
||||
3. Webapp (Tools > Clonezilla backups): both images under 6501, newest
|
||||
|
||||
Reference in New Issue
Block a user