The officially official Devuan Forum!

You are not logged in.

#1 2019-09-06 04:02:44

golinux
Administrator
Registered: 2016-11-25
Posts: 1,758  

Migrating from Buster to Beowulf - feedback needed

Many of you have asked how you can help Devuan.  Well here's an opportunity - especially for those who keep asking when Beowulf will be released!

There have been reports that the migration process from Debian Buster to Devuan Beowulf is not as straight-forward as Wheezy/Jessie to Jessie and/or Stretch to ASCII. If we are to offer migration as an "official" option, we will need to document specific issues and provide solutions in our documentation.

So . . . please roll up your sleeves, give it a try and let us know if you were able to migrate successfully from Buster to Beowulf.  What issues did you have?  How did you work around them?  Are there any blockers?

May this be a long and productive thread!

Offline

#2 2019-09-06 08:28:23

PedroReina
Member
From: Madrid, Spain
Registered: 2019-01-13
Posts: 83  
Website

Re: Migrating from Buster to Beowulf - feedback needed

I think that may be helpful an initial URL with the first basic instructions.

Last edited by PedroReina (2019-09-06 20:51:31)

Offline

#3 2019-09-06 11:14:12

HevyDevy
Member
Registered: 2019-09-06
Posts: 57  

Re: Migrating from Buster to Beowulf - feedback needed

Hi newb here sort of, well i know my way around linux ok .

I did an lxde install of buster just the LXDE not the debian desktop environment, only chose standard system utils and lxde in tasksel.

Debian Install went fine, got to desktop and tried to install sysvinit-core but apt spat out below info. I was of the thought sysvinit-core should be installed first before anything else, would that be correct?


sudo apt-get install sysvinit-core
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 dconf-service : Depends: default-dbus-session-bus or
                          dbus-session-bus
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

or should i have the devuan-keyring and devuan beowulf repos setup first then apt update / upgrade, commenting out the debian repos in sources.list ?

Apart from desktop environment i was able to migrate successfully on a netinstall with no X and just standard system utils, sysvinit-core installed fine but had to "echo b > /proc/sysrq-trigger" to reboot then purge systemd.

so with a netinstall with no X,

1. install sysvinit-core
2. install devuan keyring
3. copy in beowulf sources.list and comment out debian sources.list
4. apt update and upgrade
5. echo b > /proc/sysrq-trigger (reboot)
6 .purge systemd (apt remove systemd --purge).

Last edited by HevyDevy (2019-09-06 11:24:07)

Offline

#4 2019-09-06 14:43:41

golinux
Administrator
Registered: 2016-11-25
Posts: 1,758  

Re: Migrating from Buster to Beowulf - feedback needed

PedroReina wrote:

I think that may be helpful an initial URL with the first basic intrucctions.

Good starting point would be the ASCII migration instructions here:

https://devuan.org/os/documentation/dev … e-to-ascii

Do let us know if that approach still works or needs adjusting.

Problems are most likely to be encountered with full-blown DEs.  WMs are more likely to survive a migration.

Offline

#5 2019-09-06 20:45:35

golinux
Administrator
Registered: 2016-11-25
Posts: 1,758  

Re: Migrating from Buster to Beowulf - feedback needed

Helpful feedback from Mark Hindley on the DNG mail list:

I have just had a go in a couple of scenarios using a VM.

The basic process is:

1) Install sysvinit-core (if you don't have it already), remove libnss-systemd
    and reboot.
2) Manually download and  install devuan-keyring (wget, dpkg -i).
3) change apt sources from buster to beowulf.
4) apt update.
4) apt full-upgrade or apt-get dist-upgrade.

The process is not too bad, particularly if you have a very basic
install. However, the main issue is step 1) if you have anything desktoppy
installed (lightdm, xfce....). Debian's libpam-systemd unhelpfully depends on
systemd-sysv which in turn conflicts with sysvinit-core. So, by installing
sysvinit-core the whole chain systemd-sysv -> libpam-systemd -> policykit ->
desktop gets more or less removed. Of course it could all be reinstalled later,
but that is understandably probably too much for most users.

I have already submitted #935304 which is being ignored and may well not be fixed in bullseye. Sigh!

In the report I point out that libpam-systemd depending on systemd-sysv doesn't mean
systemd will always be PID 1, which is (I think) the intention of it.

So, I am working on a transitional package that could help in devuan to smooth
this out and not require the whole GUI to be removed and reinstalled. The basic
idea is that the transitional package Provides systemd-sysv and Depends
sysvinit-core. Installing it temporarily will satisfy libpam-systemd whilst the
system is rebooted without having to uninstall half of the system.

Thoughts?

Mark

Offline

#6 2019-09-07 02:44:31

nixer
Member
From: North Carolina, USA
Registered: 2016-11-30
Posts: 71  

Re: Migrating from Buster to Beowulf - feedback needed

I have been playing with this most of the day.  The instructions mentioned here still work, for the most part on a netinst install with no X system.  There may be a slight change, but it is still workable.  Commands were entered from a ssh session into the Vbox VM as much as possible.

I just successfully completed a migration from debian buster, it was not easy to do.  Since I really didn't know what I was doing, I  went by trial and error mostly.  I am sure there are other ways to do this, but this worked for me.  Hopefully, someone who knows more about this can shorten and simplify this migration from buster to beowulf.

I started with the debian v.10 netinst cd (with firmware) and then I installed xfce4 with

apt install xfce4

And I rebooted just so I could be starting from a fresh boot.

Edit:  Just today, Sept. 7, 2019, debian updated from 10.0 to 10.1 which brought in a new kernel and 60 upgraded packages.  I did a dist-upgrade and reboot to start from a 10.1 starting point.

Boot into "debian",   

apt update
apt install sysvinit-core

Do not reboot, yet.

# alter /root/.bashrc and add:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# logout from this ssh session and login to a new ssh session, this loads the new PATH

Installed devuan-keyring

wget wget http://pkgmaster.devuan.org/devuan/pool/main/d/devuan-keyring/devuan-keyring_2017.10.03_all.deb
dpkg -i devuan-keyring_2017.10.03_all.deb

Alter the sources.list to devuan, and then

apt update
apt upgrade

(I do not know what made me try this, as I was just going on a hunch and trying something else.  I was having a hard time getting sysvinit-core installed, especially from the devuan repos.  Once I installed it from the debian repos, and updated it from the devuan repos, within the same boot, it worked easier.)

# first reboot

reboot

(takes a long time to boot due to starting dbus.  It hangs for ~1-2 minutes

(takes longer to login to either the physical terminal or a ssh session, to both user and root account)

(does not boot to X session, only to terminal, but this was temporary)

apt install eudev

(takes a lot longer to "Process triggers for dbus", ~4 minutes, hangs at "Progress... 96%")
("Failed to open connection to "system" message bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.")

# network will not work unless you change interfaces file:
# alter /etc/network/interfaces file to change enp0s3 to:

auto eth0
iface eth0 inet dhcp

# second reboot

reboot
apt install libelogind0
apt remove systemd* --purge
apt remove libnss-systemd --purge
apt remove dbus-user-session --purge

# lightdm was removed earlier, so:

apt install lightdm --no-install-recommends

# at this point, there was some kind of issue with libpolkit-agent-1-0, as it was the only package showing as upgradable:

root@localhost:/home/guest# apt list --upgradable -a
Listing... Done
libpolkit-agent-1-0/testing 0.105-25+devuan4 amd64 [upgradable from: 0.105-25]
libpolkit-agent-1-0/now 0.105-25 amd64 [installed,upgradable to: 0.105-25+devuan4]

# I noticed that policykit-1 was shown as a recommended package to lightdm, so

apt install policykit-1 --no-install-recommends

# and this updated the libpolkit-agent-1-0 package

# probably could have done this earlier, but I finally discarded the unnecessary stuff

apt autoremove

# third reboot

reboot

The end result:

root@localhost:/home/guest# apt dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

# no systemd here!

root@localhost:/home/guest# dpkg -l | grep systemd
root@localhost:/home/guest#

# At the Xfce desktop, all logout options appear available and are not greyed out.

# On the Grub boot menu, it says Debian, and an "update-grub" does not fix it.

Last edited by nixer (2019-09-07 14:56:05)

Offline

#7 2019-09-07 17:16:36

nixer
Member
From: North Carolina, USA
Registered: 2016-11-30
Posts: 71  

Re: Migrating from Buster to Beowulf - feedback needed

Also, I would add that Network-Manager has not been devuanized in the Beowulf repository, yet.  If I am incorrect, then I appologize, but I was just unaware of this since I have the ascii version marked as "hold" in apt and it has not upgraded.  If you install NM from scratch, you can install it from the ascii repository and it will work.  I have been using this setup for quite some time.

If you already have it installed and working in buster, then you will probably have to remove it completely and then install it from the ascii repository, preferably after updating everything else. 

NM is the only program that I use that has not been devuanized for beowulf, yet.  I do not know of any others.

Offline

#8 2019-09-08 11:19:58

fsmithred
Administrator
Registered: 2016-11-25
Posts: 1,282  

Re: Migrating from Buster to Beowulf - feedback needed

You are correct that network-manager has not been devuanized in beowulf, but I'm not sure if it needs to be done. Dependencies on the buster version are libsystemd0 | libelogind0, libpam-systemd | libpam-elogind, udev | eudev. Looks like we can use it with elogind.

Offline

#9 2019-09-09 04:36:30

ToxicExMachina
Member
Registered: 2019-03-11
Posts: 146  

Re: Migrating from Buster to Beowulf - feedback needed

I would recommend to install wicd instead of nm as a temporary solution. For WiFi and ethernet it will replace nm easily (wicd-cli, wicd-curses, wicd-gtk). I think in this case USB modem will be less easy to setup because i don't know suitable DE-agnostic GUI apps for that.

Anyway wicd is much better. Unlike nm, wicd doesn't screw serial i/o on random port, so if someone will use device with UART connection wicd won't cause any trouble.

Offline

#10 2019-09-09 12:33:11

nixer
Member
From: North Carolina, USA
Registered: 2016-11-30
Posts: 71  

Re: Migrating from Buster to Beowulf - feedback needed

Not to get too far off topic about migrating from buster to beowulf...

FSR >

You are correct that network-manager has not been devuanized in beowulf, but I'm not sure if it needs to be done.

You are correct.  I just removed the "hold" in apt and did an update.  It worked fine.  I did have one instance where an important file in NetworkManager was removed because it was "obsolete".  I replaced it and it works fine, so, for anyone reading this, backup the contents of /etc/NetworkManager before updating.  Better safe than sorry! 
The NM update worked fine in going from Beowulf to Ceres also.

Toxic >

I would recommend to install wicd instead of nm as a temporary solution.

I agree about Wicd, but I like using NetworkManager for the VPN gui.  It makes the vpn so easy to switch on and off.

Now back on topic...

Offline

#11 2019-09-17 12:20:01

hugoac
Member
Registered: 2018-08-22
Posts: 2  

Re: Migrating from Buster to Beowulf - feedback needed

Hello!

I built myself a couple of VMs running Debian Buster, one with a "server" configuration (most of the stuff I use at work: VPN/SSH/FTP/DNS/Samba/NFS/Proxy/WWW/others) and one with a "client" configuration (Xorg, MATE as DE, Libreoffice, some web browsers, audio and video stuff...). Then I tried to upgrade to Beowulf, as in Stretch to Ascii

My results:
* Boot time after first installing sysvinit is VERY long, but it gets faster later on.
* I cannot install devuan-keyring through apt, must be done with dpkg
* On my "client" VM, apt-get autoremove uninstalled almost everything X-related: out went MATE, libreoffice, all web browsers... Had to reinstall it all, but it was just a minor hassle.
* It seems Buster doesn't have systemd-shim
* Both my "server" and "client" VMs booted and worked just fine (other than having to reinstall DE and stuff on "client").

Last edited by hugoac (2019-09-17 13:12:01)

Offline

#12 2019-09-17 14:49:51

golinux
Administrator
Registered: 2016-11-25
Posts: 1,758  

Re: Migrating from Buster to Beowulf - feedback needed

There hasn't been systemd-shim ever in Devuan.

Offline

#13 2019-09-17 15:42:33

hugoac
Member
Registered: 2018-08-22
Posts: 2  

Re: Migrating from Buster to Beowulf - feedback needed

And after that (although maybe it isn't the purpose of this thread...) I tried a Beowulf install from an existing Ascii install, using Installing Debian GNU/Linux from a Unix/Linux System as a guide.

It worked fine, barring some fiddling to get GRUB working.

Offline

#14 2019-09-23 18:37:12

xinomilo
Member
Registered: 2017-07-02
Posts: 78  

Re: Migrating from Buster to Beowulf - feedback needed

since buster is still "fresh", same instructions apply for debian testing/sid -> devuan ceres migration. tried it yesterday, minor hickups mostly in DE packages.

Offline

#15 2019-11-05 22:09:26

fsmithred
Administrator
Registered: 2016-11-25
Posts: 1,282  

Re: Migrating from Buster to Beowulf - feedback needed

Nixer's method still works. I just tried it today on a buster standard-system (no X).

First time, I rebooted before trying to install eudev, and I got the long hang on dbus.
Second time, I instlalled eudev before the reboot, the install failed, I rebooted and did not get the delay. I then installed eudev again, and it succeeded.

On both installs, when I tried to install elogind and libelogind0 it wants to install a bunch of desktop apps. I haven't figured out why that is.

Short version:
- boot buster, install sysvinit-core
- download and install devuan-keyring
- change sources to devuan, update, upgrade
- (optional) install eudev and let it fail. This might save some time on the first reboot.
- reboot and install eudev, remove or purge systemd if it doesn't get removed automatically. (possibly libnss-systemd also)
- (optional) install libelogind0 if you want to replace libsystemd0. Without elogind, it's not pulling in the desktop apps.

Offline

#16 2019-11-06 04:17:58

bimon
Member
Registered: 2019-09-09
Posts: 12  

Re: Migrating from Buster to Beowulf - feedback needed

Hello,

As for me I have found it very convenient to stay at Devuan Ascii on the host and run both Beowulf and Ceres in KVM virtual machines.

I am connecting to beowulf and ceres virtual hosts via ssh -X
and then start graphical application in VMs while displaying their output on Devian Ascii + Trinity, very nice, even browsers work fine anf fast enough to refresh screen.  May be later I will have a dedicated X server in OpenBSD while continuing to use Devuan Ascii for hosting VMs and keep them in ZFS pools.

.ssh/config:

Host beowulf ice ceres
        User ice
        Ciphers aes128-ctr
        Compression yes
        CompressionLevel 9
        ForwardX11 yes
        IdentityFile /xxx/client_key
#       ForwardAgent yes

Host beowulf ice
        Port YYY-1

Host ceres
        Port YYY

And names: beowulf ice ceres
are specified as 127.0.0.1 in /etc/hosts

Last edited by bimon (2019-11-06 04:28:01)

Offline

#17 2019-11-06 04:22:50

bimon
Member
Registered: 2019-09-09
Posts: 12  

Re: Migrating from Buster to Beowulf - feedback needed

kvm.sh:

#/bin/sh                                                                                                                                                                                                  
                                                                                                                                                                                                          
set -x;                                                                                                                                                                                                   

Name=$1;
QEMUOptions=${@:2};

#exit;

VENDOR1='68:5d:43' # Intel
VENDOR2='00:17:A5' # Ralink

RANGE=256;
                                                                                                                                                                                                                                                                               
rangen()                                                                                                                                                                                                                                                                       
{                                                                                                                                                                                                                                                                              
        NUM=$RANDOM;                                                                                                                                                                                                                                                           
        let "NUM %= $RANGE";                                                                                                                                                                                                                                                   
        OCT=$(echo "obase=16;$NUM" | bc);                                                                                                                                                                                                                                      
        # Single (low) values prepended with '0'                                                                                                                                                                                                                               
        if [ ${#OCT} == 1 ]; then                                                                                                                                                                                                                                              
                OCT='0'$OCT;                                                                                                                                                                                                                                                   
        fi;                                                                                                                                                                                                                                                                    
        echo $OCT;                                                                                                                                                                                                                                                             
}

gen_random_mac()
{
#       perl -e 'for ($i=0;$i<6;$i++){@m[$i]=int(rand(256));} printf "%X:%X:%X:%X:%X:%X\n",@m;';
#       dd if=/dev/urandom bs=1024 count=1 2>/dev/null|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4:\5:\6/';

        A=$(rangen); B=$(rangen); C=$(rangen); D=$(rangen); E=$(rangen); F=$(rangen);
        echo ${VENDOR2}:${D}:${E}:${F};
}

chmod 777 /dev/kvm;

MAC=`gen_random_mac`;

modprobe kvm; 
modprobe kvm_intel;

#KernelOptions=" console1=ttyS0,115200 ";
KernelOptions=" root=LABEL=$Name MY_LOCATION=$MY_LOCATION ";
KernelDir="/XXX/Security/Devuan/Kernel";

#echo \
nice -n 7 ionice -c 2 -n 7 /usr/bin/qemu-system-x86_64 \
    -smp 2 \
    -k en-us \
    -machine accel=kvm \
    -no-fd-bootchk \
    -virtfs local,id=shared_folder_dev_0,path=/download,security_model=none,mount_tag=shared0 \
    -kernel $KernelDir/$Name/vmlinuz \
    -initrd $KernelDir/$Name/initrd.img \
    -append "verbose net.ifnames=0 ipv6.disable=1 ro  quiet  framebuffer=false selinux=0  console=ttyS0        zswap.enabled=1 zswap.max_pool_percent=25 zswap.compressor=lz4 $KernelOptions " \
    -rtc base=utc \
    -name "$Name" \
    -net nic,macaddr=$MAC,model=virtio \
    -usb \
    -device usb-ehci,id=ehci \
    $QEMUOptions \
    -serial mon:stdio -nographic;

Offline

#18 2019-11-06 04:26:39

bimon
Member
Registered: 2019-09-09
Posts: 12  

Re: Migrating from Buster to Beowulf - feedback needed

ceres.sh:

set -x;

SystemDev=/dev/zvol/XXX/ceres_vol;

chmod 777 $SystemDev

MemSize=4096;

#Modem=" -device usb-host,vendorid=0x0abc,productid=0x1234 ";
Network=" -net user,hostfwd=tcp:127.0.0.1:YYY-:22 ";
Drives=" -drive format=raw,if=virtio,aio=native,cache.direct=on,file=$SystemDev ";

Options=" -m $MemSize $Modem $Network $Drives ";

sleep 1s;

/xxx/kvm.sh "CERES64" $Options;

Last edited by bimon (2019-11-06 04:26:59)

Offline

#19 2019-11-06 04:31:45

bimon
Member
Registered: 2019-09-09
Posts: 12  

Re: Migrating from Buster to Beowulf - feedback needed

For example a brave browser can run in a beowulf VM and still render its GUI on Ascii host by the following command:

ssh ice "brave-browser &";

Then you will have super stable ascii host with its Xorg server

and beowulf and ceres simultaneously running in different KVM vms for experiments with fresher GUI programs while they are still not released as stable.

Btw, this config has defended me from Ganstalkers' EMI and browser plugin attacks even on a slow HDD as ZFS vdev without any SSD caching:

https://web.archive.org/web/20191106043 … ssues/9518

VM specific datasets are:

zfs set sync=disabled

for performance, having regular snapshots of course to rollback if a dataset gets any corruption due to unexpected reset, power loss, etc.

With a SSD it would work even faster which would be noticeable at least during computer power on when ZFS caches are cold yet, but after an hour of work HDDs become fast too after ZFS ARC gets already hot enough.

And a high IO attack from browser plugins becomes useless. Computer cannot be hung anymore by this method.

Last edited by bimon (2019-11-07 07:14:41)

Offline

Board footer