site  contact  history  index

The mysterious missing iwl-debug-yoyo.bin firmware

July 12, 2020 — BarryK

As reported a couple of days ago, I am testing kernel 5.8-rc4:

https://bkhome.org/news/202007/kernel-58-rc4-compiled.html

Running 'dmesg' reports that failed to load firmware 'iwl-debug-yoyo.bin':

iwlwifi 0000:04:00.0: Direct firmware load for iwl-debug-yoyo.bin failed with error -2

After much searching, I failed to find it, nor any explanation about what it is for, or even whether it is really needed. Well, it isn't needed, as my wifi works. Wolfram has been through the same fruitless search, and has proposed a patch to remove that failure message:

https://lkml.org/lkml/2020/6/25/625

if the issue still exists when we get to the 5.8.1 kernel, and if that firmware still remains elusive, then I will probably apply that patch. 

Tags: easy

PETget Package Manager supports zstd

July 12, 2020 — BarryK

The PPM was originally "Puppy Package Manager", but I have named it "PETget" in EasyOS, but you can still call it the PPM.

Arch Linux packages are now using zstd compression, and are named with ".pkg.tar.zst" extension.

I have added support for .pkg.tar.zst and .tar.zst to PETget. The modified scripts are installpkg.sh, petget and verifypkg.sh, in path /usr/local/petget.

I posted yesterday about mime-handling and Xarchive support added for zstd:

https://bkhome.org/news/202007/mime-handling-for-zstd.html 

Tags: easy

Mime handling for zstd

July 11, 2020 — BarryK

EasyOS has the zstd utility, however lacks proper mime handling. Like, assigning a mime-type, handling when click on a .zst or .zstd file, support in Xarchive.

I have run out of steam to explain all the changes, just take it as done.

Zstd mime type:

https://www.iana.org/assignments/media-types/application/zstd

Thanks to peebee for zstd support in Xarchive:

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

...I only used the Xarchive wrapper, usr/lib/x86_64-linux-gnu/xarchive/wrappers/tar-wrap.sh, from peebee's tarball. All of the mime-handling I implemented independently.

Note, /usr/local/bin/pkghandler.sh has been expanded to handle all tarball types, that is, .tar.gz, .tgz, .tar.xz, .txz, .tar.bz2, .tbz2, .tar.zstd, .tar.zst. A left mouse click on any of these file types will run 'pkghandler', which tests whether the tarball is a binary package (is not a source package) and if so, asks if want to install it or open it in Xarchive. If not a binary package, immediately opens in Xarchive.   

Tags: easy

Kernel 5.8-rc4 compiled

July 11, 2020 — BarryK

I am interested in the changes to procfs in the 5.8 kernel, to enhance container security. The plan is that the next release of EasyOS will be after the 5.8.1 kernel is released. For now, getting started...

I started with the '.config' file for the 5.4.47 kernel, as used in EasyOS 2.3.2. Enabled some more drivers, in addition, made some changes, here are the highlights:

General setup
[*] Boot config support CONFIG_BOOT_CONFIG Documentation/admin-guide/bootconfig.rst
Processor type and features
[*] IOPERM and IOPL emulation CONFIG_X86_IOPL_IOPERM
Networking support --> Bluetooth subsystem support
[*] Enable Microsoft extensions CONFIG_BT_MSFTEXT
Networking support
[*] Netlink interface for ethtool CONFIG_ETHTOOL_NETLINK
Device Drivers --> PCI support
[ ] Support for PCI hotplug CONFIG_HOTPLUG_PCI REMOVED
Device Drivers --> Generic Driver Options --> Firmware loader
[*] Enable firmware caching during suspend CONFIG_FW_CACHE
Device Drivers
< > Memory Technology Device (MTD) support CONFIG_MTD REMOVED
Device Drivers --> Block devices
(65536) Default RAM disk size (kbytes) CONFIG_BLK_DEV_RAM_SIZE Increased from 32768
Device Drivers --> Pin controllers
<*> Intel Ice Lake PCH pinctrl and GPOI driver CONFIG_PINCTRL_ICELAKE
<*> Intel Jasper Lake PCH pinctrl and GPIO driver CONFIG_PINCTRL_JASPERLAKE
<*> Intel Tiger Lake pinctrl and GPIO driver CONFIG_PINCTRL_TIGERLAKE
Device Drivers --> Hardware monitoring support
<m> Hard disk drives with temperature sensors CONFIG_SENSORS_DRIVETEMP

Some of those, I don't know anything about, but look interesting. "Boot config support" for example.

Also went on a big hunt for firmware for the 5.8 kernel, and have created a new PET (59MB):

http://distro.ibiblio.org/easyos/noarch/packages/pet/pet_packages-noarch/firmware_linux_all_k5p8-5.8.0-20200711.pet

Using the 5.8-rc4 kernel right now. Had to fix the aufs patch, and getting an iptables error at bootup. Other than that, seems OK. 

Tags: easy

Android phone data transfer fixed

July 10, 2020 — BarryK

Some time ago, someone reported being unable to connect to their Android phone, running EasyOS. The desktop has a "share" icon, that is supposed to make it easy to setup file transfer and printing over a network, and file transfer with a Android phone connected via USB cable.

There was also a report of a problem with Samba, I think, so checking that is on the to-do list ...um, perhaps that report was for EasyPup.

Anyway, for now have tackled Android connectivity. I ran "easyshare" in a terminal, and immediately discovered the problem: the 'adb' utility is missing.

Debian developers have been changing package names again. The DEB package 'android-tools-adb' used to have the 'adb' utility, but no longer. Now we need the 'adb' DEB plus some dependencies.

Having done that, connection with my LG Nexus 5 works.

I added an extra bit of information in the GUI. When an ADB connection is attempted from a device that the phone has not connected to before, it pops up a confirmation dialog on the phone screen. If you fail to acknowledge that popup, EasyShare reports nothing, that is, no phone, found. I have changed this so that EasyShare reports the phone is found but you haven't authorized the connection on the phone screen.

Another bug bites the dust! 

Tags: easy

EasyDD color fix in terminal

July 09, 2020 — BarryK

I received an email from Bob, testing EasyDD in Ubuntu. he reports it works great, but when writing to USB-stick, the terminal window has bright-yellow background and light-grey text, making the text very difficult to read.

EasyDD searches for a suitable terminal emulator utility in the host OS, in order of:

  1. VTE terminal builtin to gtkdialog
  2. rxvt
  3. urxvt
  4. xterm
  5. gnome-terminal

For items 1 and 5, the default background and foreground colours are used, that is, no attempt is made to change them in the EasyDD script.

For items 2, 3 and 4, the terminal is executed with the "-bg '#ffff80'" commandline option, which is light-yellow background. The default text colour is used, which in EasyOS is black.

However, in other distros the default text may be some other colour, such as light-grey in Bob's case.

I have now explicitly set the foreground colour to black, with the "-fg '#000000'" commandline option.

The latest EasyDD is here:

https://bkhome.org/files/easydd.gz

If you are new to EasyDD, read about it here:

https://bkhome.org/linux/easydd-write-image-file-to-drive.html

Just an extra note, for gnome-terminal, setting the background and foreground colours on-the-fly, on the commandline execution, isn't possible. Instead, have to jump through hoops:

https://unix.stackexchange.com/questions/133914/set-gnome-terminal-background-text-color-from-bash-script

...yikes! Haven't bothered, just using the defaults.    

Tags: easy

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