HOMEVIDEOSSTUDENTSSPONSORSDONATIONSEVENTSTUTORIALSLINKSNEWSCONTACT


TUTORIALS 》 Adding your own Kernel Modules into Linux Kernel Source | Linux Kernel Programming

Whenever you do custom kernel modules, you can optionally make it a part of existing Linux Kernel source. This does not mean you are submitting your kernel module to the mainline kernel source (i.e kernel.org Linux Kernel Foundation). What I meant is, you can make your kernel module(s) part of Linux Kernel source so that when you compile your kernel you can automatically compile your kernel module(s) too. As well when you create/modify kernel .config configuration file (such as via make menuconfig, etc), you can enable or disable your kernel module(s) too.

To do the same you have to register (and include) your custom Kernel Module's Kconfig and Makefile to the existing Kconfig and Makefile of the Linux Kernel source Here is a detailed multi-episode video of mine which gives the overall idea and the big-picture.

Also recommend to watch:


Featured Video:



Suggested Topics:


☆ Tutorials :: Arduino UNO Projects ↗


☆ Tutorials :: Network Software Development ↗


☆ Tutorials :: Research and Projects ↗


☆ Tutorials :: Linux (user-space), Systems Architecture ↗


☆ Tutorials :: Linux Kernel Software Development ↗


☆ Tutorials :: Linux Kernel Internals (PDFs) - by Ramin Farajpour ↗


☆ Tutorials :: Software Development (Programming) Tools ↗


☆ Tutorials :: Embedded Projects ↗

Join The Linux Channel :: Facebook Group ↗

Visit The Linux Channel :: on Youtube ↗


💗 Help shape the future: Sponsor/Donate


Recommended Topics:
Featured Video:
Watch on Youtube - [492//0] 0x208 TCP Sequence Numbers | why not in UDP ? | FAQ | Network Architecture | The Linux Channel ↗

Linux Kernel vs performance tools ↗
Saturday' 13-Mar-2021

Linux Kernel Network Programming ↗
Saturday' 13-Mar-2021

Ubuntu installation, setup and upgrade ↗
Saturday' 13-Mar-2021

Weekly News Digest - Week 01 - June 2020 ↗
Saturday' 13-Mar-2021
> UDOO BOLT GEAR AMD Ryzen Embedded V1605B Mini PC with Arduino Subsystem Launched for $399 > Systemd Will Change How Your Linux Home Directory Works > How to Manage Systemd Services on a Linux System > Linux 5.7 Kernel Released With New Apple Driver, Official Intel Gen12 Graphics > 8GB Raspberry Pi 4 on sale now at $75 > Bye Raspbian! Long Live Raspberry Pi OS! > Ultra-narrow DipDuino Arduino Compatible Board is a Perfect Breadboard Companion

GPS Geo-tracking system using LinkIt ONE ↗
Saturday' 13-Mar-2021
The LinkIt ONE development platform is an open source, high performance board for prototyping Wearables and IoT devices. It is based on MediaTek Aster (MT2502) combined with high performance Wi-Fi (MT5931) and GPS (MT3332) chipsets. It also provides similar pin-out features to Arduino boards, making it easy to connect various sensors, peripherals, and Arduino shields. LinkIt ONE is an all-in-one prototyping board for IoT/wearables devices. Integrating GSM, GPRS, Wi-Fi, GPS, Bluetooth features into a basic Arduino form factor.

Code with Kiran - Live Coding | Linux Kernel Programming | Kernel Libraries ↗
Saturday' 01-Jan-2022
Here is a my multi-episode Youtube video series of me doing a live code (Code with Kiran Series). Linux Kernel source consists of many libraries within. For example such as to create and manage Linked Lists, String Operations, Encryption Algorithms, Compression Algorithms, and so on. In the Kernel, various Kernel Modules (including various Device Drivers) will use these Kernel inclusive Libraries. Unlike user-space programming, in Kernel Space when you code, you have to use these Libraries which are actually part of kernel (i.e sharing the same address space). And in some cases you can also make your own libraries and publish as well. In the case of user-space programs, we use third-party libraries (explicit or implicit), but that cannot happen when you code in kernel space. The libraries share the same address space and they are part of Linux Kernel mainline source. Hence it is important to understand the significance of using such library as demonstrated in my video series bel

Smart NIC Cards ↗
Saturday' 13-Mar-2021
NIC Cards (Network Interface Cards) traditionally contain controller chip which takes care of the core aspects, such as packet reception, buffering (till they are read by OS device drivers), etc. But these days increasingly modern NIC cards can perform several CPU Network Offload functions such as packet/frame checksum, etc. Such hardware offload features of modern NIC cards is crucial to process packets and support packet data transfer rates of around 1Gbps, 10Gbps, even 40Gbps and so on. But beyond that such as 100Gbps and so on, at times even a high-end Xeon/ Intel/ AMD processors will struggle if need to support transfer rates of around 100Gbps or beyond (situations like Link Bonding). These are the situations we need what we call as Smart NIC Cards. A Smart NIC card implements most of the network traffic processing on the NIC itself that would necessarily be performed by the CPU (i.e Operating System) in the case of a traditional NIC card.

Design & Architecture of custom Dynamic Routing Protocols ↗
Saturday' 13-Mar-2021

Linux Kernel Oops ↗
Saturday' 13-Mar-2021

Weekly News Digest - Week 02 - June 2020 ↗
Saturday' 13-Mar-2021
> Microchip’s New PCIe 4.0 PCIe Switches: 100 lanes, 174 GBps > Linux Writecache To See Much Greater Performance On Intel Optane Systems Soon > Toradex i.MX 8X-based System on Modules gain AWS certification and support for Torizon embedded Linux > How to block specific ports on Linux > From Earth to orbit with Linux and SpaceX > Supermicro A2SDi-TP8F Review 12C 4x10GbE and 4x1GbE mITX > Dell EMC Broadcom BCM 57414 Dual 25GbE Adapter Review


Trending Video:
Watch on Youtube - [496//0] 263 Linux Kernel struct socket and struct sock - Network API Flow and Architecture sock_sendmsg(), sock_recvmsg() - Ep2 ↗

Difference between Intel Xeon Server vs Desktop Core i7 vs Intel Mobile Atom vs ARM Processors ↗
Saturday' 13-Mar-2021



Recommended Video:
Watch on Youtube - [465//0] 0x166 NVIDIA CUDA Toolkit - Parallel Programming in CUDA - Ep3 ↗