@@ -261,8 +261,31 @@ jobs:
261261 --disable-smartcard --disable-usb-redir --disable-opengl \
262262 --disable-virglrenderer --disable-blkio --disable-libdaxctl \
263263 --disable-brlapi --disable-curl
264- ninja -j"$(getconf _NPROCESSORS_ONLN)"
265- ninja install
264+ ninja -j"$(getconf _NPROCESSORS_ONLN)" qemu-system-x86_64
265+
266+ # ⚠️ ASSEMBLED EXPLICITLY, THE SAME WAY THE WINDOWS LEG DOES, AND THE
267+ # NUMBERS ARE WHY.
268+ #
269+ # `ninja install` was used here first. Measured against the explicit
270+ # assembly on the same release:
271+ #
272+ # meson install (linux-x64) 392 MB → 343 MB stripped
273+ # explicit (win32-x64) 110 MB → 58 MB stripped
274+ #
275+ # So the install target ships roughly 285 MB that an emulator payload
276+ # has no use for. The index's asset budget is a per-connection upload
277+ # rate measured at 0.012 MB/s into the CN mirror, with no multipart
278+ # and no resume — a payload has to SELECT, and selecting here makes
279+ # the contents explicit rather than "whatever the install target
280+ # copied".
281+ #
282+ # ⚠️ NOTHING IS PRUNED FROM `pc-bios`. Which blobs a machine type
283+ # loads at run time is a question for the descriptor, and answering it
284+ # by deleting files until something breaks is how a payload ends up
285+ # missing one on somebody else's machine.
286+ mkdir -p ../out/bin ../out/share/qemu
287+ cp qemu-system-x86_64 ../out/bin/
288+ cp -r "$SRC/pc-bios/." ../out/share/qemu/
266289
267290 - name : Configure and build (Windows / MSYS2)
268291 if : runner.os == 'Windows'
0 commit comments