Linux is a kernel. See https://xkcd.com/456/
TPM stuff
https://kernelnewbies.org/Linux_Kernel_Newbies is a good starting point for learning about the kernel.
https://kernelnewbies.org/Outreachyfirstpatch → Write your first patch for the kernel
https://man7.org/tlpi/ → The Linux Programming Interface – Michael Kerrisk
https://github.com/PacktPublishing/Linux-Device-Driver-Development-Second-Edition → Linux Device Driver Development, Second Ed. – John Madieu
fs/ → virtual file system implementation (generic fs code and toplevel implementation of fs syscalls), specific filesystems
mm/ → virtual memory management (mmap, kmalloc, vmalloc)
kernel/ → core kernel code, scheduler, primitives (printk), process syscalls (fork, exit)
net/ → network generic code and protocol implementations; most syscalls in net/socket.c
change xorg settings
xset s off Disable screen saver blanking
xset s 3600 3600 Change blank time to 1 hour
xset -dpms Turn off DPMS
xset s off -dpms Disable DPMS and prevent screen from blanking
xset dpms force off Turn off screen immediately
xset dpms force standby Standby screen
xset dpms force suspend Suspend screen
NOTE: This section is meant for tidbits of useful knowledge on linux, mostly commands.
Ideally, these notes will branch out over time, and I will refactor them into separate topics under Linux.
systemd-run --scope -p MemoryMax=500M --user program# allow TCP ipv4 iptables -I INPUT -p tcp --dport 3389 -j ACCEPT # allow UDP ipv4 iptables -I INPUT -p udp --dport 3389 -j ACCEPT # allow TCP ipv6 ip6tables -I INPUT -p tcp --dport 3389 -j ACCEPT # allow UDP ipv6 ip6tables -I INPUT -p udp --dport 3389 -j ACCEPT
sudo fallocate -l 1G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfileecho '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabapt-cache search openjdk to search for all available java packages.update-alternatives --config java to select default java runtimesudo useradd -m username which will create user along with home directory.cat /etc/passwdCTRL+SHIFT+U, let go of all three, type the unicode code and press space.tr -dc A-Za-z0-9_ < /dev/urandom | head -c 16 | xargschmod a+rw /dev/vmnet0su - targetuser -s /bin/bashxev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }'NUM_PROCS=$(cat /proc/cpuinfo | awk '/^processor/{print $3}'| wc -l)< $@ xargs -d '\n' -P $NUM_PROCS -I {} /bin/bash -c "{}"av://v4l2:/dev/video0 --profile=low-latencycat /sys/class/net/<interface>/speedfor f in *[[:upper:]]*; do mv -- "$f" "${f,,}"; done
Configure default applications for xdg-* at ~/.config/mimeapps.list
https://cb.vu/unixtoolbox.html
https://sergiu121.github.io/docs/index.html → USO lab book starter on operating systems and (mostly) linux
https://ocw.cs.pub.ro/courses/uso/cursuri/start → USO wiki, slides and resources
http://quotes.cat-v.org/programming/bumper-sticker-computer-science → 20/20 hindsight CS quotes
https://perl.plover.com/ → Lots of unix stuff: history, teachings, presentations on various topics.
https://djoffe.com/stuff/linuxref/ → useful linux CLI tools with description
https://blog.robertelder.org/linux-hardware-debugging/ → hardware debugging resource
https://0xax.gitbooks.io/linux-insides/content/ → kernel internals; work in progress book
https://github.com/mk-fg/fgtk → helpful public domain scripts