site  contact  history  index

Install to SSD tutorial improved

December 16, 2018 — BarryK

There are some extra instructions in this tutorial:

https://easyos.org/install/how-to-install-easyos-on-a-new-ssd.html

There is a "gotcha" with this type of installation, and have suggested a useful tweak for the working-partition. 

Tags: easy

Thoughts on HDD and SSD speed

December 16, 2018 — BarryK

I posted a tutorial recently about installing EasyOS to a new 2.5inch SATA3 on my Mele PCG35 Apo mini-PC:

https://easyos.org/install/how-to-install-easyos-on-a-new-ssd.html

...where I reported a write speed of 63MB/sec to the SSD. However, that is going through some bottlenecks, a file was being copied from my SanDisk Extreme USB-stick. The SanDisk Extreme, though, is a very fast drive, so that 63MB/sec is a bit disappointing.

The manufacturer claims "read and write speeds up to 500MB/s and 450MB/s", see here:

https://www.kingston.com/us/ssd/consumer/sa400s37

Well, we can do some simple tests, eliminating some bottlenecks. Mostly, I am interested in sequential read and write, of large files. So, creating a 411MB file 'easy.sfs' in /tmp, then write this to the SSD. /tmp is a tmpfs and the contents of /tmp will reside in RAM (unless paged-out to a swap partition). Here we go:

# dd if=/tmp/easy.sfs of=/mnt/sda2/easy.sfs bs=1M conv=fsync status=progress oflag=sync

...we get 153MB/sec. Much better!

Doing the reverse, reading from the SSD, we get 431MB/sec. Faster, as expected. Note, I had to be very careful with how it is done in reverse, rebooted first, to make sure everything was flushed from the virtual memory.

Testing with a USB3 2.5 inch HDD on the Mele:

Write: 56.7MB/sec
Reboot then read: 91.9MB/sec

Over on my HP mid-tower PC, with an internal 5400 RPM SATA HDD, running the same sequential write and read test:

Write to HDD: 19.6MB/sec
Reboot, then read from HDD: 139MB/sec

Confirming the SSD is vastly superior. The HDD is going to go downhill when there is defragmentation, or when reading and writing lots of small files, further showing the superiority of the SSD.   

Tags: tech

New install tutorial, with new SSD

December 14, 2018 — BarryK

I moved a couple more tutorials across from bkhome.org to easyos.org, and wrote a new one:

https://easyos.org/install/how-to-install-easyos-on-a-new-ssd.html

Got to say, I like this new SSD. It is the bottom-of-the-ladder in terms of speed, but still very fast. And price per-GB is so much better than Flash sticks. 


Tags: easy

gtk1 and gdk-pixbuf0 compiled in OE

December 13, 2018 — BarryK

glib1 (glib version 1.2.10) got compiled in OpenEmbedded yesterday:

http://bkhome.org/news/201812/glib-1210-compiled-in-openembedded.html

Have now succeeded with gtk+ 1.2.10 and gdk-pixbuf 0.22.0, see the oe-qky-src repository:

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-quirky/gtk1

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-quirky/gdk-pixbuf0

In the next release of Easy, will be able to run gtk+ 1.x applications, if desired. I have in mind one that I want to play with... 

Tags: oe

glib 1.2.10 compiled in OpenEmbedded

December 12, 2018 — BarryK

Compiled in 'oe-qky-src' that is, my fork of OpenEmbedded. I have an aim to be able to compile and run gtk+ 1.2.10 applications in EasyOS. For that, it is necessary to compile glib 1.2.10, gtk+ 1.2.10 and gdk-pixbuf 0.22.0.

These are ancient packages, released back around 2001 - 2002. Not surprisingly, there are some issues when compiling them now. I found some patches, from Arch Linux and the T2-project, and was able to compile in a x86_64 host system. Cross-compiling in OE, though, is a challenge.

So far have only done glib. There are some very old patches for compiling glib 1.2.10 in the archived "classical" OE, which were helpful.

It was a struggle, took several hours today, but finally worked:

https://github.com/bkauler/oe-qky-src/tree/master/quirky/meta-quirky/recipes-quirky/glib1

Fixing the old autotools, etc., was achieved by hacks. 'ltconfig' insisted that it could not create shared libs, was able to override.

Next up, gtk+ 1.2.10 ... 

Tags: oe

Frugal install tutorial in UEFI computers updated

December 11, 2018 — BarryK

EasyOS tutorials were originally at bkhome.org/easy, and I am gradually updating them and moving them to their new home.

Recently, the tutorial for frugal install on traditional-BIOS-firmware computers was updated and moved:

https://easyos.org/install/easy-frugal-installation.html 

Now, install for UEFI-firmware computers (which is all manufactured post-2012) has got the same treatment:

https://easyos.org/install/how-to-install-easyos-on-your-hard-drive.html 

Important:
The "take-2" part of the above tutorial, using an SD-card for the working-partition, will not work with EasyOS 0.9.10. The kernel needs to have the Realtek USB card reader drivers built-in to the kernel, not as modules. This will be in the next release, Easy 0.9.11.

The Mele PCG35 Apo can take a M.2 SSD, plus SATA SSD/HDD, internally, and this would offer another way to install Easy. An extremely easy way. The chap who runs CNX-Software has done a tear-down of the Mele, to show how drives can be installed:

https://www.cnx-software.com/2017/09/18/mele-pcg35-apo-mini-pc-review-part-1-unboxing-teardown-and-m-2-ssd-sata-hdd-installation/  


Tags: easy

Kernel 4.14.87 compiled

December 10, 2018 — BarryK

I was attempting to do a frugal install on the Mele PCG35 Apo mini-PC, with the boot-partition in the internal drive, and the working-partition on a plugin SD-card. However, the kernel does not recognise the Realtek card-reader at early bootup, as the drivers for it are modules. So, compiling the latest 4.14.*, with those drivers builtin. These are the changes since 4.14.81:

Device Drivers
Multifunction device drivers
<*> Realtek USB card reader CONFIG_MFD_RTXS_USB
<*> MMC/SD/SDIO card support
<*> Realtek USB SD/MMC card interface driver CONFIG_MMC_REALTEK_USB

This was enabled, disabled it:

Processor type and features
< > Avoid speculative indirect branches in kernel CONFIG_RETPOLINE

...that last one, of course, is controversial. However, I have never configured a kernel with hyperthreading enabled, except that it now is. That is, I always had CONFIG_SMP enabled, but not CONFIG_SCHED_SMT -- however, after compiling this kernel, I discovered that CONFIG_SCHED_SMT has become enabled -- huh, that is sneaky, I always use the .config file from the previous compile, so somewhere recently, the kernel developers have chosen to over-rule me.

Looked, CONFIG_SCHED_SMT was not enabled in the 4.14.81 compile. So they have done it in a more recent kernel. Cr*p, now will have to recompile it. 

Note, way back in the early days when I was first compiling the kernel for multi-core CPUs, SMT (hyperthreading), which simulates more than one core for each actual core, was causing file corruption. So, disabled it, and never trusted it after that. 

EDIT 2018-12-10
OK, I found the retpoline patch was introduced in 4.14.82, and using the .config from 4.14.81, was able to configure with retpoline disabled, and also SMT disabled. Fine, so using that kernel now.

Took another look at the 4.14.87 kernel, wondering why SMT was forced enabled. I found out why:

Processor type and features
[ ] SMT (hyperthreading) scheduler support

...is missing!!! Yep, not there. Has it been moved? Hunted around, couldn't find it. So, for now, staying with 4.14.82. 

EDIT 2018-12-16
Kernel 4.14.88 came out, and I discovered CONFIG_SCHED_SMT is still forced on, so looked back through the kernel changelog, and found that it is deliberate. I have sent an email to the guy to contributed the patch, and cc'ed all of those who signed-off on it. This is the email:

Mr Gleixner,
I was upset when I compiled 4.14.87 found that SCHED_SMT had been forced on. At the time, I just reported it to my blog, and posted a question about it to a couple of forums, and stayed with an earlier kernel.

However, when 4.14.88 came out, and still the same situation, alarm bells went off, and I looked through the kernel changelog. Found it, 4.14.86:

"x86/Kconfig: Select SCHED_SMT if SMP enabled"

Then:

"CONFIG_SCHED_SMT is enabled by all distros, so there is not a real point to
    have it configurable. ..."

...that is a lie. It would be correct to state that is true of the distros you use, and presumably also for all of you guys who signed off on it.

Puppy Linux is an example of a distro that has mostly not had SCHED_SMT enabled. Ditto for most of the forks of Puppy. Two distros that I currently maintain, Quirky and EasyOS (easyos.org) have SMP enabled but not SCHED_SMT.

The difference between them is important, they should remain independently settable. I am so surprised that all of you guys went along with forcing it on.

For the record, my blog post:

http://bkhome.org/news/201812/kernel-41487-compiled.html

Regards,
Barry Kauler

The kernel changelog is here:

https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.86  

If you would like to provide some input, there is a forum thread here:

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

Tags: easy

CUPS+Gutenprint printing fixed

December 09, 2018 — BarryK

I reported yesterday that printing to my Canon MX310 printer does not work, using the CUPS+Gutenprint driver (which is what the CUPS web interface automatically selects):

http://bkhome.org/news/201812/canon-mx310-mfp-rescued-from-road-verge.html

The error-log showed "gs: no such file or directory", which I thought that I had fixed by creating a symlink, but no, the error is still in the log. But, ghostscript is installed, and 'gs' is there, at /usr/bin/gs.

Then a thought occurred: 'cups-filters' is compiled in 'oe-qky-src', my fork of OpenEmbedded. The 'ghostscript' package in oe-qky-src does not install 'gs', it installs 'gsc' and it is in Woof where I create a symlink, 'gs' to 'gsc'.
It could be that during configuration of the source, cups-filters cannot determine where 'gs' is and this is causing the failure to find it in the running EasyOS.

Anyway, I compiled the latest 'cups-filters', version 1.21.5, which also required 'qpdf' to be bumped to 8.2.1, and yay, printing works!

I have made both of those into PETs, which will be used in the next release, 0.9.11, but soon will have to go back to oe-qky-src and sort out what has gone wrong with configuring cups-filters.

So, good news. I am very tempted to buy ink cartridges, just so that I can see something printing! Officeworks has them:

https://www.officeworks.com.au/shop/officeworks/p/canon-pg-37-ink-cartridge-black-capg37bk

https://www.officeworks.com.au/shop/officeworks/p/canon-pg-40-ink-cartridge-black-capg40bk

...they are black. Duo, black and tri-colour cartridges:

https://www.officeworks.com.au/shop/officeworks/p/canon-pg-40-and-cl-41-ink-combo-pack-ca4041com

Some inkjet printers won't work with only a black cartridge, which was the situation with mine 10 years go -- a nasty trick by the manufacture. Hopefully the Canon will print with just the black cartridge, so I would have to spend AU$35 ...that would be an indulgence, as I hardly ever need to print these days. 

EDIT 20181210:
Have updated and recompiled 'ghostscript', 'poppler', 'qpdf' and 'cups-filters' in oe-qky-src:

https://github.com/bkauler/oe-qky-src/commits/master

...and built a pre-release of Easy 0.9.11, printing to the Canon MX310 works.  So, no need to use the PETs. 

Tags: easy