site  contact  subhomenews

Full hdparm utility in initrd

June 21, 2020 — BarryK

Earlier this year, I posted about implementing running of 'fstrim' at every 20th bootup, for SSDs that support TRIM:

https://bkhome.org/news/202003/easyos-clean-shutdown-and-ssd-trim.html

However, only had the busybox 'hdparm' applet, that does not work with USB drives.

I have now compiled the full 'hdparm' utility, version 9.58, statically with musl, for x86_64, i686, and aarch64, and put the utilities into WoofQ.

Only the more advanced USB-sticks support TRIM, such as the SanDisk Extreme. Interesting, not all SSDs do either, and apparently, some that report they do, don't really -- which could be a problem if run 'fstrim' on those.

I have a couple of SSDs in USB caddies, which is a very cost-effective alternative to USB-sticks, in terms of size and long-term reliability. Installing EasyOS to one of those is a fast and portable choice, rather then bothering to install to the internal drive. So, I want EasyOS to detect if the external SSD supports TRIM. 



Tags: easy

Pmcputemp modified to remove drive writes

June 20, 2020 — BarryK

Pmcputemp is a CPU temperature tray applet, very nice, and used in EasyOS and EasyPup. In the previous post, I explored why there are frequent periodic writes to the hard drive:

https://bkhome.org/news/202006/tracing-continuous-drive-activity.html

I discovered that pmcputemp is the main culprit. Yes, the ext4 journal driver is a contributor, but not the main one.

I obtained the latest source from here:

https://github.com/01micko/pmcputemp

Then modified the source and compiled it, these are my notes:

BK: v1.1
pmcputemp.c
change, interval range 1 - 100, default 20 seconds.
icon "temp.png" causing many drive writes, move into /tmp
pmcputemp.sh
aarch64 fix, ref:
https://bkhome.org/news/201902/easyos-version-104-for-rock64.html

# cd pmcputemp-1.1
# ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --with-help
# make
# new2dir make install

The modified source is now version 1.1, here:

http://distro.ibiblio.org/easyos/source/alphabetical/p/

And the PET is here:

http://distro.ibiblio.org/easyos/amd64/packages/pet/pet_packages-buster/

The problem was, every time CPU temperature changed, read at intervals of 10 seconds (I bumped in latest PET, now 20), there would be a write to /root/.config/pmcputemp/temp.png.

It would probably be possible not to write "temp.png" to file at all, but anyway, I changed it to /tmp/pmcputemp/temp.png. Reason, is that in EasyOS, /tmp is a tmpfs (temporary filesystem, that is only in RAM).

Hey, what a change, my Lenovo PC is now mostly quiet, no little "brrps"! Ditto, there will be much less LED flashes on USB-sticks. 

Tags: easy

Tracing continuous drive activity

June 20, 2020 — BarryK

Right now, EasyOS is running, installed on the 8TB hard drive in my Lenovo PC, and there is a quiet sound of periodic drive activity. This hardly ever stops, even if the desktop is running but no applications, there is the "brrp brrp" of the hard drive.

This happens also when running EasyOS off a USB Flash stick, quietly, with the LED flashing on the drive.

I thought that the 'iotop' utility would be most useful to trace what processes are accessing the drive. Reads I don't mind, but writes are a problem with Flash storage. However, iotop requires the kernel to be compiled with I/O Accounting enabled, so I compiled the 5.4.47 kernel, with these enabled:

General setup
CPU/task time and stats accounting
[*] Export task/process statistics through netlink CONFIG_TASKSTATS
[*] Enable per-task delay accounting CONFIG_TASK_DELAY_ACCT
[*] Enable extended accounting over taskstats CONFIG_TASK_XACCT
[*] Enable per-task storage I/O accounting CONFIG_TASK_IO_ACCOUNTING

First time that I ran "iotop -o -a", there were two processes writing to the hard drive, "pmcputemp" and "jbd2/sda4-8".

pmcputemp is the tray applet monitoring CPU temperature. Why is it frequently writing to the drive? I killed it, and ran Screeny to take a snapshot of iotop output:

img1

That "jbd2/sda4-8" looks like the culprit. It is the "Journal Block Device", that is, writing to the ext4 journal.

It used to be, that I ran the working partition without journal, when running off a Flash drive, but early this year enabled the journal, as it ensured a "clean" shutdown of the ext4 filesystem -- there is a blog post about that.

All right, writing to the journal is the culprit, but is that a bad thing? On a Flash drive, will that be hammering the same memory locations?

I don't know anything about this "jbd2/sda4-8" process yet. Why the "4-8", as the drive has partitions 1-9? sda4 is the working partition. sda1 and sda4 are mounted, the others aren't.

Very interesting, the drive is now quiet. No, one little "brrp", due to "jbd2/sda4-8". Quiet again. So, the writes do slow down, eventually -- still getting them, just less frequent. 

EDIT 2020-06-21:
Well, either "pmcputemp" or "jbd2/sda4-8" can be causing more writes. If do nothing, just stare at the desktop, it is the former, if do some desktop activity, it is the latter. Anyway, here is the next post, where I have solved the problem of pmcputemp writing to the drive:

https://bkhome.org/news/202006/pmcputemp-modified-to-remove-drive-writes.html  

Tags: easy

Youtube-dl-GUI Update button fixed

June 16, 2020 — BarryK

Youtube-dl downloads YouTube videos. It is found in the "Internet" menu category. Alfons reported that the "Update" button does not work.

Yes, the URL to download the latest youtube-dl Python script has changed. Fixed, the PET is now youtubedl-gui-0.4.1.pet.

Tags: easy

PGPRS setup improved

June 13, 2020 — BarryK

EasyOS uses NetworkManager, however, the older network setup methods are still there, such as PupDial, SNS, and PGPRS. Richard (rerwin in the forum) is maintaining PGPRS:

http://www.murga-linux.com/puppy/viewtopic.php?t=102827

He has kindly examined the PGPRS in EasyOS, and created an update tarball:

http://www.murga-linux.com/puppy/viewtopic.php?p=1060573#1060573

I have applied the updates to WoofQ, and also bumped the 'defaults-chooser' PET to 0.9.2:

http://www.murga-linux.com/puppy/viewtopic.php?p=1060805#1060805 

Tags: easy

puppyPDF removed

June 11, 2020 — BarryK

puppyPDF is an ancient little GUI app that converts text files to PDF. It was written by 'thoughtjourney' in 2005. Forum member 'vovchik' created a similar app named 'ppdf'. Both of these required abiword, running in CLI mode.

Feodor reported that it does not work, as abiword is missing.

Easy does not have abiword anymore, but libreoffice could be used, in "headless" CLI mode. It would have the advantage of converting many more filetypes, and more accurately than abiword.

Anyway, as most apps, such as libreoffice, have "save as..." to file, which is PDF, a specialised app like puppyPDF is probably redundant.

I am not motivated enough to convert puppyPDF to use libreoffice, so have removed it from Easy. 

Tags: easy

EasyPup development on the back burner

June 09, 2020 — BarryK

"On the back burner" means to put it aside, give it low priority, to be done later. I was curious about the history of this expression, as someone once mentioned it is used in the USA. It is used here in Australia, and I presume the UK. This page has some info:

https://www.theidioms.com/on-the-back-burner/

Anyway, I digress. The purpose of this post: I started EasyPup as an interesting project, to see if I could create a classical pup with features imported from EasyOS, a kind of "classical Puppy on steroids". However, I didn't really want it to divert too much attention from working on EasyOS on-going.

That on-going thing, yes EasyPup is attracting attention. Which is a bit of a concern. For various reasons...

Recently, I was asked a couple of questions about EasyPup, and I gave inappropriate answers, because I was thinking in "EasyOS mode", then later I had to edit my reply on the forum.

Then there are the details of how EasyPup works, the bootup scripts, shutdown, PUPMODEs, etc. It has been several years since I worked on Puppy, and some details are getting vague. Like, I forget how all the PUPMODEs work, at least, off the top of my head, it isn't there. I can study it and it will come back, but that means time.

Then there is competition with the official woof-CE based pups. I don't want EasyPup to shape up as challenging the official pups, or be seen as coming back in and assuming some kind of leadership of the Puppy project.

I know that the Puppy project has been described as a "do-ocracy":

https://communitywiki.org/wiki/DoOcracy

Fair enough, but risks becoming too fragmented when there are lots of projects pulling interest away from the woof-CE builds.

I have ruminated on this topic many times. I can see the value in all the ideas that pour into the Puppy forum. The *Dog derivatives are fascinating, for example.

Anyway, I think that I would like to return my attention to just working on EasyOS, keep focussed, maximum productivity, keep refining and improving just the one product. EasyOS is so far off being a normal Puppy, that it does not blur people's understanding of what is Puppy and what is not: EasyOS is clearly a different OS, just happens to have some Puppy-roots.

So, maybe I will release more versions of EasyPup, maybe not. If one or two "old Puppy developers" want to maintain EasyPup, they are welcome. That would mean responding to bug reports and attempting to fix them -- all of which would be a major commitment. It would mean getting the WoofQ tarball, and maintaining everything inside the 'puppy' folder -- and that means prior experience with using Woof2/Woof-CE. 

Tags: easy

Chromium SFS 80.0.3987.162 created

June 09, 2020 — BarryK

I recently bumped the Firefox SFS to version 68.7 ESR (long-time supported version). Now it is the turn for Chromium web browser.

The online location is here:

http://distro.ibiblio.org/easyos/amd64/packages/sfs/easyos/debian/buster/

However, in EasyOS and EasyPup, installation is achieved by clicking on the "sfsget" icon on the desktop.

I chased down a little bug. There were menu entries for Firefox and Chromium, but the icon alongside each entry was missing. What had happened, was I had installed these first via "petget", the package manager, that is, they were DEB packages.

Then uninstalled, but they left behind .desktop files. Later on, installed Firefox and Chromium SFSs on the main desktop, but the left-behind .desktop files had the wrong "Icon=" entry. Anyway, fixed it.  


Tags: easy