How to use gdb for inspecting control flow in a Linux daemon.
For inspecting the control flow, simply put break points on all functions of that particular process. If more functions are then, then it will be frustrating task to put break points one...
View ArticlePrint control flow of c/c++ program using gdb
How to use gdb for inspecting control flow in a c/c++ programs. For inspecting the control flow, simply put break points on all functions of that particular process. If more functions are...
View Articleftrace - The kernel function tracer - 1
1. IntroductionFtrace is a tracing utility built directly into the Linux kernel.Designed to help out developers and designers of systems to find what is going on inside the kernel.Below mentioned...
View ArticlePlatform Device Driver - a practical approach - 1
Platform devices are inherently not discover-able, i.e. the hardware cannot say "Hey! I'm present!" to the software. For example PCI and USB are self discover-able, but I2C is not.In the embedded and...
View Articleftrace - The kernel function tracer - 2
In this post, we discuss about function and function_graph scenario of ftrace usage.To find out which tracers are available, simply cat the available_tracers file in the tracing directory:# cat...
View ArticleLinux kernel interview questions - 1
I have listed few questions which gives basic idea of Linux kernel programming. Mostly kernel related interview is about the work you have done in past. For example, if you have done I2C & SPI...
View Articlekmemleak in ubuntu
kmemleak is a kernel debugging tool which is used for collecting memory leak informationThis kmemleak is kernel version of valgrind's memcheck --leak-checkThe orphan objects are not freed but only...
View ArticleCreate a simple file system
This post is about creating a simple file system and load with QEMU(X86).RequirementsQEMUKernel BzImageBusy box Step 1: For Installing QEMU on ubuntu machine sudo apt-get install qemu-systemStep 2:...
View ArticleAdding a system call in X86 QEMU Environment
Generally Linux programmers always curious about system calls and the way it is implemented. As a Linux programmer, I just wanted to learn system call implementation by actually using it in my...
View ArticleUEFI/EDK2 EmulatorPkg in Ubuntu
This post will explains the steps involved in compiling EmulatorPkg of Tianocore EDK2. Who wish to learn UEFI can use this emulator for writing UEFI samples.Step 1: Clone git repository from github git...
View ArticleKernel Entry from u-boot (MIPS)
Lets explore how u-boot to kernel transition happening from MIPS architecture point of view. Before understanding the flow, we should be aware of the following basic questions.1. What is uImage ??...
View ArticleI2C application Driver
For understanding I2C application driver(Slave only), lets discuss with sample open source driver. The post explains only about I2C Interface related information and how it is implemented on MAX8952...
View ArticleLinux kernel module programming
1. Introduction This chapter explains the basic elements for writing a kernel module. By end of this chapter readers can * Write a kernel module * Pass arguments to...
View Article
More Pages to Explore .....