site  contact  subhomenews

Wcpufreq 0.8.4

December 07, 2017 — BarryK

Quirky and Easy builds, indeed most pups I think, have Wcpufreq, CPU frequency scaling tool, created by 'tazoc'.

There is some confusion about which is the latest version. Also, there is a problem with the 4.13 kernel. Also, a problem with the 'intel_pstate' kernel module.

We have been discussing these issues here:

This has resulted in my release of 0.8.4, see forum post:

And here is the PET (39KB):

My kernel is configured with intel_pstate disabled, so don't have to worry about that.

Tags: easy, quirky

Easy OS 0.6 pre-alpha released

October 18, 2017 — BarryK

The latest version of Easy Linux has been uploaded:

The frontpage for Easy is here:

These pages have been updated for 0.6:

Tags: easy

Kmap layout for Latin-American

October 18, 2017 — BarryK

It has been a long time since I worked with the keyboard layout files, had to relearn a few things.

In Quirky 8.3, Forum member ottod reported difficulty with selecting the Latin-American keyboard layout. I responded here:

But then it got me thinking. Quirky and Easy use Busybox "kmap" layout files, and these were originally converted from the format used in the "kbd" package (by the Tiny Core developers). A PET of these converted kmap files is here:

Quirky and Easy have the kmap files in /lib/keymaps. Looking in the PET (from above link), I found "la-latin1.kmap", which is Latin-American!

So, I have put that into woofQ, at rootfs-skeleton/lib/keymaps/la-latin1,gz, and have modified QuickSetup (/usr/sbin/quicksetup) to show that in the keyboard layout drop-down list, identifying it as Latin-American.

/lib/keymaps has console layouts. This is different from layout when Xorg is running. Xorg layouts are in /etc/X11/xkb, and the Latin-American layout is named "latam" -- see /etc/X11/xkb/symbols/latam.

QuickSetup handles the mapping of console layout names to Xorg names, and I have added automatic mapping of "la-latin1" to "latam" when X starts.

Just for the record, any layout file from the "kbd" package can be converted to Busybox kmap format:

You can get kbd from here:

Or install it via the package manager.

The conversion goes something like this:

# loadkeys /usr/share/kbd/keymaps/i386/
# dumpkmap > something.kmap
# mv something.kmap /lib/keymaps/something
# cd /lib/keymaps
# gzip something

...I think that looks right, haven't tried it, not for a zillion years.

Tags: easy

Running Easy in RAM

October 15, 2017 — BarryK

Forum member belham2 posted about the possibility of running Easy in RAM. What he means, is that bootup from USB-stick, then Easy running totally in RAM and able to unplug USB-stick.

Easy 0.6 (coming soon) kind of does this. You can take a snapshot of the current session (see Filesystem -> Easy Version Control), then edit the kernel boot parameters, insert "qfix=bak".
This will cause a rollback to the snapshot at every bootup.

That is a reasonable security measure.

If you really want to be able to unplug the USB-stick after bootup, for a perceived greater security, that can also be done, using zram.

I have implemented support for zram, for the upcoming 0.6.

In the BOOT_SPECS file in initrd.q, if you put "WKG_PARTNUM=0", the init script in initrd.q will take that to mean /dev/zram0, and will set that as the working partition.

This will of course mean a pristine bootup each time, no saved session. So, if you want to have network setup, etc., pre-configured, you would have to remaster Easy (see Setup -> Remaster Easy Linux), then set "WKG_PARTNUM=0".

Personally, I prefer the first technique. There is a perception that the second technique would be more secure. I will need to think more on that.

Forum post:

Tags: easy

XkbConfigurationManager patched

October 15, 2017 — BarryK

Puppy Forum member lp-dolittle reported a problem with setting the Swiss-German keyboard layout. I responded:

I was browsing around in the Forum, reading old posts about XkbConfigurationManager, and came across this post from npierce, dated February 4, 2012:

Then I realised that those patches, submitted in 2012, have still not been applied to XkbConfigurationManager!

Not mine in woofQ anyway. What about woof-CE? -- no, XkbConfigurationManager is not in woof-CE, it is a separate PET:, it does not have those patches. But then, that PET is still using xorg.conf, so perhaps is no longer used in Puppy builds.

Anyway, after an incredible delay of five years, I have applied the patches from npierce. I have XkbConfigurationManager in rootfs-skeleton/usr/local/apps/XkbConfigurationManager in woofQ.

...I will have to tell npierce about this! Haven't "seen" him on the Forum for a long time though.

Tags: easy

Getting started with Easy has become easy

October 10, 2017 — BarryK

Good documentation is the key to getting people interested and using Easy OS.

There was a bit of a gap, right at the start: how to download the Easy OS file and write it to a USB Flash drive. That gap is now filled:

For those already running Linux, whatever distro, the EasyDD script makes it very easy to write the Easy OS file to a USB drive. The above link also covers those running Windows.

The above link also has a download link to the latest version of EasyDD.

The overview/intro page for Easy has also been updated:

Tags: easy

EasyDD improved, instructions uploaded

October 09, 2017 — BarryK

I am filling the gap in the tutorials for EasyOS. There is more to be done, but one big gap is the lack of a simple Linux tool to write the EasyOS image-file to a USB-drive.

I have improved EasyDD, so that in CLI (commandline) mode, it will run on any Linux distro. The improved EasyDD can be downloaded from here:

Although it is extremely easy to use, some instructions are necessary, especially if you are somewhat unfamiliar with using Linux from the commandline, or using some other Linux distribution that obfuscates this kind of operation. Here is the simple how-to:

So, it should be a simple matter of downloading the image-file, run the script, or if running Windows, there are GUI apps available to write the image-file to the USB-stick.

The next thing to do is to get your PC to boot the USB-stick, and the above how-to has a link to a tutorial. Repeating it here:

Have fun!

EDIT 2017-10-09:

EasyDD has been improved, and at a new download location. There is also a new how-to. See this blog post:

Tags: easy

EasyOS now using rEFInd boot manager

October 08, 2017 — BarryK

The Easy image file, that is written to a USB-stick, now uses rEFInd for booting on UEFI-firmware computers.

The boot-partition in the USB-stick now has /EFI/BOOT/BOOTX64.EFI and /EFI/BOOT/refind.conf. It is so simple.


I compiled rEFInd from source, from here:

And applied a patch, to modify the boot menu a bit:

diff -Naur refind-code-20171008-ORIG/refind/config.c refind-code-20171008/refind/config.c
--- refind-code-20171008-ORIG/refind/config.c 2017-10-08 08:25:45.280015801 +0800
+++ refind-code-20171008/refind/config.c 2017-10-08 09:42:32.897125655 +0800
@@ -839,7 +839,7 @@
if ((Volume != NULL) && (Volume->IsReadable) && (Volume->RootDir)) {
SubEntry->me.Title = AllocateZeroPool(256 * sizeof(CHAR16));
- SPrint(SubEntry->me.Title, 255, L"Boot %s from %s", (Title != NULL) ? Title : L"Unknown", Volume->VolName);
+ SPrint(SubEntry->me.Title, 255, L"Boot %s (partition label '%s')", (Title != NULL) ? Title : L"Unknown", Volume->VolName);
SubEntry->me.BadgeImage = Volume->VolBadgeImage;
SubEntry->VolName = Volume->VolName;
} // if volume is readable
@@ -901,7 +901,7 @@

Entry->Title = StrDuplicate(Title);
Entry->me.Title = AllocateZeroPool(256 * sizeof(CHAR16));
- SPrint(Entry->me.Title, 255, L"Boot %s from %s", (Title != NULL) ? Title : L"Unknown", CurrentVolume->VolName);
+ SPrint(Entry->me.Title, 255, L"Boot %s (partition label '%s')", (Title != NULL) ? Title : L"Unknown", CurrentVolume->VolName);
Entry->me.Row = 0;
Entry->me.BadgeImage = CurrentVolume->VolBadgeImage;
Entry->VolName = CurrentVolume->VolName;
@@ -923,7 +923,7 @@
if ((CurrentVolume != NULL) && (CurrentVolume->IsReadable) && (CurrentVolume->RootDir)) {
Entry->me.Title = AllocateZeroPool(256 * sizeof(CHAR16));
- SPrint(Entry->me.Title, 255, L"Boot %s from %s", (Title != NULL) ? Title : L"Unknown", CurrentVolume->VolName);
+ SPrint(Entry->me.Title, 255, L"Boot %s (partition label '%s')", (Title != NULL) ? Title : L"Unknown", CurrentVolume->VolName);
Entry->me.BadgeImage = CurrentVolume->VolBadgeImage;
Entry->VolName = CurrentVolume->VolName;
} // if volume is readable
diff -Naur refind-code-20171008-ORIG/refind/main.c refind-code-20171008/refind/main.c
--- refind-code-20171008-ORIG/refind/main.c 2017-10-08 08:25:45.280015801 +0800
+++ refind-code-20171008/refind/main.c 2017-10-08 10:14:47.356718160 +0800
@@ -1169,7 +1169,7 @@
// name is identical except for something added to the end (e.g., VolB1 vs. VolB12).
// Note: Volume->VolName will be NULL for network boot programs.
if ((Volume->VolName) && (!MyStriCmp(Volume->VolName, L"Recovery HD")))
- SPrint(Entry->me.Title, 255, L"Boot %s from %s ", (LoaderTitle != NULL) ? LoaderTitle : LoaderPath, Volume->VolName);
+ SPrint(Entry->me.Title, 255, L"Boot %s (partition label '%s') ", (LoaderTitle != NULL) ? LoaderTitle : LoaderPath, Volume->VolName);
SPrint(Entry->me.Title, 255, L"Boot %s ", (LoaderTitle != NULL) ? LoaderTitle : LoaderPath);
Entry->me.Row = 0;
diff -Naur refind-code-20171008-ORIG/refind/screen.c refind-code-20171008/refind/screen.c
--- refind-code-20171008-ORIG/refind/screen.c 2017-10-08 08:25:45.283349135 +0800
+++ refind-code-20171008/refind/screen.c 2017-10-08 09:01:00.253552568 +0800
@@ -303,7 +303,7 @@

// print header text
refit_call3_wrapper(ST->ConOut->SetCursorPosition, ST->ConOut, 3, 1);
- Print(L"rEFInd - %s", Title);
+ Print(L"EasyOS - %s", Title);

// reposition cursor
refit_call2_wrapper(ST->ConOut->SetAttribute, ST->ConOut, ATTR_BASIC);

Easy needs the "devx" sfs loaded, nothing else needed, run this:

# make gnuefi

Rename refind/refind_x64.efi to BOOTX64.EFI and copy to boot partition.


Here is refind.conf:

timeout 10
textonly on
textmode 0
showtools shutdown,reboot,firmware
#scan_all_linux_kernels off
#scanfor manual,internal
scanfor manual
menuentry "EasyOS" {
loader /vmlinuz
initrd /initrd.q
ostype linux
options rw
submenuentry "Filesystem check" {
add_options "qfix=fsck"
submenuentry "Commandline only, do not start X" {
add_options "qfix=nox"
submenuentry "Rollback to earlier session" {
add_options "qfix=bak"
menuentry "Windows 10" {
volume SYSTEM
loader \EFI\Microsoft\Boot\bootmgfw.efi

This simple config file gives a text-mode display, with automatic scanning disabled. It will only offer to boot EasyOS.

It is very simple to add entries manually. The config file has an example for "Windows 10". It is disabled. To activate it, remove the "disabled" line, and replace "volume SYSTEM" with the label of the Windows ESP (boot) partition -- just run blkid to determine the label. Note, "SYSTEM" is the label of partition mmcblk0p1 in my Mele PCG35 mini-PC.

Or, automatic scanning can be turned on.  Change the "scanfor manual" line to "scanfor manual,internal", and uncomment "scan_all_linux_kernels off" . Hey presto, the boot menu will show all Windows and Linux OSs installed in the PC.

Wonderful! I will be updating the tutorials. This will also work for Easy installed to internal drive.

Tags: easy