Linux Kernel 5.4.72 Release

Posted on

This post summarizes Linux Kernel new features, bugfixes and changes in Linux 5.4.72 Release. Linux 5.4.72 Release contains 23 changes, patches or new features. In total, there are 126,508 lines of Linux source code changed/added in Linux 5.4.72 release compared to Linux 5.4 release. To view the source code of Linux 5.4.72 kernel release online,
Read more

Linux Kernel: Add support for using a MAX3421E chip as a host driver

Posted on

This change “Add support for using a MAX3421E chip as a host driver.” (commit 2d53139) in Linux kernel is authored by David Mosberger <davidm [at] egauge.net> on Mon Apr 28 22:14:07 2014 -0600. Description of “Add support for using a MAX3421E chip as a host driver.” The change “Add support for using a MAX3421E chip
Read more

Linux Kernel: drm/i915/guc: Don’t enable GuC/HuC in auto mode on pre-Gen11

Posted on

This change “drm/i915/guc: Don’t enable GuC/HuC in auto mode on pre-Gen11” (commit 87d855e) in Linux kernel is authored by Michal Wajdeczko <michal.wajdeczko [at] intel.com> on Fri Jul 12 11:14:44 2019 +0000. Description of “drm/i915/guc: Don’t enable GuC/HuC in auto mode on pre-Gen11” The change “drm/i915/guc: Don’t enable GuC/HuC in auto mode on pre-Gen11” introduces changes
Read more

Linux Kernel: PM / clk: Fix clock error check in __pm_clk_add()

Posted on

This change “PM / clk: Fix clock error check in __pm_clk_add()” (commit 3fc3a0b) in Linux kernel is authored by Geert Uytterhoeven <geert+renesas [at] glider.be> on Fri May 8 10:47:43 2015 +0200. Description of “PM / clk: Fix clock error check in __pm_clk_add()” The change “PM / clk: Fix clock error check in __pm_clk_add()” introduces changes
Read more

Linux Kernel: netpoll: fix netconsole IPv6 setup

Posted on

This change “netpoll: fix netconsole IPv6 setup” (commit 00fe11b) in Linux kernel is authored by Sabrina Dubroca <sd [at] queasysnail.net> on Thu Feb 6 18:34:12 2014 +0100. Description of “netpoll: fix netconsole IPv6 setup” The change “netpoll: fix netconsole IPv6 setup” introduces changes as follows. netpoll: fix netconsole IPv6 setup Currently, to make netconsole start
Read more

Linux Kernel: cifs: release auth_key.response for reconnect

Posted on

This change “cifs: release auth_key.response for reconnect.” (commit f5c4ba8) in Linux kernel is authored by Shu Wang <shuwang [at] redhat.com> on Fri Sep 8 18:48:33 2017 +0800. Description of “cifs: release auth_key.response for reconnect.” The change “cifs: release auth_key.response for reconnect.” introduces changes as follows. cifs: release auth_key.response for reconnect. There is a race that
Read more

Linux Kernel 4.19.70 Release

Posted on

This post summarizes new features, bugfixes and changes in Linux kernel release 4.19.70. Linux 4.19.70 Release contains 95 changes, patches or new features. In total, there are 101,521 lines of Linux source code changed/added in Linux 4.19.70 release compared to Linux 4.19 release. To view the source code of Linux 4.19.70 kernel release online, please
Read more

Linux Kernel: ALSA: hda/realtek – Fix Headphone Mic doesn’t recording for ALC256

Posted on

This change “ALSA: hda/realtek – Fix Headphone Mic doesn’t recording for ALC256” (commit d32b666) in Linux kernel is authored by Kailang Yang <kailang [at] realtek.com> on Thu Apr 23 15:10:53 2015 +0800. Description of “ALSA: hda/realtek – Fix Headphone Mic doesn’t recording for ALC256” The change “ALSA: hda/realtek – Fix Headphone Mic doesn’t recording for
Read more

Linux Kernel: fs: handle SEEK_HOLE/SEEK_DATA properly in all fs’s that define their own llseek

Posted on

This change “fs: handle SEEK_HOLE/SEEK_DATA properly in all fs’s that define their own llseek” (commit 06222e4) in Linux kernel is authored by Josef Bacik <josef [at] redhat.com> on Mon Jul 18 13:21:38 2011 -0400. Description of “fs: handle SEEK_HOLE/SEEK_DATA properly in all fs’s that define their own llseek” The change “fs: handle SEEK_HOLE/SEEK_DATA properly in
Read more

Linux User Group Management and Operations

Posted on

Linux allows more than one users to log into the system to run processes/programs at the same time. In order to make this multi-user system work properly, Linux provides ways to isolate and protect users from each other and manage the permissions efficiently. One of the mechanism is user groups. Linux users may be grouped
Read more

Compress PNG Images on Linux

Posted on

PNG images already use DEFLATE data compression algorithm involving a combination of LZ77 and Huffman coding. But the PNG images can be further compressed by removing non-important metadata or using lossy compression to save storage space and/or data transfer bandwidth. In this post, we introduce 2 compression ways with tools available on Linux. Lossless compression
Read more

Make Grub2 Boot Older Kernel Version in Ubuntu 20.04

Posted on

In a Linux system, we may have multiple kernels installed. Usually, it is the latest kernel configured to be the default one the system boot loader will use during automatic boot if there is no manual kernel choosing. In many cases, such as there is no driver ready yet for some devices in newer kernels,
Read more

Add Inline Comments for Multi-line Command in Bash Script

Posted on

In Bash script, it is common that multiple small commands run together connected by pipes (|) and the whole command is quite long. For clarity, we may write the command in multiple lines. How to add comments for these long multi-line commands? In Bash, the content after # in a line is the comment. Using
Read more

Grep 2 Lines using `grep` Command in Linux

Posted on

grep is excellent to match patterns from STDOUT/text files in command line or scripts. It’s handy. Sometimes, our problem is more complex than finding a keyword from a file. On a first thought, it may sound impossible using grep for such complex problems. But grep can be quite powerful than we thought. Today, let’s check
Read more

How to Install Go 1.13.x on Ubuntu 18.04

Posted on

In Ubuntu 18.04 LTS, the default Go lang version is 1.10. For compatibility reason, the Ubuntu LTS will usually keep the major release version numbers for packages. However, many applications, such as Hyperledger Fabric 2.0, require a newer version of Go. In this post, let’s take a look at how to install a system level
Read more

GCC May “Save” You Some Recursive Functions Calls: an Analysis of a Function Call Stack Length Example

Posted on

We know compilers like gcc can do lots smart optimization to make the program run faster. Regarding functions call optimization, gcc can do tail-call elimination to save the cost of allocating a new stack frame, and tail recursion elimination to turn a recursive function to non-recursive iterative one. gcc can even transform some recursive functions
Read more

Bash Learning Materials

Posted on

Bash (GNU Bourne-Again SHell) the default shell for many Linux distributions. It is very common for scripting languages in Linux. Bash is easy and straightforward for writing small tools. However, as most tools, it has its grammars that could easily cause bugs if they are not used correctly. Here I summarize a list of good
Read more

How to Install Wine 32-bit on CentOS 8

Posted on

Since version 7, RHEL and CentOS only have 64 bit versions. For some reasons, it’s better to run many Windows applications under 32 bit wine. Like How to Install Wine 32-bit on CentOS 7, this post introduce how to install 32-bit Wine on CentOS 8. Most of the mechanisms are similar yet there are differences.
Read more

How to synchronize OneDrive and OneDrive for Business files in Linux using Insync

Posted on

OneDrive is one of the good cloud storage services available and there is a business version called OneDrive for Business. Microsoft’s Office 365 plan is widely used including Exchange Email service and OneDrive for Business. However, there is no official client released yet for Linux users. Insync is a third party cloud storage syncing software
Read more