New keyboard hardware profiling
Today I posted about a fix for keyboard layout:
https://bkhome.org/news/202311/trying-to-fix-console-keymap-stuck-on-us.html
After doing that, remembered a problem that someone reported, a long time ago; probably at least a year ago...
They were booting Easy on a USB-stick, on different computers. One computer had a "us" layout keyboard, so they configured Easy for that. But then booted up on a computer with "fr" layout; however, Easy is not aware of the change and still thinks it is "us" layout. This will cause a problem if have to enter a password at bootup, and after bootup an app will have to be run to change the keyboard layout to "fr".
I have posted about hardware profiling support in Easy; scoll down this page:
https://easyos.org/about/how-and-why-easyos-is-different.html
I have now added keyboard hardware detection. It cannot detect if a keyboard layout has changed. It just detects if there is a different keyboard, and if so will ask for keyboard layout at early bootup in the initrd.
When you update to Easy 5.6.4, after bootup you will see these files:
/etc/keymap
/mnt/wkg/sfs/settings/initrd/keymap.LenovoLenovoCalliopeUSBKeyboard
...that last one is just an example. The "LenovoLenovoCalliopeUSBKeyboard" part is the keyboard hardware profile.
If you bootup on a computer with that profile, then that keymap will be used. If the file doesn't exist, then you will be asked for keyboard layout, then the keymap.profile file will get created.
It isn't perfect, as there could be two computers with different layouts but identifying themselves with the same keyboard name. But, it is a big step in the right direction. You should be able to bootup the USB-stick on different computers and the correct keyboard layout will be automatically loaded.
Here are the github commits:
https://github.com/bkauler/woofq/commit/63e51bb67d4ceefe00e00ad6b8d6c38352f5cefd
https://github.com/bkauler/woofq/commit/bfa37b707322a3c1ceed723ccdf8d5c3024a8bda
There is a small downside; if you bootup on a different computer
with the same keyboard layout, you are still going to be asked for
the layout. But that will be once-only, then it will be
remembered. Same if you change the keyboard; say, plug in a USB
keyboard on a laptop; the change will cause to ask for layout.
Tags: easy
Trying to fix console keymap stuck on us
Forum member vVerve reported a problem with the virtual keyboard app xvkbd; he wanted French, but it was something else. Trying to figure out the cause of the problem, I asked what is in /etc/keymap:
https://forum.puppylinux.com/viewtopic.php?p=103479#p103479
...he replied that it has "us".
There are various places where the keyboard layout is asked for. In the initrd at pristine very first bootup, in the QuickSetup window after have the desktop in very first bootup. And, anytime after, can run QuickSetup from the menu "Setup -> QuickSetup", or from the menu "Setup -> Mouse/Keyboard setup" -- or via the "setup" icon on the desktop; "Hardware -> HID".
Whatever route is taken to choose keyboard layout, it results in writing to /etc/keymap
There is, however, a potential conflict. When keyboard layout is asked for at first bootup in the initrd, the choice gets saved in /mnt/wkg/sfs/settings/initrd/CONFIG
These two should remain synced, but they can get out of sync, causing a problem, including perhaps /etc/keymap getting reset to "us".
I have made some changes to keep them sync'ed:
https://github.com/bkauler/woofq/commit/f12d153829595ce986c58ff3c85860cd613c43d1
Tags: easy
Abort load NVIDIA SFS if GPU missing
Federico posted that loads an NVIDIA SFS with Easy booted on a USB-stick on one computer, but when boot on another computer that does not have NVIDIA GPU, openGL is broken:
https://forum.puppylinux.com/viewtopic.php?p=104137#p104137
I posted recently that an NVIDIA SFS is now provided for Easy, installable via SFSget:
https://bkhome.org/news/202311/automatic-nvidia-sfs-updating.html
https://bkhome.org/news/202311/kernel-515138-compiled-and-nvidia-sfss-updated.html
I have modified the 'init' script in the initrd, so that if boot on a computer without NVIDIA GPU, then the SFS won't load:
https://github.com/bkauler/woofq/commit/0f0219f4ebf827c5831384ffbdf1f993cc3672cd
The new code is at line 1899:
#20231124 for nvidia.sfs check that nvidia gpu exists...
case "$ANAME" in
nvidia*)
lspci | grep -qF 'Class 10de:' #note, requires busybox lspci
if [ $? -ne 0 ];then
echo -e "\\033[1;31m${S400}\\033[0;39m" #red 'No NVIDIA GPU detected, so will not load NVIDIA SFS'
continue
fi
;;
esac
So, if boot up on another computer without NVIDIA GPU, the SFS will not load, and the situation will be as if the SFS was never ever loaded.
As long as you haven't made any manual changes, such as
blacklisting the 'i915' kernel driver. Blacklisting is taken care
of by /etc/modprobe.d/nvidia.conf in the SFS, so if the SFS is not
loaded then also the backlisting of i915 and nouveau won't
happen.
Tags: easy
EasyOS frugal install tutorial page updated
A couple of posts recently on the forum have made me realise that the installation pages need some improving. Example, this post, the chap cannot see how to create an entry for GRUB4DOS:
https://forum.puppylinux.com/viewtopic.php?t=9973
I have edited the "Easy frugal installation" page, which is primarily for legacy-BIOS computers, updated it and filled in some gaps that were missing from the explanations:
https://easyos.org/install/easy-frugal-installation.html
Tags: easy
EasyOS Kirkstone-series version 5.6.3 released
Version 5.6.2 was released on November 12, see blog announcement:
https://bkhome.org/news/202311/easyos-kirkstone-series-version-562-released.html
The release notes for 5.6.3:
https://distro.ibiblio.org/easyos/amd64/releases/kirkstone/2023/5.6.3/release-notes.htm
Reproducing the highlights here:
- Kernel 5.15.138 compiled and NVIDIA SFSs updated — November 16, 2023
- Fixed path bug in Limine Installer — November 16, 2023
- Enable client app to run web browser — November 15, 2023
- Blender SFS fixed for usr-merge — November 15, 2023
- Planner project planner compiled in OE — November 14, 2023
- Linux kernel source SFS filtering — November 12, 2023
- HexChat serverlist update — November 12, 2023
Download:
https://distro.ibiblio.org/easyos/amd64/releases/kirkstone/2023/5.6.3/
Mirror courtesy of NLUUG:
https://ftp.nluug.nl/os/Linux/distr/easyos/amd64/releases/kirkstone/2023/
If updating from 5.6.2, the difference-file is only 41MB, so an easy update.
Feedback welcome at the forum:
https://forum.puppylinux.com/viewtopic.php?p=103636#p103636
Have fun!
Tags: easy
Kernel 5.15.138 compiled and NVIDIA SFSs updated
Easy 5.6.2 has the 5.15.137 Linux kernel. I was intending to stay with that kernel version for sometime, as there are inconveniences when bump the kernel. However, forum member don570 reported that some NVIDIA kernel modules are missing:
https://forum.puppylinux.com/viewtopic.php?p=103177#p103177
Yes, when I compiled the NVIDIA driver, disabled "peermem" and "uvm". So, have bumped the kernel to 5.15.138 and modified the script that compiles NVIDIA to enable those two missing features.
So now there are NVIDIA SFSs compiled for the 5.15.138 kernel:
https://distro.ibiblio.org/easyos/amd64/packages/sfs/easyos/oe/kirkstone/
...which you can install via SFSget (via the "pkg" icon) when running Easy 5.6.3. Or, if you have already installed the NVIDIA SFS in Easy 5.6.2, then when update Easy (via the "update" icon) then there should, in theory, be an offer to also update the NVIDIA SFS. This mechanism was reported several days ago:
https://bkhome.org/news/202311/automatic-nvidia-sfs-updating.html
The intention now is when Easy 5.6.3 is released, with 5.15.138 kernel, to stay with that kernel version well into the future.
Here are the kernel and nvidia sources, patches and build scripts:
https://distro.ibiblio.org/easyos/source/kernel/5.15.x/5.15.138-20231116/
It looks like Easy 5.6.3 will be released
soon.
Tags: easy
Fixed path bug in Limine Installer
Forum member libertas reported getting grep errors when running
limine-installer in a terminal. See discussion here:
https://forum.puppylinux.com/viewtopic.php?t=9933
Found the cause. I don't think that it affected finding of Linux installations. Fix commit:
https://github.com/bkauler/woofq/commit/e074e4b4e13b4a6e61a90cf8bf8ddf6f6b210c7c
Tags: easy
Enable client app to run web browser
I installed Blender SFS to the main filesystem. Blender runs as user "blender", with home folder /home/blender.
I clicked the menu entry to view the Blender User Manual in the web browser, but nothing happened.
The problem is that Blender is running as user "blender", so cannot execute the default web browser, which is Chromium. Chromium is another client app, running as user "chromium" (with home folder /home/chromium).
The way for a non-root client app to run another non-root client app, is to bootstrap up to the root user, then run Chromium. Many apps, including Flatpaks and Appimages, use the 'xdg-open' utility to run the web browser. If you look at /usr/bin/xdg-open, which is a script, you will see that if it is called as a non-root user, it requests, via 'sudo-sh' to bump up to root. This is a little gui window that asks for the root password. More explanation of sudo-sh here:
https://bkhome.org/news/202306/light-weight-replacement-for-sudo.html
However, Blender does not call 'xdg-open'. Instead, it queries xdg-settings, like this:
# xdg-settings get default-web-browser
chromium.desktop
Blender will then try to run /usr/bin/chromium, which will fail. Only the root user can run /usr/bin/chromium, so that it can drop down to user "chromium" then run Chromium.
This is now fixed, see github commit:
https://github.com/bkauler/woofq/commit/8bff75c49d20559d1f80317a5ab78d733f57b967
This is good, as it will also fix many other non-root client apps
that try to launch the browser, or run any other client
app.
Tags: easy