mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
lib: direct: Remove use of sga
sga (or "sgabios" or "Serial Graphics Adapter") is an option ROM for seabios which directs output to the serial adapter. This is very useful for debugging BIOS problems during boot. RHEL wants to deprecate this feature (in fact, they just deprecated it without telling us). However there is an equivalent feature in seabios (seabios >= 1.11 / qemu >= 2.11.0) which can be enabled using either -nographic or -machine graphics=off This commit removes sga and enables -machine graphics=off in the direct backend. References (for RHEL 9 qemu change): https://bugzilla.redhat.com/show_bug.cgi?id=2002325 https://bugzilla.redhat.com/show_bug.cgi?id=2000845 https://lists.nongnu.org/archive/html/qemu-devel/2021-09/msg02417.html https://listman.redhat.com/archives/libvir-list/2021-September/msg00205.html For the libvirt backend we will continue to use <bios useserial=yes>. This currently breaks when sga is not available, but I talked to Dan and the plan there is to adapt libvirt so the same XML will enable -machine graphics=off. IOW libguestfs does not need to make any change. References (for libvirt change): https://bugzilla.redhat.com/show_bug.cgi?id=2003092 https://listman.redhat.com/archives/libvir-list/2021-September/msg00193.html Thanks: Gerd Hoffman, Daniel Berrangé
This commit is contained in:
@@ -544,6 +544,13 @@ launch_direct (guestfs_h *g, void *datav, const char *arg)
|
||||
append_list ("gic-version=host");
|
||||
#endif
|
||||
append_list_format ("accel=%s", accel_val);
|
||||
#if defined(__i386__) || defined(__x86_64__)
|
||||
/* Tell seabios to send debug messages to the serial port.
|
||||
* This used to be done by sgabios.
|
||||
*/
|
||||
if (g->verbose)
|
||||
append_list ("graphics=off");
|
||||
#endif
|
||||
} end_list ();
|
||||
|
||||
cpu_model = guestfs_int_get_cpu_model (has_kvm && !force_tcg);
|
||||
@@ -665,18 +672,6 @@ launch_direct (guestfs_h *g, void *datav, const char *arg)
|
||||
} end_list ();
|
||||
#endif
|
||||
|
||||
if (g->verbose &&
|
||||
guestfs_int_qemu_supports_device (g, data->qemu_data,
|
||||
"Serial Graphics Adapter")) {
|
||||
/* Use sgabios instead of vgabios. This means we'll see BIOS
|
||||
* messages on the serial port, and also works around this bug
|
||||
* in qemu 1.1.0:
|
||||
* https://bugs.launchpad.net/qemu/+bug/1021649
|
||||
* QEmu has included sgabios upstream since just before 1.0.
|
||||
*/
|
||||
arg ("-device", "sga");
|
||||
}
|
||||
|
||||
/* Set up virtio-serial for the communications channel. */
|
||||
start_list ("-chardev") {
|
||||
append_list ("socket");
|
||||
|
||||
Reference in New Issue
Block a user