[elbe-devel] [PATCH 02/13] use qemu from backports instead of self packaged

John Ogness john.ogness at linutronix.de
Thu Nov 30 15:33:12 CET 2017


Hi Manuel,

On 2017-11-30, Manuel Traut <manut at linutronix.de> wrote:
> the self packaged qemu was introduced to avoid issues if e.g. mono was
> installed on armhf.
>
> monos postinst step runs the mono interpreter. To terminate the
> interpreter a TERM signal is send by the main thread to all childs. But
> due to a bug in qemu-user the signal was not delivered to all childs and
> the postinst step stalled forever.
>
> The self packaged qemu-user package included a workaround for this issue
> in qemu.
>
> The issue should be resolved in upstream now:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748043
>
> And a newer qemu is available via backports. So there is no longer a
> reason to use the self-packaged qemu-user.
>
> This should also resolve elbe issue #128 "pbuilder aarch64: multithreading
> problems" reported on github.
>
> This also reverts commit eac67717f80eb502e854041604c13929f4d2a222 that
> specified qemu/backports in an example initvm.xml because this is no
> longer needed.
>
> Signed-off-by: Manuel Traut <manut at linutronix.de>
> ---
>  elbepack/init/preseed.cfg.mako  | 2 +-
>  examples/elbe-init-with-ssh.xml | 9 ---------
>  2 files changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/elbepack/init/preseed.cfg.mako b/elbepack/init/preseed.cfg.mako
> index 086ad849..5cbd461d 100644
> --- a/elbepack/init/preseed.cfg.mako
> +++ b/elbepack/init/preseed.cfg.mako
> @@ -105,7 +105,7 @@ apt-mirror-setup apt-setup/use_mirror boolean false
>  d-i finish-install/reboot_in_progress note
>  d-i pkgsel/include string rng-tools btrfs-tools openssh-client \
>  debathena-transform-lighttpd \
> -elbe-soap elbe-buildenv qemu-elbe-user-static \
> +elbe-soap elbe-buildenv qemu-user-static/jessie-backports \

This will not work when building the initvm from bin-cdrom.iso. Instead
of this change, add:

    <pkg>qemu-user-static/jessie-backports</pkg>

to elbepack/init/default-init.xml (the way that debootstrap is handled
now). That should work for internet and bin-cdrom.iso initvm creation.

>  % for n in pkgs:
>  % if n.tag == "pkg":
>  %   if prj.has("mirror/primary_host") or not prj.node("mirror/cdrom") or n.et.text.find('/') == -1:
> diff --git a/examples/elbe-init-with-ssh.xml b/examples/elbe-init-with-ssh.xml
> index b41063bf..c982cd4b 100644
> --- a/examples/elbe-init-with-ssh.xml
> +++ b/examples/elbe-init-with-ssh.xml
> @@ -16,20 +16,11 @@
>  					<source>http://debian.linutronix.de/elbe-common jessie main</source>
>  					<key>http://debian.linutronix.de/elbe-common/elbe-repo.pub</key>
>  				</url>
> -				<url>
> -					<binary>
> -						http://ftp.de.debian.org/debian jessie-backports main
> -					</binary>
> -					<source>
> -						http://ftp.de.debian.org/debian jessie-backports main
> -					</source>
> -				</url>
>  			</url-list>
>  		</mirror>
>  		<suite>jessie</suite>
>  		<pkg-list>
>  			<pkg>openssh-server</pkg>
> -			<pkg>debootstrap/jessie-backports</pkg>

Why is this reverted? debootstrap/jessie-backports is needed in order to
build stretch target root filesystems. This is not related to qemu
AFAIK.

Although, actually I would recommend either copying
elbepack/init/default-init.xml to examples/elbe-init-with-ssh.xml or
removing examples/elbe-init-with-ssh.xml completely. I see no reason in
having a broken initvm.xml example. (The "pbuilder/mirrorsite"
preseeding key is also needed, if this example is not going to be
deleted.)

John Ogness



More information about the elbe-devel mailing list