Project Tumbleweed

From JoBaPedia
Revision as of 18:19, 14 July 2024 by Joachim (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Update from Leap 15.3 to Tumbleweed

see README.tumbleweed on share qnap:/joachim/ (or job4:/home/joachim/)

possibly outdated:

  • Make sure all fio entries in fstab use nofail option
  • Disabled reiserfs lv vid2vg/video -> save later...
  • DL tumbleweed iso, write to stick with imagewriter, boot -> F11 -> stick
  • Rebuilt iomemory.vsl like /root/README.fio-lvm
# git clone https://github.com/snuf/iomemory-vsl
cd iomemory-vsl
git pull origin main
# git checkout v4.20.1
cd root/usr/src/iomemory-vsl-3.2.16/
make gpl
cp -av iomemory-vsl.ko /lib/modules/`uname -r`
depmod
modprobe -v iomemory-vsl
  • enabled community repos, installed nvidia, updated to G06, zypper dup --from 'Packman Repo', to remove flickering removed boot option nosimplefb=1
  • (Undone: mv /usr/libexec/tracker-extract-3 /usr/libexec/tracker-extract-3.bak (used 100% cpu))
  • sudo a2enmod wsgi for /etc/apache2/conf.d/ttn-py.conf
  • Restart and enable mariadb to get JobaPedia running (mariadb was off due to needed manual checks for version change)
  • Restart and enable influxdb after restoring /etc/influx/influx.conf from rpmsave (was disabled due to possibly incompatible version update)
  • Restored /etc/services entries for DB2 from services.rpmsave (or complaines about db2nodes.cfg code 11) and restarted db2mspr service
 DB2_db2inst1	60000/tcp
 DB2_db2inst1_1	60001/tcp
 DB2_db2inst1_2	60002/tcp
 DB2_db2inst1_3	60003/tcp
 DB2_db2inst1_4	60004/tcp
 DB2_db2inst1_END	60005/tcp
 db2c_db2inst1	50001/tcp
 DB2_db2mspr	60006/tcp
 DB2_db2mspr_1	60007/tcp
 DB2_db2mspr_2	60008/tcp
 DB2_db2mspr_3	60009/tcp
 DB2_db2mspr_4	60010/tcp
 DB2_db2mspr_END	60011/tcp
 db2c_db2mspr	50002/tcp
  • Copy php7 pdo_ibm.ini to /etc/php8/conf.d and recompile ibm_pdo (see also JobaPedia)
    • inst php8-devel
    • pecl update-channel-update pecl.php.net
    • pecl install -f -n --ignore-errors pdo_ibm
      • use db2 install location /home/db2mspr/dsdriver
  • Update domoticz (last tested with domoticz 2024.3, tumbleweed 2024-07-12/boost 0.85/cmake 3.30 and python 3.12.1)
    • using cmake 3.25.2 (3.17 failed to detect own python)
    • using boost >= 1_81, set USE_STATIC_BOOST = NO in CMakeLists.txt
    • Update z-wave
      • git pull z-wave repo of user domoticz, checkout master
      • comment out null pointer access in AssociationCommandConfiguration.cpp twice
      • make, sudo make install
    • git pull domoticz repo of user domoticz, checkout 2023.1
    • set python env
export PATH=/home/domoticz/python-3.10.10/bin:$PATH
export PYTHONHOME=/home/domoticz/python-3.10.10/
export PYTHONPATH=/home/domoticz/python-3.10.10/lib/python3.10:/home/domoticz/python-3.10.10/lib/python3.10/lib-dynload
pip3 install requests
    • compile and install
rm CMakeCache.txt
cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt
make -j8
make install
    • adapt service file
Environment="PATH=/home/domoticz/python-3.10.10/bin:/home/domoticz/bin:/usr/local/bin:/usr/bin:/bin" "PYTHONHOME=/home/domoticz/python-3.10.10" "PYTHONPATH=/home/domoticz/python-3.10.10/lib/python3.10:/home/domoticz/python-3.10.10/lib/python3.10/lib-dynload"
ExecStart=/opt/domoticz/domoticz -daemon -syslog -pidfile /var/run/domoticz/domoticz.pid -www 8888 -sslwww 8443
    • Adapt python clients for mq135 and airrohr to more secure json api
      • in domoticz add user (here sensors) with pw (here open) with user role and add devices to update to the user
      • in domoticz allow http for api requests
      • adapt http requests to use basic auth
url = "http://{}/json.htm?type=command&param=udevice&idx={}&nvalue={}".format(srv, idx, val)
request = Request(url)
base64string = base64.b64encode(b'sensors:open').decode('utf-8')
request.add_header("Authorization", "Basic {}".format(base64string))
page = urlopen(request)
    • adapt service files
      • look for warnings in syslog during systemctl daemon-reload
      • remove output to syslog (obsolete)