Page MenuHomeVyOS Platform

ISO issue, login/pass, VirtualBox / HW
Closed, ResolvedPublic

Description

I compile ISO by how-to, some time ago everything was OK,
but after some time, i got strange behavior: when i boot from this ISO in VirtualBox i can login (vyos/vyos) and install it, but when i boot from same ISO recorded to USB Flash on HW i cant login! Why it could be so?

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)

Event Timeline

hexes created this object in space S1 VyOS Public.

If i record this ISO to CD it boots normally, but from flash I can't login.
I also noticed, when i boot from flash, i got message:
migrate r1-system firewall configure.
Configuration success.

IMG_20191022_165242142.jpg (2×3 px, 2 MB)

then i can't login, if i got:

migrate r1-system firewall configure failed.
Configuration error.

IMG_20191022_165901315.jpg (2×3 px, 3 MB)

then i could login... So I thing that it use different config files... Why? Where it could take it? On the same ISO????
If i could login, i see my custom config, which i use while compile ISO.

I have found reason of this error:

migrate r1-system firewall configure failed.
Configuration error.

But it didn't fix login error... If i record ISO to flash, i cant login in it... Only in virtualbox....
How it's possible???

I think that it's happens because I add zabbix-agent and user zabbix while compile ISO. And possible GID / UID was changed...

Christian, may be you know, when you fixed OpenVPN issue and add openvpn user, how did you do it? Why regular zabbix-agent and zabbix-proxy installation script broke authorization?

Hi @hexes well without knowing the details and diving into zabbix I suggest you just grab the diffs on the OpenVPN rewrite to see what was crucial. vyos-build repository should be the one if I remember correctly, or vyatta-cfg-system - one of those.

@c-po, thanks for your attention, I have found this:
vyos-build/build/chroot/var/lib/dpkg/info/vyatta-cfg-system.postinst

#OpenVPN should get its own user
if ! grep -q '^openvpn' /etc/passwd; then
    sudo adduser --system --group --shell /usr/sbin/nologin --home /var/lib/openvpn openvpn
fi

In my packet after installation script, looks like that
vyos-build/build/chroot/var/lib/dpkg/info/vyos-noc-zabbix.postinst

if [ "$1" = "configure" ]; then
    if ! getent group zabbix > /dev/null 2>&1 ; then
        addgroup --system --quiet zabbix
    fi

    if ! getent passwd zabbix > /dev/null 2>&1 ; then
        adduser --quiet \
            --system --disabled-login --ingroup zabbix \
            --home /var/lib/zabbix/ --no-create-home \
            zabbix
    fi

    chown zabbix:zabbix /var/log/zabbix -R
fi

So, as I understand it works the same way? So I don't understand, why my way don't work?

Gentlemen, PLZ! Enplane me, what's wrong with it? Why my ISOs wont work?!?!

Hello @hexes,

as I read your script it works in a different way. Also its location seems to be wrong. OpenVPN is handled here:
https://github.com/vyos/vyatta-cfg-system/commit/bb686343fc913413ff51edfeb63929759bee0fde

Aksi you have a if [ "$1" = "configure" ]; then statement. As this looks like an unoficial modification or probably prepartion for a large pull request I recooment following the way in the commit I showed you. This is proved to work in our environment.

hello @c-po , thanks a lot for reply!
"Different way" - you mean if [ "$1" = "configure" ];? "Same way" - I mean addgroup / adduser commands...

if [ "$1" = "configure" ]; that's regular DEB package style... I take it from zabbix package, and its location is regular for DEB package...
Your fixes inside VyOS environment, my package installed separately while compilation process:
./configure --build-by "hexes" --version 0.0.987 --architecture amd64 --build-type release --custom-apt-entry "deb http://10.255.0.1/apt jessie main" --custom-apt-key /tmp/noc.key.chroot --custom-package "vyos-noc-zabbix htop atop iotop aptitude snmp-mibs-downloader mc libsnmp30 libssl1.0 fping ftp tftp snmptrapd libnet-snmp-perl libsnmp-perl smartmontools lm-sensors acpi"

May be it's wrong way/decision... How to do it right?

dmbaturin claimed this task.
dmbaturin added a subscriber: dmbaturin.

Assuming resolved.