Virtual memory to Physical memory
We all know that processes running in Linux acts only in virtual address space. So whenever a process wants to access a data (okay datum) it requests CPU f...
We all know that processes running in Linux acts only in virtual address space. So whenever a process wants to access a data (okay datum) it requests CPU f...
WARNING: Adding a swap space in your Digitalocean droplet or any other cloud ...
Balakumaran Kannan works as a System software engineer mail me at [kumaran.4353@gmail.com](mailto:kum...
Update aptitude first sh $ sudo apt-get update Install expect sh $ sudo apt-get install expect Create a directory named trigger in your hom...
The above picture is from my favorite serial Mr.Robot . Elliot Alderson is writing a script to hack Evil Corp. I have three development environments * One...
Install xfce desktop environment sh $ sudo apt-get install xfce4 xfce4-goodies Install TightVNC for VNC server ```sh $ sudo apt-get install tight...
There are multiple J.A.R.V.I.S projects available in GitHub. All are based on some chat frameworks like api.ai, Alexa, etc. This is yet another rather vaguel...
In our last post we have seen how to get the physical memory address using a virtual memory address. In th...
Recently I got some board bring-up work where I come across Yocto project. To complete that project, I had to understand a little more than the basics of Yoc...
WARNING: KGDBoE cannot be used in Raspberry Pi due to lack of polling support in its network...
Hardware setup We need a USB to serial converter to connect Raspberry Pi to the PC serially. [This](https://www.amazon.in/PL2303-Converter-Adapter-Aurdin...
GDB is a very useful tool when debugging applications. Embedded devices lack sophisticated features that Development machines enjoy like better processor spe...
Architecture of Linux system call. Explains ARM64 exception levels and privilege of each level. Walks through Linux code path related to interrupt vectors and instructions that handle the system call. Bit of assembly code understanding is necessary. Explains every single instruction between `printf` and `sys_write`.
A detailed discussion about volatile keyword.
Raspberry Pi foundation maintains customized Linux kernel for Raspberry Pi devices. Cross-compiling vanilla kernel to Raspberry Pi is bit challenging. But its worth giving a try as we can test latest kernel on it. This article is a step-by-step guide to build vanilla kernel for Raspberry Pi 3. It explains necessary device-tree files and kernel configurations related to Raspberry Pi.
How to build your own customized kernel for Raspberry Pi using yocto.
Variadic function is function that accepts varying number arguments. But often times we've to pass the number of arguments as the first argument. But once we faced a peculiar problem where the number of arguments can't be passed. And we solved it in a peculiar ;) way.
A story about how I fixed the boot delay in an ARM64 system. This article walks through Linux reboot / kexec code path, a bit of kexec-tools source and importantly how kexec-tools injects its code in your boot path.
Profiling VM_EXIT reasons with `perf kvm` tool
Upgrade kernel of a virtual machine in seconds. Normally kernel upgrade will require a reboot. As reboot will take minutes to complete, service downtime will be more. Here we'll see how upgrade kernel of a VM running Debian-9 in seconds.