Please fill this form:

Illuminating the path for embedded core industry
100% placement guaranteed.

Porting means making something work on an environment it is not designed for. Embedded Linux porting means making Linux work on an embedded platform, for which it was not designed. Porting is a broader term and when I say embedded Linux porting, it not only involves Linux kernel porting, but also porting a first stage bootloader, a second stage bootloader and, last but not the least, the applications. Porting differs from development.

CH1: Genesis of Linux project : : Introduction

Element 1:Tool chain (Air)
Element 2:Boot loader (Earth)
Element 3:Kernel (Fire)
Element 4:User space (Water)

CH2: Toolchain Setup : :Introduction to Toolchain

What is Toolchain
Toolchain Components
Building Toolchain
Build Systems for Toolchain
Toolchain Setup Environment
Toolchain compilation and usage

CH3: Bootloader Compilation : : Introduction to Bootloader

What is Loader
What is Bootloader
1st and 2nd Stage Bootloader
U-Boot Bootloader Porting on New
U-Boot Commands Lists
Bootloader Cross-Compilation
Downloading on Target board
Bootloader commands and usage,
Bootloader code customization, U-Boot
U-Boot Image for Target Board

CH4: Kernel Configuration : : Linux kernel Cross Compilation

Download the kernel source code linux-xx.yy.zz.tar.bz2
untar it with 'tar -jxvf linux-xx.yy.zz.tar.bz2
Copy the new config as .config in kernel top level directory
Update the the config file using make ARCH=arm menuconfig
Compile the kernel with make ARCH=arm CROSS_COMPILE= zImage
Generating Kernel Image uImage or zImage, dtb
Transfer this is to the Target Board and reboot to boot with new kernel image using tftp or nfs
Application development and Cross Compilation

CH5: Porting Linux kernel,U-boot images on Target board

Sd Card partitioning and Formatting
Wrtting uImage,U-boot.bin into Sd cards
Extract and copy rootfs in SD-Card rootfs partition
Configuring NFS and using rootfs over NFS
Building the Embedded Board Using NFS

CH6: Building the Device driver as a part of Kernel(in kernel tree)

We will add a Device driver to the kernel
Copy the file driver.c to linux-xx.yy.zz/drivers/char/
Edit the Kconfig file in drivers/char/
Edit the makefile and add obj-$(CONFIG_MY_DRIVER) += driver.o
Configure the kernel with make ARCH=arm menuconfig
Now, compile the kernel with make ARCH=arm CROSS_COMPILE=- zImage
Test the driver, with application Program

CH7: BUILDING AND RUNNING MODULES ON BEAGLEBONE BLACK

Kernel Architecture or Model
Role of the Device Drivers
Writing Your first kernel module
Module Related Commands
Kernel Module vs Applications
Compiling Modules
Loading and Unloading Modules
Module Parameters

Weekend and Weekdays Training Courses on Linux Kernel, Bootloader, Toolchain and Filesystems

  • What would you learn about Porting in Embisyslabs?
  • A Linux kernel, C library, and C compiler overview
  • Configuring and Cross-Compilation of Kernel Source
  • Cross-Compilation of U-boot Loader.
  • Loading and Unloading Modules on Beaglebone
  • Creating an ext4 file system on the new partition
  • Dealing with Software and hardware requirements
Copyright @2023 Designed by Verzat Tech