site  contact  subhomenews

Fix for journal commit interval change

June 24, 2020 — BarryK

I posted how the ext4 journal commit interval was changed from 5 to 30 seconds:

This is in EasyOS version 2.3.2, however, Terry reported that when he updated his existing installation of EasyOS to 2.3.2, mounting of the working-partition failed.

I advised him to remove the "-o" options, which fixed it:

He hasn't replied yet, but I think the problem is that his ext4 filesystem does not have a journal. So, I have modified the 'init' script like this:

  mount -t ${WKG_FS} -o commit=30,rw,relatime,data=ordered /dev/${WKG_DEV} /mnt/${WKG_DEV} 2>/dev/null
[ $? -ne 0 ] && mount -t ${WKG_FS} /dev/${WKG_DEV} /mnt/${WKG_DEV} #200624 fallback if no journal

The initrd doesn't have the 'dumpe2fs' utility, and don't know any other way to test if ext4 has a journal, so just do as above. If the "-o" options cause failure to mount, do it again without the "-o" options. Crude, but should work. 

Tags: easy

Fix for two NVME drives

June 23, 2020 — BarryK

I recently purchased a M.2-to-PCIE adapter card:

And a 500GB NVME M.2 drive:

There are heatsinks available especially for these M.2 cards, however, I purchased two small stick-on heatsinks:

Here it is, put together, ready for insertion in the PC:


I want a fast partition, for some jobs that take a long time, such as the '2createpackages' script in WoofQ and a OpenEmbedded compile.

For the first time, have a PC with two NVME M.2 SSDs, and it has exposed a fault in EasyOS. This Lenovo IdeaCentre PC came with a 256GB NVME M.2 SSD. It has two PCI-E slots, one of them full-length.

The initrd in EasyOS has static /dev nodes. It is only at switch_root to the main filesystem that devtmpfs is mounted on /dev. With devtmpfs, the kernel will create the device nodes as required, in response to hardware it finds.

In the initrd, /dev has pre-created device nodes. This is fine, as long as nodes exist for all of the types of hardware that are likely to be found. Or rather, it has been fine up until now...

What I have discovered is the Linux NVME driver developers have broken with tradition, and device names no longer can be guaranteed to have fixed major and minor device numbers. To give an example of a normal drive partition:

# ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Jun 24 2020 /dev/sda1

The major and minor numbers for partition "sda1" are 8 and 1. That remains always the same.

However, as this fixed mapping does not work for NVME, static node assignments may differ after devtmps is loaded. I discovered, for example that what is /dev/nvme1n1p4 after devtmpfs loaded, the initrd mapped the same major/minor numbers to /dev/nvme0n1p6.

So, for anyone trying to use EasyOS on a PC with more than one NVME drive, expect trouble.

It is time, finally, the very "old school" hanging onto static /dev nodes in the initrd has got to go. Now, devtmpfs is mounted at the start of the 'init' script in the initrd. This fix will of course be in the next release of Easy. 

Tags: easy

EasyOS version 2.3.2 released

June 22, 2020 — BarryK

Release notes:

Install and feedback notes:

English, French and German downloads:

Have fun! 

Tags: easy

iotop to be in next release of EasyOS

June 22, 2020 — BarryK

I posted about iotop recently:

A very nice utility for anyone who wants to know what is going on when the drive is active -- that you know by the noise that a platter-type drive makes, and an activity LED. iotop will show what processes are responsible for the activity.

It is a python script, small, so has been added to the build, in the System menu. 

Tags: easy

Missing genisoimage in EasyOS

June 21, 2020 — BarryK

Easy has the 'cdrtools' package, which has  the 'mkisofs' utility. The 'cdrkit' package was a fork of cdrtools, with different names for utilities, and has 'genisoimage' instead of 'mkisofs'.

Some Debian packages expect 'genisoimage', so we could just put it as a symlink, as suggested by rcrsn51 (forum name), or a script that calls mkisofs, suggested by OscarTalks:

I went for the script. I took off the "$@" quotes around the $@, as that seems wrong syntax. 

Tags: easy

Translated image in welcome page

June 21, 2020 — BarryK

At first bootup of Easy, there is a "welcome" HTML page, at /usr/share/doc/easy/welcome.htm. This displays an image of the desktop, /usr/share/doc/easy/images/desktop1.png, which has text on it in English.

So the welcome.htm can be translated, but not the image. Not until now, that is. Lutz (L18L on the forum) has done something so clever, superimposed translated text over the image:

I have put his improved /usr/share/doc/easy/ into WoofQ, so that it will be in the next release.

What I might do is bring out EasyOS 2.3.2 very soon, and invite L18L and esmourguit to update the German and French translations. There are various apps here and there that will need updating. 

Tags: easy

Skype SFS uploaded

June 21, 2020 — BarryK

The SFS repository for EasyOS and EasyPup had Skype, however, someone reported that the microphone did not work.

Maybe it was just their particular hardware, however, I decided to make another, older, SFS available, This is version, the same one used in FossiePup.

The repo is here:

But if you are running EasyOS, all that you have to do is click on the "sfsget" icon at top of the screen.

Whether this will improve the microphone situation, I don't know. Testers welcome!

Note, install it on the main desktop, not in a container, just in case the container is the cause of the microphone problem -- that is another thing that testers can determine.   

Tags: easy

Change ext4 journal commit interval from 5 to 30

June 21, 2020 — BarryK

I have been examining why EasyOS has almost continuous writes to the hard drive, even when "doing nothing" on the desktop, and eliminated writes by pmcputemp:

The ext4 journal remains as the single biggest contributor. We could go back to not using a journal, but instead will try some other solutions to reduce writes. One possibility is to change the commit interval from the default 5 seconds.

I have modified the 'init' script in the initrd to change it to 30 seconds:

 if [ "${WKG_FS}" == "ext4" ];then #200621 change journal commit interval from 5 to 30...
#rw,relatime,data=ordered are the defaults anyway...
mount -t ${WKG_FS} -o commit=30,rw,relatime,data=ordered /dev/$WKG_DEV /mnt/$WKG_DEV
mount -t ${WKG_FS} /dev/${WKG_DEV} /mnt/${WKG_DEV}

That will also result in faster operation, though if there is a crash then you lose the last 30 seconds of your work. Hmmm, maybe we could even make that a longer time? Trying this for the next release of EasyOS, see how it goes. 

Tags: easy