Category Archives: GNU/Linux

XFS Invalid block length (0x0) for buffer

xfs_repair /dev/vgpool/lvol1
Phase 1 - find and verify superblock...
- reporting progress in intervals of 15 minutes
Phase 2 - using internal log
- zero log...
Invalid block length (0x0) for buffer
Log inconsistent (didn't find previous header)
empty log check failed
zero_log: cannot find log head/tail (xlog_find_tail=5)
ERROR: The log head and/or tail cannot be discovered. Attempt to mount the
filesystem to replay the log or use the -L option to destroy the log and
attempt a repair.

I have not found much about this on the web but in one place someone said it relates to an underlying hardware problem so the disk (spinning, SSD) is in a zombie state and near to a complete failure.
You should get identical disk, clone it and check the filesystem damage.

Apple M1 System on Chip processor

I just come across this video about outstanding performance and power efficiency of these chips comparing to other vendors and architectures.
Even recently Linus Torvalds expressed his interest in owning an Apple laptop or desktop but the problem is the OS.
There won’t be GNU/Linux on this Apple device any time soon because the vendor lobbies their own solution and this one isn’t an open standard and outside Apple Inc requires some reverse engineering.
We have to wait for some other vendors to develop and sell competitive ARM chips. Perhaps Pi model 400 is not the answer but they are getting there.

Thunderbird and bad date format

Basically the date format in Thunderbird follows the system locale – in a terminal type ‘locale’ and the LANG entry should be something like en_GB – if it’s en_US, that’s why it’s displaying the date in the bizarre US format which is MM/DD/YYYY rather than DD/MM/YYYY

To rectify this problem:

1. locale -a
2. vim /etc/locale.gen
3. uncomment:
en_GB.UTF-8 UTF-8
4. comment out:
en_US.UTF-8 UTF-8
5. locale-gen
6. localedef --list-archive OR localectl list-locales
7. vim /etc/locale.conf
LANG=en_US.UTF-8

To make locale changes immediate:

8. unset LANG
9. source /etc/profile.d/locale.sh

Migrating to a larger SSD disk

I have upgraded to a larger SSD disk, I moved from 500GB to 1TB.

I think the best option is to connect 2 disks to the SATA3 connectors and use dd to clone the whole disk from a smaller to the larger one. This is the fastest way and it took only 17 minutes to clone 500GB with over 500MB/s transfer rates.

lsblk
dd if=/dev/old of=/dev/new bs=1M conv=noerror,sync status=progress

then use GParted to make any changes to partition layout.

This tool is very easy to use and does the job. After you remove partitions you don’t need and move things around you end up with a bunch of unallocated disk space you would like to merge with your existing home partition. In my case this partition is encrypted. I have resized this partition using GParted. After that you have to decrypt the partition to then be able to resize

cryptsetup luksOpen /dev/sdx homecrypt
cryptsetup resize homecrypt
e2fsck -f /dev/mapper/homecrypt
resize2fs -p /dev/mapper/homecrypt

If the partition layout has changed much you want to update fstab and Grub

Disable touchscreen in Windows 7 and Linux

In Windows please disable one of the HID Devices in Device Manager, if this does not work try USB device listed in the same Device Manager HID container.

In Linux edit the “/usr/share/X11/xorg.conf.d/10-evdev.conf” file.
You edit the touchscreen section in 10-evdev.conf file is the last section.
It will have this identifier in the section – Identifier “evdev touchscreen catchall” – the identifier seems to be the 2nd line in all the sections.
Just add in this line – Option “Ignore” “on” as the last line before “End Section”

mount –bind vs symbolic link

With mount –bind, a directory tree exists in two (or more) places in the directory hierarchy. This can cause a number of problems. Backups and other file copies will pick all copies. It becomes difficult to specify that you want to copy a filesystem: you’ll end up copying the bind-mounted files twice. Searches with find, grep -r, locate, etc., will traverse all the copies, and so on.

You will not gain any “increased functionality and compatibility” with bind mounts. They look like any other directory, which most of the time is not desirable behaviour. For example, Samba exposes symbolic links as directories by default; there is nothing to gain with using a bind mount. On the other hand, bind mounts can be useful to expose directory hierarchies over NFS.

You won’t have any performance issues with bind mounts. What you’ll have is administration headaches. Bind mounts have their uses, such as making a directory tree accessible from a chroot, or exposing a directory hidden by a mount point (this is usually a transient use while a directory structure is being remodelled). Don’t use them if you don’t have a need.

Only root can manipulate bind mounts. They can’t be moved by ordinary means; they lock their location and the ancestor directories.

Generally speaking, if you pass a symbolic link to a command, the command acts on the link itself if it operates on files, and on the target of the link if it operates on file contents. This goes for directories too. This is usually the right thing. Some commands have options to treat symbolic links differently, for example ls -L, cp -d, rsync -l. Whatever you’re trying to do, it’s far more likely that symlinks are the right tool, than bind mounts being the right tool.

it’s worth noting that some utilities might consider a bind-mounted directory to be a separate file system. This may have performance or functionality implications if the program can no longer assume that the same inode number refers to the same file (which it doesn’t, if they are on different file systems), a move cannot be optimized as link-at-target-then-unlink-source, etc.

Author: Gilles

Time zones

Dirty script to show times in different places in the world

echo -n -e "World Times:\n\tTokyo\t\t"; TZ=":Asia/Tokyo" date | cut -d " " -f4; echo -n -e "\tShanghai\t"; TZ=":Asia/Shanghai" date | cut -d" " -f4;echo -n -e "\tMoscow\t\t"; TZ=":Europe/Moscow" date | cut -d" " -f4;echo -n -e "\tRome\t\t"; TZ=":Europe/Rome" date | cut -d" " -f4;echo -n -e "\tLondon\t\t"; TZ=":Europe/London" date | cut -d" " -f4;echo -n -e "\tNew York\t"; TZ=":America/New_York" date | cut -d" " -f4;echo -n -e "\tLos Angeles\t"; TZ=":America/Los_Angeles" date | cut -d" " -f4

find your preferred places in /usr/share/zoneinfo
then place the script in your .bashrc

Swap

Quick way to setup swap

fallocate -l 4G /swapfile
ls -lh /swapfile
sudo chmod 600 /swapfile
ls -lh /swapfile
mkswap /swapfile
swapon /swapfile
free -m

vim /etc/fstab
At the bottom of the file, you need to add a line that will tell the operating system to automatically use the file you created:
/swapfile none swap sw 0 0

VirtualBox and networking between guests

For this to happen you have to enable a secondary network adapter that is set as Internal Network (make sure you assign both guests to the same Internal Network, default is “intnet”)
The next step is to enable DHCP server on that network by this command:
VBoxManage dhcpserver add –netname intnet –ip 10.0.0.100 –netmask 255.255.255.0 –lowerip 10.0.0.101 –upperip 10.0.0.150 –enable

CyanogenMod for Sony device

1. To get to the service menu type this code in your dialer:
*#*#7378423#*#*
This way you can check if you can unlock your bootloader, it is 50/50 chance, it depends on the production batch.
If a bootloader is allowed to be unlocked you can install custom ROM, if not you will not be able to proceed any step further
2. find the right device on CM website http://get.cm/
3. download the right build image (stable or nightly) and corresponding recovery image
4. download Open Google Apps from here http://opengapps.org/?api=5.0&variant=nano
As you can see I would go for NANO build which is below 100MB in size
5. unlock bootloader: http://developer.sonymobile.com/unlockbootloader/
6. PLEASE NOTE: you will need ADB and FASTBOOT applications and correct Sony drivers to be able to flash recovery image once the bootloader is unlocked
PLEASE NOTE that ADB and FASTBOOT uses different drivers to access the device
device is accessible using ADB when it is in normal mode
adb devices
device is accessible using FASTBOOT only from recovery mode
fastboot devices
fastboot flash boot boot.img
fastboot reboot

7. follow the instructions from an email they are going to send you
adb reboot bootloader - this is effective way to get to recovery mode for fastboot
fastboot -i 0x0xxx oem unlock 0xDxxxxxxxxxxxxx

8. flash custom ROM
adb sideload cm-12.1-date-STABLE-devicecodename.zip (from this moment you will not be able to access service menu anymore as it is not included in custom ROM)
9. install Google Apps
adb sideload open_gapps-arm-5.1-nano-2016xxxx.zip
10. go trough initial device setup, sign up to Google Play
11. enable Root access within Developers option -> Root access for Apps and ADB
12. install TWRP ROM manager
13. flash TWRP recovery image
You definitely want to read this: https://twrp.me/devices/sonyxperiaz3tabetcompact.html as you will be presented with a question that your have to check prior flashing recovery image, you risk bricking the device so double check.
14. once custom TWRP image is flashed you can boot to it and perform a first backup

Moving to a new hard drive

Lets say you want to migrate your system to a new hard drive.
Of course the best practice is to buy a hard drive with the exact same size. This will save you problems.

I think instead of changing the files where disk UUIDs reside just swap UUIDs between the old and new disk.

invalid partition -- table wrong signature 0
This means something went wrong with the partition table and you want to use fdisk to write a valid partition table.

Prelinking

There is an extensive discussion about benefits and disadvantages of this features.
I have decided to disable it.

1. open “/etc/sysconfig/prelink” in a text editir (such as vi)
2. you should see this line: PRELINKING=yes
3. change ‘yes’ to ‘no’
4. save the change you just made & exit the text editor
5. manually run “/etc/cron.daily/prelink” as root.
6. prelinking is now disabled and will not reactivate the next time you reboot.

SSHD, SSD and Windows

These disks will save reputation of Microsoft because performance of Windows systems on traditional hard drives is bad. It happens to me to turn on this system from time to time and experience the difference.

Linux user: get rid of Win key

They do some nice stickers in US that you can stick over Windows symbol (Win key), but why to do that?
SammieV from Canada perfectly answers this: “I love that symbol, it reminds me of why I moved over to another OS.”
Windows same as KERNAL, Commodore Basic or DOS is our heritage like inventions of Ancient and Medieval times and I do have very good memories of Windows 98, 2000 and XP regardless of some occasional blue screens.