Archlinux template instruction leads to failed recipe on target "core-agent-linux-vm"

157 views
Skip to first unread message

yro

unread,
Dec 13, 2016, 7:28:55 PM12/13/16
to qubes-users
Hello,

I'm pretty new to QubesOS and since I'm discovering how it works, I decided to give a try to the archlinux template and so I followed the instructions (https://www.qubes-os.org/doc/templates/archlinux/) to try and get my first template on my own.

Sadly the setup fails at step 9. I first tried to use the `make qubes-vm ` command, it failed, I took a look at the error message and it first complained about being able to download some package at mirror.racketspace.com, I looked around on the web and it seemed like it may be caused by some DNS problems, so I changed my sys-net setting to use the Google's DNS at 8.8.8.8 and 8.8.4.4 and I also disabled ipv6 since it was said it may also cause such problems.
I then rerun the make command and it failed again, but not at the same place.

So I tried each make command on its own and it appears the one failing is the `make core-agent-linux-vm` and it failed while saying the following:

```
==> Entering fakeroot environment...
==> Starting package()...
install -d /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/etc/qubes-rpc
install -d /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/bin
install qrexec-agent /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes
install qrexec-client-vm /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/bin
ln -s ../../bin/qrexec-client-vm /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/qrexec-client-vm
ln -s ../../bin/qrexec-client-vm /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/qrexec_client_vm
install qrexec-fork-server /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/bin
install qubes-rpc-multiplexer /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes
cat: version: No such file or directory
/bin/bash: lsb_release: command not found
/bin/bash: lsb_release: command not found
/bin/bash: lsb_release: command not found
install -d /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/init
# FIXME: do a source code move vm-systemd/*.sh to init/
# since those scripts are shared between sysvinit and systemd.
install -m 0755 init/*.sh vm-systemd/*.sh /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/init/
install: cannot stat 'init/*.sh': No such file or directory
make: *** [Makefile:99: install-init] Error 1
==> ERROR: A failure occurred in package().
Aborting...
/home/user/qubes-builder/qubes-src/builder-archlinux/Makefile.archlinux:120: recipe for target 'dist-package' failed
make[2]: *** [dist-package] Error 2
Makefile.generic:139: recipe for target 'packages' failed
Makefile:209: recipe for target 'core-agent-linux-vm' failed
```

And this time I was left clueless since I don't exactly understand (yet) the intricacies of the built of a template VM. I guess if I were to try and poke around, I could maybe try to chroot into that archlinux to see what's going on, but I wasn't so sure and decided to come and ask... So here am I.

Can anybody help me here? What has changed lately which could break the archlinux template instructions?
I'm running on a brand new installation of QubesOS in which I simply did all the updates to both Dom0 and the templateVMs. I've followed the instruction to the letter (I actually did so twice and the second time I've noted I had missed the "stand-alone" tick when creating my first VM, but now I've checked a third time, rereading everything and confronting the pics with my screen and couldn't find any discrepancies between my setup and the instructions.)

Thanks in advance for any advice you may give me there.

Best regards,
Yolan

Ilja Michel

unread,
Dec 19, 2016, 10:00:38 AM12/19/16
to qubes-users
Hi,

I ran into the same problem. It looks as if make is not able to read the init folder, but I can't figure out why.
What worked for me:
Delete or erase the concerning lines in ~/qubes-builder/qubes-src/core-agent-linux/Makefile (line 99f):
#install -m 0755 init/*.sh vm-systemd/*.sh $(DESTDIR)$(LIBDIR)/qubes/init/ and
#install -m 0644 init/functions $(DESTDIR)$(LIBDIR)/qubes/init/
Do what these lines would have done manually by copying the contents of
~/qubes-builder/qubes-src/core-agent-linux/init and all the *.sh-files in ~/qubes-builder/qubes-src/core-agent-linux/vm-systemd into
~/qubes-builder/chroot-archlinux/home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/init
Then run "make core-agent-linux-vm" again.

Unfortunately I'm stuck in "make template" now with a similar problem. So I didn't get much further.

Best regards,
Ilja

Message has been deleted

Marek Marczykowski-Górecki

unread,
Jan 6, 2017, 8:49:22 PM1/6/17
to alb...@gmail.com, qubes-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On Fri, Jan 06, 2017 at 10:51:42AM -0800, alb...@gmail.com wrote:
> понедельник, 19 декабря 2016 г., 18:00:38 UTC+3 пользователь Ilja Michel написал:
> Actually, you don't have to do it by hands. You only need to remove 'init/*.sh' argument from the first line and remove the second line completely.
> They don't work because there is no files match this mask.
>
> After that you can need to do the 'make qubes-vm' step completely, since the list of separate steps in the manual is not complete.
>
> I've found that building 'app-linux-split-gpg' fails on 'pandoc' command absence, but didn't manage the way to install it properly. Could only get worked this around by changing qubes-src/app-linux-split-gpg/doc/Makefile.
> first line should look like:
> PANDOC=/bin/true
>
> It will only skip builds some docs, so it doesn't have to influence the installation in any way. After that the template creation was successful for me.

Fixes for both issues already merged:
https://github.com/QubesOS/qubes-app-linux-split-gpg/pull/7
https://github.com/QubesOS/qubes-core-agent-linux/pull/32

Thanks Nicklaus!

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJYcEkcAAoJENuP0xzK19csFv8H/3KIpQpbXmrqYV5RnLzTEQsS
ZehKTwc3ADNSJAcOyJ/Sdcy+/MerIyJaTrP8lIvk3b07pnn+ayQ9M5H73I0LClkd
8b8hDH8F+jafM+2ep2PXBQIL3YmMj0AVrqvluKhEgd5jI3O9gTj9SR8PGuRAuSam
oBa9inl7geJY1RZl5B3EqYYieRlf8Y8fxl/HoL1BPpFL2Grt+HPkZhNnRqLvsWpZ
cRaDBW9hJEsGJlkhi2MRETkpRCb427Q50RcuBWnHAj7ZXcTzsdJU38QKIBrJo93k
STGzn/ATnxyLn/gh+aaOcGipO06q2IUFMKHEQ2ZfNPWj9LoDEMAGeyPp1OUTsUo=
=eVCK
-----END PGP SIGNATURE-----

Ángel

unread,
Jan 8, 2017, 4:02:51 PM1/8/17
to qubes...@googlegroups.com
Marek Marczykowski-Górecki wrote:
> Fixes for both issues already merged:
> https://github.com/QubesOS/qubes-app-linux-split-gpg/pull/7
> https://github.com/QubesOS/qubes-core-agent-linux/pull/32
>
> Thanks Nicklaus!

Is there a flag so that qubes-builder picks the master branch instead of
the last release?

Unman

unread,
Jan 8, 2017, 8:23:15 PM1/8/17
to Ángel, qubes...@googlegroups.com
Look in builder.conf where you can get the branches to use.
In the example-configs there is a builder.conf ready to use for master.
If you want to try Marek's stuff, obviously you will need to change
the repo source
Reply all
Reply to author
Forward
0 new messages