Philipp's picture

When creating a custom appliance (as described here I got an error message, that the package "jitterentropy-rngd" was not found.

Known bug?

Preparing to unpack .../linux-image-amd64_4.9+80+deb9u9_amd64.deb ...
Unpacking linux-image-amd64 (4.9+80+deb9u9) ...
Setting up linux-image-4.9.0-11-amd64 (4.9.189-3+deb9u2) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-4.9.0-11-amd64
I: /initrd.img.old is now a symlink to boot/initrd.img-4.9.0-11-amd64
I: /vmlinuz is now a symlink to boot/vmlinuz-4.9.0-11-amd64
I: /initrd.img is now a symlink to boot/initrd.img-4.9.0-11-amd64

Warning: Deferring update-initramfs -c -t -k 4.9.0-11-amd64 -b /boot
Setting up linux-image-amd64 (4.9+80+deb9u9) ...
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package jitterentropy-rngd
Traceback (most recent call last):
  File "/usr/lib/fab/", line 34, in <module>
  File "/usr/lib/python2.7/dist-packages/", line 388, in main, args)
  File "/usr/lib/python2.7/dist-packages/", line 261, in run
  File "/usr/lib/fab/pylib/", line 129, in main
    installer.install(packages, ignore_errors)
  File "/usr/lib/fab/pylib/", line 267, in install
    self._install(packages, ignore_errors)
  File "/usr/lib/fab/pylib/", line 137, in _install
    self.chroot.system("apt-get", *(args + packages))
  File "/usr/lib/python2.7/dist-packages/", line 80, in system
  File "/usr/lib/python2.7/dist-packages/", line 56, in system
    raise ExecError(command, exitcode)
executil.ExecError: non-zero exitcode (100) for command: chroot '/turnkey/fab/products/core/build/'  'sh'  '-c'  "env -i  'TERM=xterm'  'AMD64=y'  'DEBIAN_FRONTEND=noninteractive'  'HOSTNAME=core'  'WEBMIN_FW_TCP_INCOMING=22 80 443 12320 12321'  'FAB_ARCH=amd64'  'DEBIAN=y'  'FAB_HTTP_PROXY='  'DEBIAN_PRIORITY=critical'  'HOME=/root'  'RELEASE=debian/stretch'  'PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/bin:/usr/sbin'  'CODENAME=stretch'  'LC_ALL=C'  'DISTRO=debian' apt-get 'install'  '--force-yes'  '--assume-yes'  'libgcc1'  'libnet-ssleay-perl'  'lsb-base'  'kbd'  'webmin-filemin'  'findutils'  'rsyslog'  'sensible-utils'  'systemd'  'util-linux'  'libncursesw5'  'dtach'  'whiptail'  'less'  'sysv-rc'  'shellinabox'  'dpkg'  'iptables'  'libpam-modules'  'liblzma5'  'initramfs-tools-core'  'cpio'  'bash-completion'  'libacl1'  'debian-archive-keyring'  'startpar'  'libncurses5'  'grep'  'libgpg-error0'  'acpi-support-base'  'libpam0g'  'bind9-host'  'webmin-updown'  'stunnel4'  'libpam-modules-bin'  'webmin'  'psmisc'  'e2fslibs'  'tklbam'  'net-tools'  'hubdns'  'systemd-sysv'  'udhcpc'  'libfile-mimeinfo-perl'  'debconf'  'webmin-authentic-theme'  'sysvinit-utils'  'webmin-sshd'  'adduser'  'syslinux-common'  'webmin-passwd'  'udev'  'cron'  'sed'  'live-tools'  'mktemp'  'kmod'  'rsync'  'localepurge'  'nano'  'isolinux'  'python3-bottle'  'libselinux1'  'dehydrated'  'passwd'  'jitterentropy-rngd'  'libsmartcols1'  'webmin-net'  'libpam-runtime'  'libss2'  'live-boot-initramfs-tools'  'ntp'  'screen'  'libpcre3'  'libdebconfclient0'  'libmount1'  'libattr1'  'webmin-useradmin'  'wget'  'libbz2-1.0'  'python3-requests'  'bash'  'libsystemd0'  'mawk'  'di-live'  'webmin-software'  'login'  'libuuid1'  'linux-base'  'libklibc'  'etckeeper'  'authbind'  'python3-dialog'  'gpgv'  'apt'  'lsb-release'  'init-system-helpers'  'libc-bin'  'syslinux'  'tar'  'perl-openssl-defaults'  'liblz4-1'  'cron-apt'  'webmin-syslog'  'netbase'  'libaudit-common'  'webmin-raid'  'turnkey-sysinfo'  'webmin-custom'  'klibc-utils'  'libsepol1'  'traceroute'  'gzip'  'libudev1'  'bsd-mailx'  'libgcrypt20'  'hdparm'  'debianutils'  'bsdutils'  'webmin-tklbam'  'git'  'ncurses-base'  'confconsole'  'iputils-ping'  'webmin-fdisk'  'eject'  'mount'  'lvm2'  'initscripts'  'resolvconf'  'libdb5.3'  'gnupg'  'libapt-pkg5.0'  'procps'  'ethtool'  'libprocps6'  'live-boot'  'man-db'  'libsemanage-common'  'dash'  'logrotate'  'unzip'  'fail2ban'  'file'  'base-files'  'curl'  'initramfs-tools'  'libtinfo5'  'libfdisk1'  'hostname'  'libaudit1'  'coreutils'  'libsemanage1'  'libkmod2'  'webmin-fail2ban'  'webmin-shell'  'libc-l10n'  'insserv'  'ncurses-bin'  'gcc-6-base'  'libcap-ng0'  'multiarch-support'  'iproute2'  'zlib1g'  'libc6'  'webmin-firewall'  'libustr-1.0-1'  'libstdc++6'  'libcomerr2'  'postfix'  'diffutils'  'ncurses-term'  'inithooks'  'e2fsprogs'  'base-passwd'  'perl-base'  'locales'  'ifupdown'  'vim-tiny'  'webmin-lvm'  'libblkid1'  'webmin-postfix'  'ssh'"
/usr/share/fab/ recipe for target 'build/stamps/' failed


Jeremy Davis's picture

So we're currently in a transition to our (as yet unreleased) new version; v16.0. I merged everything back into the master branch a couple of weeks ago in anticipation that we'd have all the pieces in place by now to be building v16.0 images (even on TKLDev v15.0).

However, reality rained on our parade and my colleague Alon (who needs to do code review and publish our packages) got hurt in an accident and had some time off work. Then as soon as he came back, I immediately fell ill with some lurgy so wasn't able to respond to some queries he had regarding some of the code. However, I'm back on board today and fingers crossed, Alon and I will be speaking in about an hour and I'll have a much clearer understanding of exactly where we're up to and when we'll be able to push v16.0 forwards.

In the meantime, if you just wish to build a v15.x based appliance, you'll just need to checkout the "15.x" (or similar) branch of a few repos. IIRC you should only need to change common and cdroots (although it's possible I missed something). To checkout the legacy branch of those repos, please try this (from a root SSH session on your TKLDev):

cd cdroots
git fetch origin
git checkout stretch
cd common
git fetch origin
git checkout 15.x

Hopefully that should be enough to get you going...

Philipp's picture

Thanks for your reply; can you say anything about a release date for v 16?
When trying you suggested commands, I got:

root@tkldev .../fab/cdroots# git checkout stretch
error: pathspec 'stretch' did not match any file(s) known to git.

Any idea?

Jeremy Davis's picture

Sorry about that, my bad. I hadn't actually pushed the 'stretch' branch, hence why your server couldn't find it...! Doh! I've done it now though, so you should be good to go.

As something of an aside, in retrospect, I should have named the legacy branch '15.x' for consistency. Oh well...

Re v16.0; unfortunately I don't have a firm ETA, but if the stars align, then hopefully there should be an RC (release candidate) available really soon, possibly as soon as next week...

Whilst it will be a "release candidate" and not a "stable" release, it will be based on Debian 10/Buster, so overall it should be pretty solid. The places where I expect issues may arise are our custom software components and perhaps some minor integration issues. Under the hood we've done some major refactoring, with much of our custom software being ported to python3. Obviously, we've done a fair bit of internal testing already, but we'd love a bit of "real world" testing before we provide a "stable" release.

I'll announce the RC release on our blog, but as it sounds like you are interested, I'll try to remember to post back here once it happens.

FWIW, it is possible to build many v16.x appliances already, but the instructions are a bit convoluted and things are prone to rapidly changing/breaking, so to save us both a bit of mucking around, I won't bother elaborating on that just yet. Once we have the v16.x packages published in our repo, then I'm happy to share a bit more info and assist you to start building v16.0 appliances locally. Perhaps you may even have some ideas on how to improve things and/or be able to assist a bit with the transition?

Out of interest, are you open to sharing what you're working on? If it only includes open source software, perhaps we could consider adding it to the library as an official appliance as a part of the v16.0 release?

Add new comment