site  contact  subhomenews

Install page updated for fixed rEFInd

July 09, 2020 — BarryK

Refer to the previous blog post:

https://bkhome.org/news/202007/refind-patch-for-ext4-fscrypt.html

As ext4 driver is now fixed, I have updated this tutorial page:

https://easyos.org/install/install-to-pc-with-existing-refind-boot-manager.html

There are other pages that need to be updated, will get to those sometime. 

Tags: easy

rEFInd patch for ext4 fscrypt

July 08, 2020 — BarryK

rEFInd is a boot manager for computers with UEFI firmware, which usually means x86_64 PCs. The author, Roderick, has a home page for rEFInd, with detailed documentation:

https://www.rodsbooks.com/refind/

And the project source code is hosted here:

https://sourceforge.net/projects/refind/files/

Early in 2019, I discovered a problem with the ext4 driver in rEFInd, that severely limited it's usefulness with EasyOS:

https://sourceforge.net/p/refind/discussion/general/thread/6cfc10d3c2/

...I did contact the author of the driver, but he declined to get involved with it again.

So, time went by, and I was hoping that someone would fix the ext4 driver. But no one did, so today decided to tackle it myself.

But I got help. I found this post by Grub developer Eric:

https://lists.gnu.org/archive/html/grub-devel/2017-06/msg00031.html

Which showed me how to do it. I have created a patch for rEFInd version 0.12.0, 'refind-ext4-fscrypt.patch':

diff -Naur refind-0.12.0ORIG/filesystems/fsw_ext4.c refind-0.12.0/filesystems/fsw_ext4.c
--- refind-0.12.0ORIG/filesystems/fsw_ext4.c 2017-05-26 21:19:44.000000000 +0800
+++ refind-0.12.0/filesystems/fsw_ext4.c 2020-07-08 08:50:16.213221072 +0800
@@ -141,7 +141,8 @@
if (vol->sb->s_rev_level == EXT4_DYNAMIC_REV &&
(vol->sb->s_feature_incompat & ~(EXT4_FEATURE_INCOMPAT_FILETYPE | EXT4_FEATURE_INCOMPAT_RECOVER |
EXT4_FEATURE_INCOMPAT_EXTENTS | EXT4_FEATURE_INCOMPAT_FLEX_BG |
- EXT4_FEATURE_INCOMPAT_64BIT | EXT4_FEATURE_INCOMPAT_META_BG)))
+ EXT4_FEATURE_INCOMPAT_64BIT | EXT4_FEATURE_INCOMPAT_META_BG |
+ EXT4_FEATURE_INCOMPAT_ENCRYPT)))
return FSW_UNSUPPORTED;

if (vol->sb->s_rev_level == EXT4_DYNAMIC_REV &&
diff -Naur refind-0.12.0ORIG/filesystems/fsw_ext4_disk.h refind-0.12.0/filesystems/fsw_ext4_disk.h
--- refind-0.12.0ORIG/filesystems/fsw_ext4_disk.h 2015-11-30 02:54:48.000000000 +0800
+++ refind-0.12.0/filesystems/fsw_ext4_disk.h 2020-07-08 08:47:29.526557586 +0800
@@ -400,6 +400,7 @@
#define EXT4_FEATURE_INCOMPAT_BG_USE_META_CSUM 0x2000 /* use crc32c for bg */
#define EXT4_FEATURE_INCOMPAT_LARGEDIR 0x4000 /* >2GB or 3-lvl htree */
#define EXT4_FEATURE_INCOMPAT_INLINEDATA 0x8000 /* data in inode */
+#define EXT4_FEATURE_INCOMPAT_ENCRYPT 0x10000 /* BK ext4 fscrypt encryption */

#define EXT4_FEATURE_INCOMPAT_SUPP (EXT4_FEATURE_INCOMPAT_FILETYPE| \
EXT4_FEATURE_INCOMPAT_RECOVER| \

Simple, and it works!

OK, the practical significance of this fix...

If we want a working-partition with encrypted folders support, which is highly desirable, as if your drive with EasyOS on it is stolen, no one will be able to read the content. It does require entry of a password at bootup, but I reckon that is a small price to pay.

The problem was, if encryption is enabled in the ext4 filesystem, rEFInd did not recognise that partition. This meant that the boot-partition had to be in some other partition -- that would have the 'vmlinux', 'initrd' and 'easy.sfs' files.

Now, boot-partition and working-partition can be the same. For example, say that you have /dev/sda9, with ext4 f.s., and you have run 'tune2fs -O encrypt /dev/sda9' to enable encryption of folders. And run 'dumpe2fs /dev/sda9' to see if encryption is enabled ("encrypt" will be in "Filesystem features"). You want to install EasyOS to sda9, and have both boot-partition and working-partition in sda9.

Now if you create two folders 'boot' and 'easyos' in /mnt/sda9, and copy 'vmlinuz', 'initrd' and easy.sfs' into 'boot', then click on 'initrd' to setup 'BOOT_SPECS' file correctly, you are good-to-go, just need to edit /EFI/BOOT/refind.conf in the esp partition, like this:

menuentry "EasyOS Buster TEST (wkg-part sda9)" {
volume hdd96gb2
loader /boot/vmlinuz
initrd /boot/initrd
ostype Linux
options rw
}

Where the "volume" parameter is the filesystem label, reported by 'blkid':

# blkid /dev/sda9
/dev/sda9: LABEL="hdd96gb2" UUID="22b8fd34-d453-46c2-9ecf-d65b344a3be7" TYPE="ext4"

Fantastic! If you want to read more about how to install EasyOS:

https://easyos.org/tag_install.html   

Tags: easy

French translation for welcome image

July 01, 2020 — BarryK

Forum member esmourguit normally maintains the French langpack for EasyOS, however, I have made a little contribution.

There is a script, /usr/share/doc/easy/welcome.sh, that generates /usr/share/doc/easy/welcome_<language>.htm (for example, welcome_fr.htm), and /usr/share/doc/welcome.htm is a symlink to it.

One of the new features in welcome.htm is an image of the EasyOS desktop with translated text superimposed on top of it, a technique contributed by L18L:

https://bkhome.org/news/202006/translated-image-in-welcome-page.html

Esmourguit has suggested some more changes to welcome.sh, to redirect some of the online URL links to French translations, but that change is on hold for now, I want to think about it a bit more.

What I have contributed is translation of the superimposed text over the image, to /usr/share/locale/fr/LC_MESSAGES/easyhelp.mo. I went back to basic principles, and uncompiled easyhelp.mo:

# msgunfmt easyhelp.mo > easyhelp.po

I then opened easyhelp.po in Geany and inserted these translations:

msgid "Easy Operating System"
msgstr "Système d'exploitation Easy"

msgid "Containerized<br>apps"
msgstr "Applications<br>conteneurisées"

msgid "Install<br>mega-apps"
msgstr "Installer des<br>méga-applis"

msgid "Menu: bottom-left of screen,<br>or<br> right-click on desktop"
msgstr "Menu:<br>en bas à gauche de l'écran<br>ou clic droit sur le bureau"

msgid "Share files & printers<br>over the network"
msgstr "Partager des fichiers<br>et des imprimantes<br>sur le réseau"

msgid "Connect to the Internet"
msgstr "Connecter à Internet"

Then recompiled the file:

# msgfmt --check --output-file=easyhelp.mo easyhelp.po

And copied easyhelp.mo to langpack_fr-20200701/usr/share/locale/fr/LC_MESSAGES/easyhelp.mo, that is, into the French langpack PET, which is now version 20200701. 

Tags: easy

GParted reverted to version 0.33.0

June 30, 2020 — BarryK

EasyOS 2.3.2 has GParted 1.0.0, which requires gtk3 and gtkmm3. It works OK, just found one bug, but, I have decided to go back to the last version that supports gtk2, which is 0.33.0.

Plus one patch:

https://aur.archlinux.org/packages/gparted-f2fs-patch/

OK, I'm a luddite, clinging onto gtk2. A major feature in 1.0.0 is improved f2fs resize/move, have to forgo that.

I have named the PET "gparted0" so as to distinguish it from the 1.x series, and 0.33.0 will be in the next release of EasyOS. Saves about 6MB, as don't need the libgtkmm3 package. 

Tags: easy

fftag version 1.5e

June 30, 2020 — BarryK

fftag is a GUI app for editing metadata, extracting audio from video files and ripping CDs, created and maintained by Jason (plinej in the forum). Forum thread:

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

EasyOS has version 1.4a, now the PET is updated to 1.5e. 

Tags: easy

ffplay-gtk version 1.9

June 30, 2020 — BarryK

ffplay-gtk is a GUI frontend for the 'ffplay' CLI media player, which is part of the 'ffmpeg' package.

ffplay-gtk was created and is maintained by Jason (plinej in the forum), and has just been bumped to version 1.9, see forum thread:

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

EasyOS currently has version 1.6, so I have updated the PET. 

Tags: easy

German langpack updated

June 29, 2020 — BarryK

I would like to thank Lutz (L18L in the forum) for updates to the German langpack for EasyOS and EasyPup.

Lutz created translation for the image in the "welcome" page, see earlier blog post:

https://bkhome.org/news/202006/translated-image-in-welcome-page.html

Lutz also updated translation for some other apps and utilities, and I have applied these to the langpack, it is now 'langpack_de-20200629.pet' and will be used to build the next German release of EasyOS and maybe EasyPup.

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

Tags: easy

Ccrypt file encryption GUI

June 24, 2020 — BarryK

EasyOS has a GUI frontend for the 'bcrypt' file encryption utility, in the "Personal" menu category. Alfons reported that it does not work.

Yes, the Debian maintainers have disabled encryption, only allowing decryption, as they have deemed it to be a very insecure encryption method.

I have modified the script to use the 'ccrypt' utility. This will also be in the "Personal" category in the menu. The new GUI frontend is /usr/sbin/ccrypt_gui.

Ccrypt project page:

http://ccrypt.sourceforge.net/ 

Tags: easy