The officially official Devuan Forum!

You are not logged in.

#1 Today 04:52:19

rmrichesjr
Member
Registered: 2018-12-18
Posts: 40  

excalibur installation hangs in late-install-stage2 (in libvirt)

I'm seeing a repeatable problem when installing devuan excalibur aka 6 on libvirt.  The first problematic symptom is a hang for more than 30 minutes with the install UI saying "Finishing the installation" and "Running late-install-stage2..."  This problem appears to be similar to this topic: https://dev1galaxy.org/viewtopic.php?id=7521

Going to vt4 to see the installer's syslog, it appears the installer unmounts and ejects /dev/sr0, then runs script 18-late-install-stage2, which tries to install a few new packages: libestr0 libfastjson4 liblognorm5 rsyslog

Activating vt2, the 'ps' command shows the two last non-kworker, non-ps processes as follows:
- apt-get -y reinstall rsyslog
- /usr/lib/apt/methods/cdrom

My first hunch is that the cdrom got unmounted too early, and that's causing the apt-get package [re]installation to hang.  I'd love to supply screenshots, but I haven't seen how to add an image.

Offline

#2 Today 14:06:50

rbit
Member
Registered: 2018-06-12
Posts: 89  

Re: excalibur installation hangs in late-install-stage2 (in libvirt)

rmrichesjr wrote:

My first hunch is that the cdrom got unmounted too early, and that's causing the apt-get package [re]installation to hang.

That's exactly correct.  There's a workaround in the latest installer-iso program, so if/when a 6.0.1 iso is published it will be corrected.

Offline

#3 Today 17:24:13

rmrichesjr
Member
Registered: 2018-12-18
Posts: 40  

Re: excalibur installation hangs in late-install-stage2 (in libvirt)

Thank you!  Many additional thanks in advance for a pointer to the details of the workaround, please.  It would be convenient if the workaround could be patched in, either during the running installer or by rebuilding a modified ISO.

Offline

#4 Today 18:39:05

rbit
Member
Registered: 2018-06-12
Posts: 89  

Re: excalibur installation hangs in late-install-stage2 (in libvirt)

The first patch that addresses this issue was listed here
https://git.devuan.org/devuan/installer … 2e12e7251c
but then I removed that entirely (and removed other old parts), and placed rsyslog in another part to ensure it gets installed
https://git.devuan.org/devuan/installer … 37ddeb4887
Not sure that's the proper way to do it, but it did pass my initial testing at least.

The first fix could be patched into a running installer, by replacing /usr/lib/finish-install.d/18late-install-stage2

cat <<EOF | tee /usr/lib/finish-install.d/18late-install-stage2 > /dev/null
#!/bin/sh
if [ -f /target/var/lib/dpkg/info/desktop-base.list ]; then
	# desktop-base was installed.  reinstall it after other packages if possible
	if [ -n "\$(grep ^deb\ http /target/etc/apt/sources.list)" ]; then
		# there are online apt sources listed; do not use installation media
		sed -i -e 's/^deb cdrom:/#deb cdrom:/g' /target/etc/apt/sources.list
		in-target sh -c "apt-get -y reinstall desktop-base"
	elif [ -n "\$(ls /target/tmp/desktop-base/desktop-base*.deb 2>/dev/null)" ]; then
		# the deb from installation media is available
		in-target sh -c "cd /tmp/desktop-base ; dpkg -i *.deb"
	else
		# this is an offline installation, and the deb was not found
		log "(offline) unable to reinstall desktop-base: deb file is unavailable"
	fi
fi

# check if rsyslog got installed
if [ ! -f /target/usr/sbin/rsyslogd ]; then
  # not installed; try to install it if possible
  if [ -n "\$(grep ^deb\ http /target/etc/apt/sources.list)" ]; then
    # there are online apt sources listed; do not use installation media
    sed -i -e 's/^deb cdrom:/#deb cdrom:/g' /target/etc/apt/sources.list
    in-target sh -c "apt-get -y reinstall rsyslog"
  elif [ -n "\$(ls /target/tmp/rsyslog/rsyslog*.deb 2>/dev/null)" ]; then
    # offline installation; the deb from installation media is available
    in-target sh -c "cd /tmp/rsyslog ; dpkg -i *.deb"
  else
    # this is an offline installation, and the deb was not found
    log "(offline) unable to install rsyslog: deb file is unavailable"
  fi
fi

# patch for /usr/lib/udev/rules.d/90-alsa-restore.rules
# see: https://dev1galaxy.org/viewtopic.php?pid=57929#p57929
pathname="/target/usr/lib/udev/rules.d/90-alsa-restore.rules"
if [ -f "\$pathname" ]; then
  # verify if patch is required
  if [ \$(grep -c '^LABEL="alsa_restore_go"' \$pathname) -eq 2 ]; then
    # same label exists twice. patch is needed.
    linenum=\$(grep -n '^LABEL="alsa_restore_go"' \$pathname | (read first; read second; echo \$second | cut -d : -f 1))
    # delete the wrong label (2nd one) and insert the correct label
    sed -i -e "\${linenum}cLABEL=\"alsa_restore_std\"" \$pathname
  fi
fi
EOF

Or... to build your own updated ISO:

git clone https://git.devuan.org/devuan/installer-iso.git
cd installer-iso
./build-sudo.sh excalibur netinstall

replace "netinstall" with the iso you want to create (for example, "desktop")
view the README.md file there to see dependencies and other helpful info.

Offline

Board footer