Clean vyos/1.2.6 build fails due to extra argument '4.19.176-amd64-vyos' on root/17-gen_initramfs.chroot

I have pulled git tag vyos/1.2.6 from the vyos/vyos-build repo and tried to build an ISO with the latest docker image release for the crux tag.

Git tag vyos/1.2.6 relies on kernel 4.19.142 but kernel 4.19.176, which is the version currently used at the branch crux, is also being compiled. This somehow leads to the following error during the build:

I: Create initramfs if it does not exist.
/root/17-gen_initramfs.chroot: line 8: [: /boot/initrd.img-4.19.142-amd64-vyos: binary operator expected
Extra argument '4.19.176-amd64-vyos'
Usage: /usr/sbin/update-initramfs.orig.initramfs-tools [OPTION]...
Options:
 -k version	Specify kernel version or 'all'
 -c		Create a new initramfs
 -u		Update an existing initramfs
 -d		Remove an existing initramfs
 -t		Take over a custom initramfs with this one
 -b directory	Set alternate boot directory
 -v		Be verbose
 -h		This message
E: config/hooks/live/17-gen_initramfs.chroot failed (exit non-zero). You should check for errors.

I’m not sure what’s going on but it looks similar to https://phabricator.vyos.net/T2077.

It’s not the same as Using docker to build stable ISO is failing, which I also experienced recently.

I’d appreciate some guidance in how to solve this problem.

Thanks,
Marcel

P.S.: Yesterday I created an account at phabricator that got disabled with no explanation at all. That’s why I’m submitting this report here.

Please try again - there was an error in the DEB repository used for the VyOS packages. Our CI reports “all good” https://ci.vyos.net/job/vyos-build/job/crux/582

Thanks for the response!

Unfortunately it did not work. I tried again from a clean checkout and got the following error:

[2021-02-21 20:39:13] lb chroot_install-packages install
P: Begin installing packages (install pass)...
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package linux-image-4.19.142-amd64-vyos
E: Couldn't find any package by regex 'linux-image-4.19.142-amd64-vyos'
P: Begin unmounting filesystems...
P: Saving caches...
Reading package lists...
Building dependency tree...
Reading state information...

Full logs available at https://gist.github.com/marcelstanley/978a38621e763f0aadb60375fb55b82c

Hello @marcelstanley, it looks like no kernel in repo https://dev.packages.vyos.net/?dir=repositories/crux/vyos/pool/main/l

Try to build kernel version 4.19.142 by yourself and move the package to packages/ directory.
Find info how to build the kernel in this script https://github.com/vyos/vyos-build/blob/current/packages/linux-kernel/build-kernel.sh

Hi Dmitry,

Thanks for the response!

I’ve been building vyos/1.2.6 with a locally built kernel for other purposes. I can confirm it works.

But I expected the vanilla vyos/1.2.6 to build successfully by itself. Maybe that is a wrong assumption. Is it?

Thanks,
Marcel

I think this issue related to migrating the repo to AWS. Agree with you, will be good to fix this.

1 Like

Should we open a separate ticket for this?

Our builds are not repeatable. Of course, we do want them to be repeatable, but you know, we are not alone. None of the distros realistically supported rebuilding an exact version, save for NixOS and GUIX/SD, and even in those reproducibility-focused distros there are “buts”.

Tags are mostly just reference marks. We are working towards making builds more reproducible, but it’s a while off.

One question I’d like to ask: what do you need it for? There’s nothing magical in 1.2.6. In fact, you’ll be missing out on fixes we made after 1.2.6.

1 Like

Thanks, @dmbaturin, it was a rhetorical question.

I don’t use vanilla 1.2.6, really. I bumped over this issue by chance while trying to get a baseline build in order to investigate Using docker to build stable ISO is failing.

We can leave it as it is. :slight_smile: