* [Buildroot] [PATCH] package/qemu: allow building only the guest agent @ 2023-03-22 23:15 unixmania 2023-03-24 10:15 ` Thomas Petazzoni via buildroot 2023-05-13 8:25 ` Yann E. MORIN 0 siblings, 2 replies; 5+ messages in thread From: unixmania @ 2023-03-22 23:15 UTC (permalink / raw) To: buildroot; +Cc: Carlos Santos, Romain Naour From: Carlos Santos <unixmania@gmail.com> Most of the tools are useful only on virtualization hosts. After the upgrade to QEMU 7.2.0, it is possible to build only quemu-ga, which makes more sense when we build guest VM images. Also do not build the other tools by default if none of the emulators is selected, since the user does not necessarily wants them. Ideally, it should not be possible to select qemu without selecting at least one of the subcomponents but it is hard to guess what the user wants. Signed-off-by: Carlos Santos <unixmania@gmail.com> --- NOTE This was also possible on older QEMU versions, but required a trick to force compiling the code required to link qemu-ga without building the other tools: ./configure --enable-system --target-list="" --disable-tools --enable-guest-agent --- package/qemu/Config.in | 8 +++++++- package/qemu/qemu.mk | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/package/qemu/Config.in b/package/qemu/Config.in index a446c0cf68..6a9b08648d 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -26,7 +26,6 @@ menuconfig BR2_PACKAGE_QEMU depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_QEMU_TOOLS if !BR2_PACKAGE_QEMU_SYSTEM && !BR2_PACKAGE_QEMU_LINUX_USER help QEMU is a generic and open source machine emulator and virtualizer. @@ -358,4 +357,11 @@ config BR2_PACKAGE_QEMU_TOOLS Say 'y' here to include tools packaged with QEMU (e.g. qemu-img). +config BR2_PACKAGE_QEMU_GUEST_AGENT + bool "Enable guest agent" + help + Say 'y' here to include an agent to run on guests, which + communicates with the host over a virtio-serial channel + named "org.qemu.guest_agent.0". + endif # BR2_PACKAGE_QEMU diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk index 3cbeffe213..4194670bb0 100644 --- a/package/qemu/qemu.mk +++ b/package/qemu/qemu.mk @@ -165,6 +165,12 @@ else QEMU_OPTS += --disable-tools endif +ifeq ($(BR2_PACKAGE_QEMU_GUEST_AGENT),y) +QEMU_OPTS += --enable-guest-agent +else +QEMU_OPTS += --disable-guest-agent +endif + ifeq ($(BR2_PACKAGE_LIBFUSE3),y) QEMU_OPTS += --enable-fuse --enable-fuse-lseek QEMU_DEPENDENCIES += libfuse3 -- 2.31.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH] package/qemu: allow building only the guest agent 2023-03-22 23:15 [Buildroot] [PATCH] package/qemu: allow building only the guest agent unixmania @ 2023-03-24 10:15 ` Thomas Petazzoni via buildroot 2023-03-25 1:14 ` Carlos Santos 2023-05-13 8:25 ` Yann E. MORIN 1 sibling, 1 reply; 5+ messages in thread From: Thomas Petazzoni via buildroot @ 2023-03-24 10:15 UTC (permalink / raw) To: unixmania; +Cc: Romain Naour, buildroot On Wed, 22 Mar 2023 20:15:11 -0300 unixmania@gmail.com wrote: > - select BR2_PACKAGE_QEMU_TOOLS if !BR2_PACKAGE_QEMU_SYSTEM && !BR2_PACKAGE_QEMU_LINUX_USER Is the build working OK if neither the tools, nor qemu-system, nor qemu-user nor qemu-qa are enabled? Thanks! Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH] package/qemu: allow building only the guest agent 2023-03-24 10:15 ` Thomas Petazzoni via buildroot @ 2023-03-25 1:14 ` Carlos Santos 2023-03-31 10:20 ` Thomas Petazzoni via buildroot 0 siblings, 1 reply; 5+ messages in thread From: Carlos Santos @ 2023-03-25 1:14 UTC (permalink / raw) To: Thomas Petazzoni; +Cc: Romain Naour, buildroot On Fri, Mar 24, 2023 at 7:15 AM Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > > On Wed, 22 Mar 2023 20:15:11 -0300 > unixmania@gmail.com wrote: > > > - select BR2_PACKAGE_QEMU_TOOLS if !BR2_PACKAGE_QEMU_SYSTEM && !BR2_PACKAGE_QEMU_LINUX_USER > > Is the build working OK if neither the tools, nor qemu-system, nor > qemu-user nor qemu-qa are enabled? > > Thanks! > > Thomas > -- > Thomas Petazzoni, co-owner and CEO, Bootlin > Embedded Linux and Kernel engineering and training > https://bootlin.com Yes. It just does not install anything useful: $ cat build/qemu-7.2.0/.files-list.txt qemu,./usr/share/qemu/keymaps/sl qemu,./usr/share/qemu/keymaps/sv qemu,./usr/include/qemu-plugin.h qemu,./usr/share/qemu/keymaps/ar qemu,./usr/share/qemu/keymaps/bepo qemu,./usr/share/qemu/keymaps/cz qemu,./usr/share/qemu/keymaps/da qemu,./usr/share/qemu/keymaps/de qemu,./usr/share/qemu/keymaps/de-ch qemu,./usr/share/qemu/keymaps/en-gb qemu,./usr/share/qemu/keymaps/en-us qemu,./usr/share/qemu/keymaps/es qemu,./usr/share/qemu/keymaps/et qemu,./usr/share/qemu/keymaps/fi qemu,./usr/share/qemu/keymaps/fo qemu,./usr/share/qemu/keymaps/fr qemu,./usr/share/qemu/keymaps/fr-be qemu,./usr/share/qemu/keymaps/fr-ca qemu,./usr/share/qemu/keymaps/fr-ch qemu,./usr/share/qemu/keymaps/hr qemu,./usr/share/qemu/keymaps/hu qemu,./usr/share/qemu/keymaps/is qemu,./usr/share/qemu/keymaps/it qemu,./usr/share/qemu/keymaps/ja qemu,./usr/share/qemu/keymaps/lv qemu,./usr/share/qemu/keymaps/lt qemu,./usr/share/qemu/keymaps/mk qemu,./usr/share/qemu/keymaps/nl qemu,./usr/share/qemu/keymaps/no qemu,./usr/share/qemu/keymaps/pl qemu,./usr/share/qemu/keymaps/pt qemu,./usr/share/qemu/keymaps/pt-br qemu,./usr/share/qemu/keymaps/ru qemu,./usr/share/qemu/keymaps/th qemu,./usr/share/qemu/trace-events-all qemu,./usr/share/qemu/keymaps/tr The keymaps should not be installed if no qemu-system is built. I already sent a patch upstream attempting to fix the problem but the problem is still there: https://lists.gnu.org/archive/html/qemu-devel/2023-01/msg00084.html I also have a patch to install trace-events-all only if necessary. Unfortunately, making these changes happen in qemu takes a long time. -- Carlos Santos <unixmania@gmail.com> _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH] package/qemu: allow building only the guest agent 2023-03-25 1:14 ` Carlos Santos @ 2023-03-31 10:20 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 5+ messages in thread From: Thomas Petazzoni via buildroot @ 2023-03-31 10:20 UTC (permalink / raw) To: Carlos Santos; +Cc: Romain Naour, buildroot Hello, On Fri, 24 Mar 2023 22:14:18 -0300 Carlos Santos <unixmania@gmail.com> wrote: > Yes. It just does not install anything useful: OK. As long as it builds, that's fine :-) > The keymaps should not be installed if no qemu-system is built. I > already sent a patch upstream attempting to fix the problem but the > problem is still there: > > https://lists.gnu.org/archive/html/qemu-devel/2023-01/msg00084.html > > I also have a patch to install trace-events-all only if necessary. > Unfortunately, making these changes happen in qemu takes a long time. Thanks for this work, definitely useful! Best regards, Thomas -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH] package/qemu: allow building only the guest agent 2023-03-22 23:15 [Buildroot] [PATCH] package/qemu: allow building only the guest agent unixmania 2023-03-24 10:15 ` Thomas Petazzoni via buildroot @ 2023-05-13 8:25 ` Yann E. MORIN 1 sibling, 0 replies; 5+ messages in thread From: Yann E. MORIN @ 2023-05-13 8:25 UTC (permalink / raw) To: unixmania; +Cc: Romain Naour, buildroot Carlos, All, On 2023-03-22 20:15 -0300, unixmania@gmail.com spake thusly: > From: Carlos Santos <unixmania@gmail.com> > > Most of the tools are useful only on virtualization hosts. After the > upgrade to QEMU 7.2.0, it is possible to build only quemu-ga, which > makes more sense when we build guest VM images. > > Also do not build the other tools by default if none of the emulators is > selected, since the user does not necessarily wants them. Ideally, it > should not be possible to select qemu without selecting at least one of > the subcomponents but it is hard to guess what the user wants. > > Signed-off-by: Carlos Santos <unixmania@gmail.com> I am not very happy that this means we can end up with a cconfiguration where nothing (meaningful) is installed, but fixing this becomes less obvious... So be it... Applied to master, thanks. Regards, Yann E. MORIN. > --- > NOTE > > This was also possible on older QEMU versions, but required a trick to > force compiling the code required to link qemu-ga without building the > other tools: > > ./configure --enable-system --target-list="" --disable-tools --enable-guest-agent > --- > package/qemu/Config.in | 8 +++++++- > package/qemu/qemu.mk | 6 ++++++ > 2 files changed, 13 insertions(+), 1 deletion(-) > > diff --git a/package/qemu/Config.in b/package/qemu/Config.in > index a446c0cf68..6a9b08648d 100644 > --- a/package/qemu/Config.in > +++ b/package/qemu/Config.in > @@ -26,7 +26,6 @@ menuconfig BR2_PACKAGE_QEMU > depends on BR2_USE_MMU # fork() > select BR2_PACKAGE_LIBGLIB2 > select BR2_PACKAGE_ZLIB > - select BR2_PACKAGE_QEMU_TOOLS if !BR2_PACKAGE_QEMU_SYSTEM && !BR2_PACKAGE_QEMU_LINUX_USER > help > QEMU is a generic and open source machine emulator and > virtualizer. > @@ -358,4 +357,11 @@ config BR2_PACKAGE_QEMU_TOOLS > Say 'y' here to include tools packaged with QEMU > (e.g. qemu-img). > > +config BR2_PACKAGE_QEMU_GUEST_AGENT > + bool "Enable guest agent" > + help > + Say 'y' here to include an agent to run on guests, which > + communicates with the host over a virtio-serial channel > + named "org.qemu.guest_agent.0". > + > endif # BR2_PACKAGE_QEMU > diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk > index 3cbeffe213..4194670bb0 100644 > --- a/package/qemu/qemu.mk > +++ b/package/qemu/qemu.mk > @@ -165,6 +165,12 @@ else > QEMU_OPTS += --disable-tools > endif > > +ifeq ($(BR2_PACKAGE_QEMU_GUEST_AGENT),y) > +QEMU_OPTS += --enable-guest-agent > +else > +QEMU_OPTS += --disable-guest-agent > +endif > + > ifeq ($(BR2_PACKAGE_LIBFUSE3),y) > QEMU_OPTS += --enable-fuse --enable-fuse-lseek > QEMU_DEPENDENCIES += libfuse3 > -- > 2.31.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-05-13 8:25 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-03-22 23:15 [Buildroot] [PATCH] package/qemu: allow building only the guest agent unixmania 2023-03-24 10:15 ` Thomas Petazzoni via buildroot 2023-03-25 1:14 ` Carlos Santos 2023-03-31 10:20 ` Thomas Petazzoni via buildroot 2023-05-13 8:25 ` Yann E. MORIN
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox