From nobody Sun Feb 8 16:35:13 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=solinno.co.uk ARC-Seal: i=1; a=rsa-sha256; t=1763371577; cv=none; d=zohomail.com; s=zohoarc; b=FnB/jmUIOOwdnXoQoSv4fqE2OgiX2my525Qj0uZjN3mhb8CXWTVwl5T5Z+2s7f3gcUiaLK2OJcTsWY1NTI4Y4obJbc1DOopUY1x7UiWjEUltpNt79i7QQ/iXsDzwwSMIfCkzq8+3x/PP6rMEA7Lcwii/UkTQX+CcUmX9m5MbPHI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763371577; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=WKoh+YLy02cfGS8ZqnIrtu77OYiI/Z5znd1WNk6hr8Q=; b=I7VM6GFxup9rCKjw9nkt5PZ0LfEsTkEB0PJee64ZSfBv5eTI4jIpWJHZr8k4sai1ABfzgVMp01xXJ4+lHY+ktFVUpvk25UrgsxaWl6UsX5h2VCJ6BWWIYOGO3PlSNSznyQAX2s4cvkRw6Z9Nd//XL83KRYH7llMxzkAVoJsm7sU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1763371577400921.4915206578336; Mon, 17 Nov 2025 01:26:17 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id 6F9353F36E; Mon, 17 Nov 2025 04:26:16 -0500 (EST) Received: from [172.19.199.36] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 4546F3F95A; Mon, 17 Nov 2025 04:21:12 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 2E98B43E83; Fri, 14 Nov 2025 04:08:14 -0500 (EST) Received: from doppler.solinno.uk (doppler.solinno.uk [81.2.106.178]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 69D0F44AF9 for ; Fri, 14 Nov 2025 04:08:12 -0500 (EST) Received: from mail.solinno.uk (localhost [127.0.0.1]) by doppler.solinno.uk (Postfix) with ESMTP id 852A1605B0; Fri, 14 Nov 2025 08:58:11 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 X-Greylist: delayed 598 seconds by postgrey-1.37 at lists.libvirt.org; Fri, 14 Nov 2025 04:08:12 EST DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=solinno.co.uk; s=mail; t=1763110691; bh=efll5iaH+K2MCmaAfHDgyeYWkSBhe83RG+e0g1tgCc0=; h=Date:From:To:Cc:Subject:From; b=Nmsc99LNIz+dLxGQIqr3FkYnCvWHbUje59of5akC+zkKVSO5Cd4Yj3auckezylTr2 iIgRO6D1X//0hQ5WawkvOrlL+bo5Z6PuwQecxb6XCO8L2iePhw2IBgaL75qIW53PBh fkFlCMW7TDPQnqd9O/uSYjAgN51sVcjoZVE/LnHM= MIME-Version: 1.0 Date: Fri, 14 Nov 2025 08:58:11 +0000 From: Leigh Brown To: =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= Subject: libvirt serial console on non-x86 platforms Message-ID: <2c73f371d8082704b538a126582b6bff@solinno.co.uk> X-Sender: leigh@solinno.co.uk Content-Transfer-Encoding: quoted-printable Message-ID-Hash: GXRY6G3PXSLF4RVYYSGLTIOMQFSB3FDN X-Message-ID-Hash: GXRY6G3PXSLF4RVYYSGLTIOMQFSB3FDN X-MailFrom: leigh@solinno.co.uk X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Devel X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @solinno.co.uk) X-ZM-MESSAGEID: 1763371578638158500 Content-Type: text/plain; charset="utf-8"; format="flowed" Hi Daniel, On a whim, I tried installing libvirt on a Raspberry Pi 5. I was pleasantly surprised to find that it all worked, apart from one small wrinkle. I typically use virt-install and set up a serial console, but this failed with the error: ERROR unsupported configuration: BIOS serial console only supported on x86 architectures I created the VM with a graphical console then manually adjusted the config afterwards to use a serial console and it all worked fine. After a bit of digging I saw an email[1] from yourself talking about how graphics=3Doff has semantic effects beyond just controlling whether the firmware prints to the serial or not. After a bit more digging, I found out that Qemu 8.0[2] removed the sga device due to SeaBIOS 1.11.0 and newer supporting this feature natively when QEMU is started with the option -M graphics=3Doff. I made the following small patch against the Debian package: --- libvirt-11.3.0.orig/src/qemu/qemu_validate.c +++ libvirt-11.3.0/src/qemu/qemu_validate.c @@ -1304,15 +1304,7 @@ qemuValidateDomainDef(const virDomainDef /* On x86 -machine graphics=3Doff toggles the use of the * serial console in SeaBIOS (and theoretically other * firmwares). - * On non-x86, it has also sorts of other effects - * on QEMU device models created and so we don't - * want to allow its use. */ - if (!ARCH_IS_X86(def->os.arch)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("BIOS serial console only supported on x86=20 architectures")); - return -1; - } if (!def->nserials) { virReportError(VIR_ERR_XML_ERROR, "%s", _("need at least one serial port to use BIOS=20 serial output")); With that change, I can now create VMs with a serial console through virt-install on the Raspberry PI 5. Have I got this right? If so, I'm happy to submit the patch. Regards, Leigh. -- [1] https://mail.gnu.org/archive/html/qemu-devel/2021-09/msg02417.html [2] https://wiki.qemu.org/ChangeLog/8.0