site  contact  history  index

Kernel task_delayacct fix for ioptop-py

April 29, 2024 — BarryK

Iotop monitors input/output activity. In EasyOS and QV you will find it in the System menu. I wrote about it in 2023:

https://bkhome.org/news/202310/iotop-py-compiled-in-oe.html

This is what it looks like:

img1

...see the message along the bottom of the window. "CONFIG_TASK_DELAY_ACCT" is actually enabled in the kernel; however, disabled by default, and has to be turned on, either on the kernel commandline or by 'sysctl' after bootup. The reason for disabling it by default is that it imposes a i/o performance hit.

I have modified the wrapper, /usr/bin/iotop-wrapper:

#!/bin/ash
if [ -e usr/bin/iotop-py ];then
IOTOPEXE='iotop-py'
else
IOTOPEXE='iotop'
fi
sysctl kernel.task_delayacct=1
urxvt -bg '#f0f0f0' -fg black -name iotop -fn 'xft:Roboto Mono:style=Regular:pixelsize=14' -fb 'xft:Roboto Mono:style=Bold:pixelsize=14' -e ${IOTOPEXE} -o -a
sysctl kernel.task_delayacct=0

Now, iotop-py displays all information. Here is the project homepage:

http://guichaz.free.fr/iotop/

This fix applies to both EasyOS and QV.  

Tags: easy

EasyOS Kirkstone-series will continue

April 28, 2024 — BarryK

I posted to the forum in response to questions about this, as people are seeing work on QV and wondering if I have forgotten about EasyOS:

https://forum.puppylinux.com/viewtopic.php?t=11373

I have just completed a recompile in OpenEmbedded/Yocto, based on the Kirkstone 4.0.17 release. The new build is "revision-7" and all the binary packages have "-r7" in their name.

Easy 5.7 was built from OE Kirkstone release 4.0.14, and here are the version changes from then to 4.0.17:

apache2         2.4.57   2.4.58
busybox-static 1.34.1 1.36.1
cpio 2.13 2.14
dnsmasq 2.87 2.90
firefox 120.0.1 125.0.2
libstd-rs 1.73.0 1.75.0
linux-firmware 20230804 20240220
mbedtls 2.28.5 2.28.7
mdview 20160622 2023.12.12
openssl 3.0.12 3.0.13
perl 5.34.1 5.34.3
python3-aiohttp 3.8.5 3.8.6
python3-jinja2 3.1.1 3.1.3
python3-pyqt5 5.15.1 5.15.7
python3-urllib3 1.26.17 1.26.18
sudo-sh 1.2 1.3
tzdata 2023c 2024a
vim 9.0.2068 9.0.2190
new: xml2 0.5

Right now, the 5.15.157 kernel is compiling. There was a hiccup with the aufs patch; fixed, see:

https://forum.puppylinux.com/viewtopic.php?p=118179#p118179

Easy 5.8 shouldn't be too far away. There is a small to-do list, which hopefully will take a couple of days only. That's if I don't get distracted.   

Tags: easy

QV version 240425 pre-alpha released

April 25, 2024 — BarryK

See 240423 announcement:

https://bkhome.org/news/202404/qv-version-20240423-pre-alpha-released.html

I was hoping to get onto implementing an update mechanism, but we keep finding bugs.

Download:

https://distro.ibiblio.org/easyos/amd64/releases/void/

One change made, and I have my fingers crossed that it is ok, is have now included the Void 'shadow' package. I had previously told XBPS to ignore 'shadow' if it is a dependency of any package, as it requires 'pam'.

'pam' causes trouble, but I think now have managed to disable it. We want the 'shadow' pkg, as any package that wants to create entries in /etc/passwd (etc.) needs it.

Forum discussion welcome here:

https://forum.puppylinux.com/viewtopic.php?p=117896#p117896

...first post in that thread explains about 'qv-installer', for direct install to internal drive.

I did some basic testing of 240425, very basic. Installed the 'devx' PET via PKGget, and it worked ok, took awhile. At the end PKGget reported a lot of missing dependencies still not installed. I don't know what to make of that, as XBPS did the installing, and it would have installed all required deps. So probably PKGget has got it wrong.     

Tags: quirky

QV readme on github

April 25, 2024 — BarryK

The readme file on github was previously empty. I have inserted a basic explanation about QV:

https://github.com/bkauler/woof-quantum-vis    

Tags: quirky

Fix bluetoothd endless restarting

April 25, 2024 — BarryK

In 2020 I posted about using the 'restarter' utility in /etc/init.d/bluetooth, to immediately restart 'bluetoothd' if it crashes:

https://bkhome.org/news/202011/xf86-input-wacom-and-restarter-compiled-in-oe.html

Yes, well, the worst has happened. Testing the latest QV, I observed /tmp/bootsysinit.log being endlessly appended, like this:

...
restarter[8300]: Executing [79]: (/usr/sbin/bluetoothd)
restarter[8604]: Starting [/usr/sbin/bluetoothd] with pid:8604
D-Bus setup failed: Name already in use
restarter[8603]: [8603]:sigchildhdl_GetExitStatus SIGCHLD handler, child_pid:8604, waitpid returned:8604, exit_reason:process exited, exit status=1, child exit status:256, signal:17, nchildren now:0
exit_valid:(), cmd_exitstatus2:1
[8603]: Exiting

restarter[8300]: Executing [80]: (/usr/sbin/bluetoothd)
restarter[8606]: Starting [/usr/sbin/bluetoothd] with pid:8606
D-Bus setup failed: Name already in use
restarter[8605]: [8605]:sigchildhdl_GetExitStatus SIGCHLD handler, child_pid:8606, waitpid returned:8606, exit_reason:process exited, exit status=1, child exit status:256, signal:17, nchildren now:0
exit_valid:(), cmd_exitstatus2:1
[8605]: Exiting
...

I do not know of a fix for this. 'bluetoothd' is still flakey and can crash. Just restarting it causes that dbus problem and it immediately crashes. I didn't have this problem with EasyOS, or perhaps I just didn't notice it.

So, have taken out 'restarter':

https://github.com/bkauler/woof-quantum-vis/commit/ac472ff697184ffaf3d48e6c6ff432b8d03f0577

However, 'restarter' does work, at least sometimes, without going into that endless loop. Now, if it crashes, that's it, you will have to manually restart it, by "/etc/init.d/bluetoothd start" -- and I hope that it doesn't hit that dbus problem.

It would be good if 'restarter' could set a limit on how many restarts. Oh, and it is not just a QV problem; do a search on "bluetoothd d-bus setup failed: name already in use" will return a lot of hits.      

Tags: quirky

QV version 20240423 pre-alpha released

April 23, 2024 — BarryK

Please read the 20240419 announcement:

https://bkhome.org/news/202404/qv-version-20240419-pre-alpha-released.html

Since then, there have been bug fixes, see the forum:

https://forum.puppylinux.com/viewtopic.php?t=11292

Also enhancements, see:

https://bkhome.org/news/202404/shell-wrapper-for-sudo.html

https://bkhome.org/news/202404/qv-snapshot-information-on-desktop.html

Bluetooth and samba fixed, among other fixes.

Still no update mechanism. Hope to do that for the next release. Thereafter, no more need to download the huge .img file, just install a small update PET.   

Tags: quirky

Shell wrapper for sudo

April 22, 2024 — BarryK

I posted about sudo here:

https://forum.puppylinux.com/viewtopic.php?p=117577#p117577

Which has brought this issue back to my attention. I really don't know why sudo was working and then it wasn't.

Anyway, I developed a simple alternative, named 'sudo-sh', see these blog posts mid-2023:

https://bkhome.org/news/202306/goodbye-sudo-package.html

https://bkhome.org/news/202306/light-weight-replacement-for-sudo.html

But what about an app that calls the sudo executable? EasyOS doesn't have sudo, QV does but it doesn't work.

To fix this, I created a shell script named 'sudo'. I don't know if an app will refuse to run it, if it sees it isn't a binary executable, or doesn't have suid bit set. Also, it ignores all commandline options. Anyway, here it is, /usr/bin/sudo:

#!/bin/ash
C=''
while [ -n "$1" ];do
case "$1" in
-*)
case "$1" in
-g|-p|-U|-u|-C|-r|-t)
shift
;;
esac
;;
*)
C="$@"
;;
esac
shift
done

if [ -n "$C" ];then
exec sudo-sh ${PPID} ${C}
fi

This will only work in EasyOS and QV, that have sudo-sh. A simple test:

# su spot
# sudo urxvt

...a window pops up asking for the root password, then the urxvt terminal runs.

That sudo script is very simple, could be written in C.   

Tags: quirky

QV snapshot information on desktop

April 21, 2024 — BarryK

Users of QV are likely to make heavy use of the btrfs snapshot feature. I have posted about QV's support for snapshots, see here:

https://bkhome.org/news/202404/qv-snapshot-deletion.html

What seems to be needed is "at a glance" information about what snapshot is currently running. I have implemented that information, written to the wallpaper, in format snapshot-number: creation-date: description.

At the first bootup, I have set the decription as "Original Snapshot", though it is not a snapshot as such, but the originator of snapshots. This description will also be translated if the user selects a non-English language.

Here is what it looks like, along the top of the desktop:

img1

Here is the github commit:

https://github.com/bkauler/woof-quantum-vis/commit/f13a1f913fbd1409b34e03def05d33c8bfc50bc1

...using GraphicsMagick to write the text on the image.   

Tags: quirky