Browse Source

fix blog posts

master
vinay 1 year ago
parent
commit
0655f08132
7 changed files with 7 additions and 233 deletions
  1. +4
    -0
      content/blog/_index.md
  2. +3
    -2
      content/blog/contributing-to-debian.md
  3. +0
    -1
      content/blog/debian-maintainer.md
  4. +0
    -1
      content/blog/git-fosscommunity-in-update.md
  5. +0
    -111
      content/blog/interception-vimproved.md
  6. +0
    -117
      content/blog/mapping-of-physical-usb-ports-to-device-names.md
  7. +0
    -1
      content/blog/software-freedom-camp-2021.md

+ 4
- 0
content/blog/_index.md View File

@ -0,0 +1,4 @@
---
title: "Blog"
next: /contributing-to-debian/
---

+ 3
- 2
content/blog/contributing-to-debian.md View File

@ -1,9 +1,10 @@
---
title: "Contributing to Debian"
date: 2022-07-30T20:01:24+05:30
weight: 10
authors:
- name: John Doe
link: https://example.com/johndoe
description: "Contributing to Debian through packaging "
type: post
---
# Debian


+ 0
- 1
content/blog/debian-maintainer.md View File

@ -4,7 +4,6 @@ date: 2023-03-28T20:01:24+05:30
weight: 10
description: "a debian maintainer now !!!"
tags: ["gitlab", "debian", "debian-maintainer" , "ruby"]
type: post
---


+ 0
- 1
content/blog/git-fosscommunity-in-update.md View File

@ -4,7 +4,6 @@ date: 2021-12-10T20:01:24+05:30
weight: 10
description: "Updating git.fosscommunity.in"
tags: ["git.fosscommunity.in", "debian", "fsci"]
type: post
---
Ahh, my first blog post. Good Beginnings (:


+ 0
- 111
content/blog/interception-vimproved.md View File

@ -1,111 +0,0 @@
---
title: "Interception Vimproved"
date: 2023-09-18T11:23:17+05:30
weight: 10
description: "Setting up Interception Vimproved on Debian Bookworm GNU/Linux"
tags: ["vim", "interception-tools", " gnu/linux" , "gnu","keyboard"]
draft: true
type: post
---
## Setting up Interception Vimproved on Debian Bookworm
I started learning vim few months ago and wanted to vim key bindings like shortcuts on my laptop after trying a mechanical hackable keyboard.
This blog post shows how to setup interception-vimproved using interception-tools on Debian Bookworm.
Step 1: Install the dependencies to build interception-vimproved on Debian Bookworm GNU/Linux
```
$ sudo apt install interception-tools meson libyaml-cpp-dev cmake
```
interception-tools is a small set of tools for input events of devices,that can be used to customize the behaviour of input keyboard mappings.
The advantage of interception-tools operates at lower level compared to xmodmap by using libevdev and libudev.
Step 2: Clone interception-vimproved repository and build
```
$ git clone "https://github.com/maricn/interception-vimproved"
$ cd interception-vimproved
$ sudo make install
```
Step 3: Create a file called udevmon.yaml in /etc/interception and paste the following contents into the file /etc/interception/udevmon.yaml
```
- JOB: "interception -g $DEVNODE | interception-vimproved /etc/interception-vimproved/config.yaml | uinput -d $DEVNODE"
DEVICE:
NAME: ".*((k|K)(eyboard|EYBOARD)|TADA68).*"
```
Step 4: Reload udevmon using systemctl
```
$ sudo systemctl restart udevmon
```
To change any keybindings or to add new mappings the config file is present in config.yaml located in /etc/interception-vimproved/
my config.yaml has the below shortcuts
```
- intercept: KEY_CAPSLOCK
ontap: KEY_ESC
onhold: KEY_LEFTCTRL
- intercept: KEY_ENTER
# not necessary: ontap: KEY_ENTER is inferred if left empty
onhold: KEY_RIGHTCTRL
# this is a layer. hold space (onhold) contains several remappings
- intercept: KEY_SPACE
onhold:
# special chars
- from: KEY_E
to: KEY_ESC
# alternative syntax
- {from: KEY_D, to: KEY_DELETE}
- {from: KEY_B, to: KEY_BACKSPACE}
# vim home row
- {from: KEY_H, to: KEY_LEFT}
- {from: KEY_J, to: KEY_DOWN}
- {from: KEY_K, to: KEY_UP}
- {from: KEY_L, to: KEY_RIGHT}
# vim above home row
- {from: KEY_Y, to: KEY_HOME}
- {from: KEY_U, to: KEY_PAGEDOWN}
- {from: KEY_I, to: KEY_PAGEUP}
- {from: KEY_O, to: KEY_END}
# number row, to F keys
- {from: KEY_1, to: KEY_F1}
- {from: KEY_2, to: KEY_F2}
- {from: KEY_3, to: KEY_F3}
- {from: KEY_4, to: KEY_F4}
- {from: KEY_5, to: KEY_F5}
- {from: KEY_6, to: KEY_F6}
- {from: KEY_7, to: KEY_F7}
- {from: KEY_8, to: KEY_F8}
- {from: KEY_9, to: KEY_F9}
- {from: KEY_0, to: KEY_F10}
- {from: KEY_MINUS, to: KEY_F11}
- {from: KEY_EQUAL, to: KEY_F12}
# xf86 audio
- {from: KEY_M, to: KEY_MUTE}
- {from: KEY_COMMA, to: KEY_VOLUMEDOWN}
- {from: KEY_DOT, to: KEY_VOLUMEUP}
# mouse navigation
- {from: BTN_LEFT, to: BTN_BACK}
- {from: BTN_RIGHT, to: BTN_FORWARD}
```
Arch has interception-tools already packaged here is the [link](https://wiki.archlinux.org/title/Interception-tools)
```
:wq
```

+ 0
- 117
content/blog/mapping-of-physical-usb-ports-to-device-names.md View File

@ -1,117 +0,0 @@
---
title: "Mapping of Physical USB ports to Device Name on GNU/Linux"
date: 2023-08-29T11:19:15+05:30
weight: 10
description: "Mapping of Physical USB ports to Device Names (/dev/sda) on GNU/Linux"
tags: ["usb", "linux", "gnu/linux" , "gnu"]
type: post
draft: true
---
## How to Map Physical USB ports to Device Names on GNU/Linux
```bash{filename="lsusb command"}
$ lsusb
Bus 002 Device 004: ID 04b3:3025 IBM Corp. NetVista Full Width Keyboard
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 123: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50
Bus 003 Device 002: ID 2109:0815 VIA Labs, Inc. USB3.0 Hub
$ lsusb -t
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
|__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/7p, 5000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 2: Dev 123, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 3: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 4: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
```
"lsusb" is a utility of "usbutils" in GNU/Linux to display information about the USB Buses and the USB's attached to the buses.The output of the command displays the VendorID:ProductID and to which bus it is attached,the "Kingston Technology DataTraveler" bearing the VendorID:ProductID (0951:1666) attached to bus 003, the lsusb command with option "-t" provides a tree like output in a hierarchial structure.
"lsblk" is a tree-like structure to identify devices and their partitions,and also displays device name (/dev/sd* if its a hard disk,/dev/nvme0n1 in case of SSD),size of the drive/partition, whether it is a disk/partition and the device's mountpoints,here the /dev/sda* is the hard disk and sda1/2/5 are the partitions of the hard disk and /dev/sdb is the Kingston USB drive connected.
```bash
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 118.3G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 976M 0 part [SWAP]
sdb 8:16 1 28.9G 0 disk
sr0 11:0 1 1024M 0 rom
```
## Suppose if there are multiple USB sticks attached to mutiple physical USB ports how to know which device names is mapped to which USB port ?
If there are multiple USB's attached how do we get to know USB drive's device file and to which port that USB is connected ?
The answer is by /dev/disk/*
Everything in GNU/Linux is either a file or a directory,so even the disk are represented as files in GNU/Linux.
```bash
$ ls -ltrh /dev/disk/
total 0
drwxr-xr-x 2 root root 100 Aug 28 12:28 by-partuuid
drwxr-xr-x 2 root root 100 Aug 29 09:49 by-uuid
drwxr-xr-x 2 root root 260 Aug 29 09:49 by-path
drwxr-xr-x 2 root root 60 Aug 29 09:49 by-label
drwxr-xr-x 2 root root 160 Aug 29 09:49 by-id
drwxr-xr-x 2 root root 260 Aug 29 09:49 by-diskseq
```
The USB disks can be identified by the Partition UUID, UUID of the disk, by path, by label of the disk and also by disk sequence.
### By UUID(Universally Unique Identifier)
```bash{filename="by uuid"}
$ cat /etc/fstab
UUID=3341b336-0c26-4079-b3aa-faca8e2dd8b6 / ext4 errors=remount-ro 0 1
UUID=53b53d97-b5e4-43fe-b560-2a01f119b6cf none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
$ ls -ltrh /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Aug 22 10:40 3341b336-0c26-4079-b3aa-faca8e2dd8b6 -> ../../sda1
lrwxrwxrwx 1 root root 10 Aug 22 10:40 53b53d97-b5e4-43fe-b560-2a01f119b6cf -> ../../sda5
lrwxrwxrwx 1 root root 9 Aug 29 09:49 2010-10-06-11-43-04-00 -> ../../sdb
```
The device /dev/disk/by-uuid/3341b336-0c26-4079-b3aa-faca8e2dd8b6 is simply a symbolic link to actual an device,the reason being this is device name may change depending whether disk is attached or not,whereas these links will point to the same drive,so henceforth safer to use.
### By-Label
```bash{filename="by-label"}
$ ls -ltrh /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 9 Aug 29 09:49 VINAY-USB -> ../../sdb
```
Labels are easy, it avoids confusion in identifying disk, instead of remembering /dev/sda device file names.
### By-Path
```bash{filename="by-path"}
$ ls -ltrh /dev/disk/by-path/
total 0
lrwxrwxrwx 1 root root 9 Aug 22 10:40 pci-0000:00:1f.2-ata-2.0 -> ../../sda
lrwxrwxrwx 1 root root 9 Aug 22 10:40 pci-0000:00:1f.2-ata-2 -> ../../sda
lrwxrwxrwx 1 root root 10 Aug 22 10:40 pci-0000:00:1f.2-ata-2-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Aug 22 10:40 pci-0000:00:1f.2-ata-2.0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Aug 22 10:40 pci-0000:00:1f.2-ata-2-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Aug 22 10:40 pci-0000:00:1f.2-ata-2.0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Aug 22 10:40 pci-0000:00:1f.2-ata-2-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Aug 22 10:40 pci-0000:00:1f.2-ata-2.0-part5 -> ../../sda5
lrwxrwxrwx 1 root root 9 Aug 22 10:40 pci-0000:00:1f.2-ata-3.0 -> ../../sr0
lrwxrwxrwx 1 root root 9 Aug 22 10:40 pci-0000:00:1f.2-ata-3 -> ../../sr0
lrwxrwxrwx 1 root root 9 Aug 29 09:49 pci-0000:00:14.0-usb-0:4.2:1.0-scsi-0:0:0:0 -> ../../sdb
```
Here /dev/sdb is the USB device attached and "pci-0000:00:14.0-usb-0:4.2:1.0-scsi-0:0:0:0" file which represents the USB device describes that the USB device is connected from PCI bus to SCSI adapter."by-path" is the pci path of the disk device. this device file name is created depending on the shortest physical path to the device.
"/dev/sda" the first SCSI drive on the first SCSI bus,/dev/sdb is the second SCSI drive and /dev/sdc is the third SCSI drive and so on.
```
:wq
```

+ 0
- 1
content/blog/software-freedom-camp-2021.md View File

@ -4,7 +4,6 @@ date: 2022-03-29T20:01:24+05:30
weight: 10
description: "Learnings from software freedom camp"
tags: ["git.fosscommunity.in", "debian", "fsci"]
type: post
---


Loading…
Cancel
Save