I updated, and uninstalled libreoffice-fresh and it's deps first, because I didn't need it anymore. Then I installed jdk 6 from the AUR. (An old unsupported version of java.)
Now I am getting a long pause on every boot after the "Initializing random number generator" message is shown onscreen.
I guess I'll have to rewind that lot and see what's causing it, unless anyone else has the answer already if they've encountered it.
[2018-09-17 03:08] [PACMAN] Running 'pacman -Rs libreoffice-fresh'
[2018-09-17 03:09] [ALPM] transaction started
[2018-09-17 03:09] [ALPM] removed libreoffice-fresh (6.1.0-2)
[2018-09-17 03:09] [ALPM] removed xmlsec (1.2.26-1)
[2018-09-17 03:09] [ALPM] removed redland (1:1.0.17-4)
[2018-09-17 03:09] [ALPM] removed rasqal (1:0.9.33-2)
[2018-09-17 03:09] [ALPM] removed raptor (2.0.15-9)
[2018-09-17 03:09] [ALPM] removed poppler (0.67.0-1)
[2018-09-17 03:09] [ALPM] removed nss (3.39-1)
[2018-09-17 03:09] [ALPM] removed neon (0.30.2-3)
[2018-09-17 03:09] [ALPM] removed lpsolve (5.5.2.5-2)
[2018-09-17 03:09] [ALPM] removed libzmf (0.0.2-4)
[2018-09-17 03:09] [ALPM] removed libxslt (1.1.32+3+g32c88216-1)
[2018-09-17 03:09] [ALPM] removed libwps (0.4.10-1)
[2018-09-17 03:09] [ALPM] removed libvisio (0.1.6-4)
[2018-09-17 03:09] [ALPM] removed libwpg (0.3.2-1)
[2018-09-17 03:09] [ALPM] removed libtommath (1.0.1-1)
[2018-09-17 03:09] [ALPM] removed libstaroffice (0.0.6-1)
[2018-09-17 03:09] [ALPM] removed libqxp (0.0.1-3)
[2018-09-17 03:09] [ALPM] removed libpagemaker (0.0.4-1)
[2018-09-17 03:09] [ALPM] removed liborcus (0.13.4-3)
[2018-09-17 03:09] [ALPM] removed libixion (0.13.0-3)
[2018-09-17 03:09] [ALPM] removed libodfgen (0.1.7-1)
[2018-09-17 03:09] [ALPM] removed libnumbertext (1.0-1)
[2018-09-17 03:09] [ALPM] removed libmwaw (0.3.14-1)
[2018-09-17 03:09] [ALPM] removed libmspub (0.1.4-3)
[2018-09-17 03:09] [ALPM] removed libfreehand (0.1.2-1)
[2018-09-17 03:09] [ALPM] removed libexttextcat (3.4.5-1)
[2018-09-17 03:09] [ALPM] removed libetonyek (0.1.8-1)
[2018-09-17 03:09] [ALPM] removed libepubgen (0.1.1-1)
[2018-09-17 03:09] [ALPM] removed libe-book (0.1.3-3)
[2018-09-17 03:09] [ALPM] removed liblangtag (0.6.2-1)
[2018-09-17 03:09] [ALPM] removed libcmis (0.5.1-9)
[2018-09-17 03:09] [ALPM] removed libcdr (0.1.4-4)
[2018-09-17 03:09] [ALPM] removed libwpd (0.10.2-1)
[2018-09-17 03:09] [ALPM] removed libabw (0.1.2-1)
[2018-09-17 03:09] [ALPM] removed librevenge (0.0.4-2)
[2018-09-17 03:09] [ALPM] removed hyphen (2.8.8-2)
[2018-09-17 03:09] [ALPM] removed hunspell (1.6.2-1)
[2018-09-17 03:09] [ALPM] removed harfbuzz-icu (1.8.8-1)
[2018-09-17 03:09] [ALPM] removed clucene (2.3.3.4-10)
[2018-09-17 03:09] [ALPM] removed boost-libs (1.67.0-7)
[2018-09-17 03:09] [ALPM] transaction completed
[2018-09-17 03:09] [ALPM] running 'gtk-update-icon-cache.hook'...
[2018-09-17 03:09] [ALPM] running 'update-desktop-database.hook'...
[2018-09-17 03:09] [ALPM] running 'update-mime-database.hook'...
[2018-09-17 03:09] [PACMAN] Running 'pacman -Syyu'
[2018-09-17 03:09] [PACMAN] synchronizing package lists
[2018-09-17 03:10] [PACMAN] starting full system upgrade
[2018-09-17 03:19] [ALPM] transaction started
[2018-09-17 03:19] [ALPM] upgraded bzip2 (1.0.6-7 -> 1.0.6-8)
[2018-09-17 03:19] [ALPM] upgraded openssl (1.1.0.i-1 -> 1.1.1-1)
[2018-09-17 03:19] [ALPM] upgraded libidn (1.34-2 -> 1.35-1)
[2018-09-17 03:19] [ALPM] upgraded dhcpcd (7.0.7-1 -> 7.0.8-1)
[2018-09-17 03:19] [ALPM] upgraded double-conversion (3.1.0-1 -> 3.1.1-1)
[2018-09-17 03:19] [ALPM] upgraded git (2.18.0-1 -> 2.19.0-1)
[2018-09-17 03:19] [ALPM] upgraded libpng (1.6.34-2 -> 1.6.35-1)
[2018-09-17 03:19] [ALPM] upgraded harfbuzz (1.8.8-1 -> 1.9.0-1)
[2018-09-17 03:19] [ALPM] upgraded libinput (1.11.3-1 -> 1.12.0-1.1)
[2018-09-17 03:19] [ALPM] upgraded libpulse (12.2-2 -> 12.2-2.1)
[2018-09-17 03:19] [ALPM] upgraded libtool (2.4.6+42+gb88cebd5-1 -> 2.4.6+42+gb88cebd5-2)
[2018-09-17 03:19] [ALPM] upgraded libutf8proc (2.1.1-4 -> 2.2.0-1)
[2018-09-17 03:19] [ALPM] upgraded mesa (18.1.7-1 -> 18.2.0-1)
[2018-09-17 03:19] [ALPM] warning: /etc/nanorc installed as /etc/nanorc.pacnew
[2018-09-17 03:19] [ALPM] upgraded nano (2.9.8-1 -> 3.0-2)
[2018-09-17 03:19] [ALPM] upgraded ntfs-3g (2017.3.23-1 -> 2017.3.23-2)
[2018-09-17 03:19] [ALPM] upgraded sudo (1.8.25-1 -> 1.8.25.p1-1)
[2018-09-17 03:19] [ALPM] warning: directory permissions differ on /var/lib/syslog-ng/
filesystem: 700 package: 755
[2018-09-17 03:19] [ALPM] upgraded syslog-ng (3.15.1-4 -> 3.17.2-1)
[2018-09-17 03:19] [ALPM] upgraded tumbler (0.2.2-1 -> 0.2.3-1)
[2018-09-17 03:19] [ALPM] upgraded upower (0.99.8-1 -> 0.99.8-2)
[2018-09-17 03:19] [ALPM] upgraded vlc (3.0.4-1 -> 3.0.4-3)
[2018-09-17 03:19] [ALPM] transaction completed
[2018-09-17 03:19] [ALPM] running 'gtk-update-icon-cache.hook'...
[2018-09-17 03:19] [ALPM] running 'opensysusers.hook'...
[2018-09-17 03:19] [ALPM] running 'opentmpfiles.hook'...
[2018-09-17 03:19] [ALPM] running 'texinfo-install.hook'...
[2018-09-17 03:19] [ALPM] running 'udev-hwdb.hook'...
[2018-09-17 03:19] [ALPM] running 'udev-reload.hook'...
[2018-09-17 03:19] [ALPM] running 'update-desktop-database.hook'...
[2018-09-17 03:19] [ALPM] running 'update-vlc-plugin-cache.hook'...
[2018-09-17 03:34] [PACMAN] Running '/usr/bin/pacman -S --asdeps java-environment-common java-runtime-common libxslt'
[2018-09-17 03:34] [ALPM] transaction started
[2018-09-17 03:34] [ALPM] installed java-environment-common (3-1)
[2018-09-17 03:34] [ALPM] installed java-runtime-common (3-1)
[2018-09-17 03:34] [ALPM-SCRIPTLET] For the complete set of Java binaries to be available in your PATH,
[2018-09-17 03:34] [ALPM-SCRIPTLET] you need to re-login or source /etc/profile.d/jre.sh
[2018-09-17 03:34] [ALPM-SCRIPTLET] Please note that this package does not support forcing JAVA_HOME as former package java-common did
[2018-09-17 03:34] [ALPM] installed libxslt (1.1.32+3+g32c88216-1)
[2018-09-17 03:34] [ALPM] transaction completed
[2018-09-17 03:40] [PACMAN] Running '/usr/bin/pacman -U /home/me/artix/makepkg/jdk6/jdk6/jdk6-6u45-6-x86_64.pkg.tar.xz'
[2018-09-17 03:40] [ALPM] transaction started
[2018-09-17 03:40] [ALPM] installed jdk6 (6u45-6)
[2018-09-17 03:40] [ALPM-SCRIPTLET] (B[m[1m[34m::(B[m[1m[33m archlinux-java:(B[m[1m JDK ('java-6-jdk') set as default Java environment.(B[m
[2018-09-17 03:40] [ALPM] transaction completed
[2018-09-17 03:40] [ALPM] running 'gtk-update-icon-cache.hook'...
[2018-09-17 03:40] [ALPM] running 'update-desktop-database.hook'...
[2018-09-17 03:40] [ALPM] running 'update-mime-database.hook'...
The problem is openssl:
[2018-09-17 03:19] [ALPM] upgraded openssl (1.1.0.i-1 -> 1.1.1-1)
$ cd /var/cache/pacman/pkg
$ sudo pacman -U openssl-1.1.1-1-x86_64.pkg.tar.xz
Long hang at boot, over a minute.
$ sudo pacman -U openssl-1.1.0.i-1-x86_64.pkg.tar.xz
Normal boot.
The old version included an 'i' so was probably more 'intelligent'. ;D
That's still the latest version available today of openssl which causes the problem.
Another IgnorePkg! The 4.18.9 kernel should fix the C2D boothang though, when it arrives in due course.
/etc/pacman.conf
IgnorePkg = linux linux-api-headers openssl
facinating. What happened to haved?
It's not installed, but it wasn't previously:
$ cat /proc/sys/kernel/random/entropy_avail
3802
https://wiki.archlinux.org/index.php/Haveged
According to that page it is not required as the number is well over 1000. (I don't know much about all that though, I found that page just now.)
Pre - existing knowledge : haveged - annoying thing that makes you wait while booting the Artix USB... ;)
I tried this and among other things pacman died as libcurl and libcrypto were not compatible.
How did I get out of the mess? Backup 2nd installation (1-2 delay in updating from primary cache) , copy paste incompatible libraries to get pacman running again.
Did anyone else try it?
I'm fully updated, my Pacman is still working. I'm using the stable repos, not gremlins.
Other than holding the kernel due to the C2D issues, I'm doing nothing special otherwise. libcrypto is a part of openssl, so I don't see how you managed to get an incompatible version unless the openssl downgrade didn't work somehow.
I do have 2 similar packages installed, openssl and openssl-1.0, perhaps you got the wrong one.
libressl is an alternative to openssl, available in the AUR, but I have no idea what complications it might bring. I have considered it as an option for the future (hopefully the openssl issues will be resolved in time) or perhaps installing haveged as Mr Brooklyn suggested, or some other workaround, to do the random number initialization in some other way.
:: Starting full system upgrade...
warning: linux: ignoring package upgrade (4.17.14.artix1-1 => 4.18.8.artix1-1)
warning: openssl: ignoring package upgrade (1.1.0.i-1 => 1.1.1-1)
there is nothing to do
$ pacman -Qo /usr/lib/libcrypto.so
/usr/lib/libcrypto.so is owned by openssl 1.1.0.i-1
$ pacman -Qo /usr/lib/libcurl.so
/usr/lib/libcurl.so is owned by curl 7.61.1-1
system/openssl 1.1.1-1 [installed: 1.1.0.i-1]
The Open Source toolkit for Secure Sockets Layer and Transport Layer Security
system/openssl-1.0 1.0.2.p-1 [installed]
The Open Source toolkit for Secure Sockets Layer and Transport Layer Security
install package by package fr all the depenent packages
openssl says this :
Required By : coreutils curl git iputils ldns libarchive libsasl libssh2 openssh python python2 s-nail testdisk
Optional For : apr-util
while openssl-1.0 says this :
Required By : wpa_supplicant
So openssl-1.0 isn't relevant after all, it's only there to supply an older version of the same package for wpa_supplicant.
Why are you doing that. You have a conflict between libcurl and libcrypto? The hardest thing about helping people in these forums is that folks don't listen to you, then they do something different and then they don't communicate what is happening. We left off this conversation with a pacman conflict with libcurl and libcrypto.
Install the libcurb and all the dependencies one by one
How did you come to that conclusion?
BTW - you do not want openssl in the ignore of pacman because it is a highly explosed part of your system with regular security updates.
FWIW - I just did the complete upgrade on my workstation and no troubles with boot times and entropy. OTOH I don't have sshd as a start up dameon
It's fungalnet having lib compat issues, not me, but I don't know how, or with what repos, as I'm not getting those problems. I found openssl to be the problem by downgrading packages from the upgrade one by one, openssl was the last one I came to. I'm only ignoring it until a newer version comes along to try, like the kernel, the next release should fix the problems with that and I'll un-ignore it. That means I can still update the rest of my system in the meanwhile, which is better than just not updating. Also I need to do this to add and remove other software easily when required.
The boot seems to hang for me at this point:
/etc/init.d/urandom
ebegin "Initializing random number generator"
cat "$urandom_seed" > /dev/urandom
Well that's the last boot message onscreen before the hang anyway. I don't have sshd either.
/dev/urandom has two different implentations a BSD one and a Linux one where the BSD one can block as it loads and the Linux impementation in theory can not. I've seen booting slowdown with /dev/urandam building random bits from the physcial feedback of the hardware. It is designed to do that and the security of cryptography for which openssl might be only one client, depends on it functioning correctly.
It seems wrongheaded to not update openssh and openssl because /dev/urandom is doing what it is supposed to do. It is held up for 20 minute, then there might be a problem.
If you wan to really root this out you need to find all the packages that own /dev/urandom but installing them and uninstalling packlages willynillie to see how it affects the boot is not as rational as it seems, especially since you are likely to make an error and mess something up unintentionally, or deal with packages that step on each other in unexpected ways.
Keeping openssl at the previous version breaks pacman in the stable repo now, so look out for that:
IgnorePkg = openssl
$ sudo pacman -Syyu
pacman: /usr/lib/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/libcurl.so.4)
Installing the newer openssl fixed pacman, but openssl still causes the long 1m20sec boot hang.
rm'ing that openssl lib breaks sudo, so I mounted the artix / from elsewhere to have a separate shell to fix this.
openssl has a single conf file, back this up if it's been modified as it's about to get overwritten :
/etc/ssl/openssl.cnf
$ sudo mount /dev/sda? /mnt
$ sudo mkdir /tmp/oldssl
$ sudo tar -xvJf /mnt/var/cache/pacman/pkg/openssl-1.1.0.i-1-x86_64.pkg.tar.xz -C /tmp/oldssl | tee -a old-openssl-pkg-file-list.txt
Remove .files from list:
$ sed '/^\./ d' < old-openssl-pkg-file-list.txt > output-old-openssl-pkg-file-list.txt
$ mkdir latest-openssl
$ tar -xvJf /mnt/var/cache/pacman/pkg/openssl-1.1.1-1-x86_64.pkg.tar.xz -C latest-openssl/
Next command is inefficient & slow to complete:
$ for i in $(cat output-old-openssl-pkg-file-list.txt); do sudo rm /mnt/$i; done
$ sudo cp -r latest-openssl/* /mnt/
Then boot into artix and (re)install the latest openssl with pacman to get the database correct.
$ sudo pacman -U --overwrite=* /var/cache/pacman/pkg/openssl-1.1.1-1-x86_64.pkg.tar.xz
Or you could probably use pacman remotely from an iso etc. instead of this method.
Installing haveged, haveged-openrc and enabling it did not help. Also it does not always hang at the random number generator line, so that is only a coincidence. Perhaps as mrbrklyn suggests, this isn't openssl, but something that depends on it and it doesn't work with the new version. There is nothing logged by syslog-ng as the hang occurs before it starts. I tried using ALT F* but there are no logins on the other ttys at this point, so there's no shell to see what's running during the hang either.
;) :D ;D
I've got rid of the boot hang by disabling a bunch of non-essential services, then I re-enabled them to find out which one it was:
$ sudo rc-update delete syslog-ng
* service syslog-ng removed from runlevel default
The winner was syslog-ng, that's what causes the long pause with the latest openssl version. There was a kind of a clue in the boot logs too, as they show syslog-ng being started fairly early during boot, before the hang, but the first time stamps in everything.log are after the long pause.
I also found a totally useless service I had enabled - netmount, I have no netmounts. So there's another useful find today.
Because logging is not important?
logging is an essential service
I advice you to use some logging service.
I am hoping removing the syslog-ng service might also resolve the random boot failures, they became much more frequent with the incompatible syslog-ng / openssl versions that caused the hang. I have had none since, but it will take a long while to confirm this. Personally I have dmesg, xorg, wtmp, rc.log, and that will suffice for a while, it's a much better solution than ignoring openssl. Disabling the syslog-ng service means if a newer version is installed as an update I will see that, and can try it again easily. But if you must have logging then try another logger like metalog, rsyslog from the AUR, or socklog with runit.
There is no syslog in the base install - it's not essential to system operation, just a useful source of information on occasion.
I said the 'netmount' service was useless (to me personally, after I read the init script carefully) not syslog, anyway. ;D
To anyone who might ever read this thread in the future, NEVER run a system without system logging