Listing posts

Displaying posts 11 - 15 of 348 in total
Install Debian on F2FS filesystem
mouse 152 · person cloud · link
Last update
2025-04-05
2025
04-05
«flash friendly filesystem»

Install

  • boot: advanced options > expert install
  • proceed until Load installer components..., then select f2fs-modules
  • proceed until Partition disks, then:
  • select Execute a shell, then:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  df -hT   # show mounted device names
  umount /target/boot
  cp -a /target /tg
  umount /target
  anna-install f2fs-tools-udeb  # or anna-install f2fs-modules; depmod; modprobe f2fs
  mkfs.f2fs -l mylabel -f -i -O extra_attr,inode_checksum,sb_checksum,compression /dev/sdX2
  mount -t f2fs -o compress_algorithm=zstd:6,compress_chksum,atgc,gc_merge,lazytime /dev/sdX2 /target
  cp -a /tg/. /target
  blkid -s UUID -o value /dev/sdX2 >> /target/etc/fstab
  echo "compress_algorithm=zstd:6,compress_chksum,atgc,gc_merge,lazytime" >> /target/etc/fstab
  nano /target/etc/fstab # edit `/`: replace UUID, set type=f2fs, prepend options
  mount /dev/sdX1 /target/boot
  df -hT   # re-check mounted device names
  exit
  • select Install the base system
  • reboot
  • grub (/etc/default/grub & update-grub)

System backup

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1. copy latest `busybox` into destination folder
#   in order to use `tar` and `gzip` applets

# 2.boot debian netinst cd > Advanced > Rescue mode > Execute a Shell
anna-install f2fs-modules
depmod
modprobe f2fs
mkdir src dst
mount -t f2fs -o ro /dev/sdX2 /src
mount -t f2fs /dev/mmcblk0p1 /dst
cd /dst 
./busybox tar -C /src --numeric-owner -cvpf - . | ./busybox gzip -c > backup.tgz
cd /
umount /src /dst

Source: davidsebek, archlinux, debian, kernel


~~~ * ~~~

Test disk speed
mouse 1974 · person cloud · link
Last update
2025-04-05
2025
04-05
« — »
1
2
3
4
5
6
7
8
9
# read speed
hdparm -t -T /dev/sda

# write speed: file on filesystem
dd if=/dev/zero of=/tmp/output conv=fdatasync bs=1M count=100; rm -f /tmp/output
dd if=/dev/zero of=/tmp/output bs=100M count=1 oflag=dsync   ; rm -f /tmp/output

# write speed on disk/partition (destructive!)
dd if=/dev/zero of=/dev/sdXY conv=fdatasync bs=1M count=100

Source: AskUbuntu


~~~ * ~~~

Programming fonts
mouse 2091 · person cloud · link
Last update
2025-04-05
2025
04-05
« — »

My current fonts:

Name Size (Plain) Notes
Hack Nerd 10 https://www.nerdfonts.com/font-downloads
Consolas 14 -
DejaVu Sans Mono 12 apt install fonts-dejavu
JetBrains Mono 13 download

Note: remember to enable color emoji!


Custom fonts installation on linux:

  1. copy files in /usr/local/share/fonts or ~/.local/share/fonts
  2. run sudo fc-cache -fv to update font config cache



See also dev.to discussion.

To see:


~~~ * ~~~

Chromium personalizations
mouse 1581 · person cloud · link
Last update
2025-03-26
2025
03-26
«chromium/google chrome/vivaldi/webkit engine based browsers
apps/addons/plugins fix»

Add-ons

developer mode

Go to chrome://extensions/ / vivaldi://extensions/ and toggle developer mode switch.

Vivaldi

Command line options

1
2
3
4
5
6
7
8
9
# https://www.ghacks.net/2017/02/13/how-to-speed-up-the-vivaldi-web-browser/
# optimized command for raspberry pi
/usr/bin/vivaldi \
  --process-per-site \
  --enable-low-res-tiling \
  --enable-low-end-device-mode \
  --disk-cache-size=104857600 \
  --disk-cache-dir=$TMPD \
  "$@"

Delete undeletable cookies

If you can't delete them from Settings > Privacy and Security > Cookies:

  • Open Site Settings (click on the lock in the address field and selecting the last menu item)
  • Go back and filter the desired site
  • Delete cookies and data storage

Fix passwords not syncing

If you observe the following error in vivaldi://sync

1
2
Error: CleanupPasswordStore@components/password_manager/core/browser/sync/password_sync_bridge.cc:1067,
datatype error was encountered: Failed to get encryption key during database cleanup.
  1. close Vivaldi
  2. rm -f ~/.config/vivaldi/Default/Login\ Data*
  3. launch Vivaldi and the sync error in vivaldi://sync should have vanished

Video DRM/Widevine on Vivaldi

1
find ~/.config/vivaldi -type d -regex ".+\(GPU\|Graphite\|Shader\|Dawn\)Cache" -exec rm -rf "{}" +

obsolete instructions

See: old script, vivaldi forum, test video, another test page

1
2
apt install libwidevinecdm0
echo '{"Path":"/opt/WidevineCdm"}' > ~/.config/vivaldi/WidevineCdm/latest-component-updated-widevine-cdm

~~~ * ~~~

Setup your own calendar and address book DAV server
mouse 2047 · person cloud · link
Last update
2025-03-24
2025
03-24
«Google opt out, WebDAV, CalDAV/CardDAV»

install the server and move data

  1. install baikal (PHP+sqlite/mysql)

    1
    2
    3
    4
    unzip baikal-*.zip
    mkdir -p baikal/Specific/db
    chown -R nginx:www-data baikal/
    find baikal/ -mindepth 1 -type d -exec chmod 775 "{}" \;
    
  2. run it on nginx/apache + php-fpm via https

  3. point the browser to your new server and complete the initial setup

  4. add a user and his calendars

copy calendar and address book data

  1. google calendar > export existing calendar to ics file
  2. android > address book app > export to vcf file
  3. thunderbird > calendar > add new > from internet > DAV > enter username and https://domain.ext/davp.php
  4. thunderbird > calendar > import (from ics file to the new calendar)
  5. android > install DAVx5 app via F-Droid, add your DAV account, check all desired items: this creates new accounts for calendar and address book
  6. android > calendar app > select the new DAVx5 calendar
  7. android > address book app > select the new DAVx5 account > settings > import > select the vcf file

tips

export all data to a single file

Just append ?export to the user calendar/addressbook url:

quickly generare an ID for a calendar

1
dd if=/dev/random count=1 bs=1M status=none | md5sum

share a calendar with another baikal user

See this post:

  1. open calendar url: https://domain.ext/dav.php/calendars/<user>/<calendar_id>/
  2. at the section Share this resource insert mailto:baikal_user_email

web UI

infcloud is a very nice cal&card html5+jquery client, use /dav.php/principals/ as the base url

calendari


See also: Dockerfile sample and blog post, clients list