Skip to main content

Compiling and Building Linux kernel with your Name


1. Download the latest stable kernel  from https://www.kernel.org/
or clone from git repository

[root@localhost linux]# cd /usr/src

2. Move to the cloned repository if you cloned using git

[root@localhost linux]# cd /usr/src/linux

or extract the tar ball if you have downloaded from kernel.org

[root@localhost linux]# tar -xf linux-3.15-rc1.tar.xz -C /usr/src

3. Install the Development tools

[root@localhost linux]# yum install gcc ncurses-devel 

4. Configure the kernel
before compiling the kernel you need to configure the kernel with different tools xconfig,gconfig,menuconfig,nconfig.
menuconfig and nconfig needs ncurses-devel to be installed.

[root@localhost linux]# make menuconfig

select the configurations based on your hardware and save.It will create .config file in current directory.


5. open the Make file and add your name in  EXTRAVERSION field and save the file.


6. Compile the kernel and modules

[root@localhost linux]# make -j4
j4 will launch 4 jobs simultaneously for compiling kernel modules.

7. Copy the compiled modules into /lib/modules/

[root@localhost linux]# make modules_install

8. Install the kernel image

[root@localhost linux]# make install 
This will copy the bootable image to boot and creates system.map and copies the .config file for this version of the kernel and updates the grub.

9. Now reboot the system and execute below command

[root@localhost linux]# uname -a
    Linux surendra 3.15.0-Surendra+ #1 SMP Tue Apr 15 21:28:50 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux



Hurrayyyy you built the kernel with your name :-) Lets Party :-)

Note - these steps are tried and verified on Ubuntu 12.4 version.



Comments

Popular posts from this blog

Sampling and FFT Size derivation in LTE

Sampling and FFT Size derivation in LTE Ts = 1 / (15000 x 2048) seconds, which corresponds to the 30.72 MHz sample clock for the 2048 point FFT used with the 20 MHz system bandwidth. In the frequency domain, the number of sub-carriers N ranges from 128 to 2048, depending on channel bandwidth with 512 and 1024 for 5 and 10 MHz, respectively, being most commonly used in practice. The sub-carrier spacing is ∆f = 1/T u = 15 kHz. The sampling rate is fs = ∆f · N = 15000 N. This results in a sampling rate that’s multiple or sub-multiple of the WCDMA chip rate of 3.84 Mcps: LTE parameters have been chosen such that FFT lengths and sampling rates are easily obtained for all operation modes while at the same time ensuring the easy implementation of dual-mode devices with a common clock reference. Sampling frequency is Multiple's of 2, For 15 Mhz Bandwidth - Sampling Frequency = 23.04 (6 * 3.84). FFT SIZE = S

C Programming Questions – Part 1

1. W hat do curly braces denote in C? Why does it make sense to use curly brac es to surround the body of a function?   Answer: The curly braces denote a block of code, in which variables can be declared. Variables declared within the block are valid only until the end of the block, marked by the matching right curly brace ’}’. The body of a function is one such type of block, and thus, curly braces are used to describe the extent of that block . 2.Describe the difference between the literal values 7, "7", and ’7 ’ ?   Answer: The first literal is integer 7.Second literal is null terminated string value '7'.Third literal is character '7' having ASCII character code (55). 3. Consider the statement double ans = 10.0+2.0/3.0−2.0∗2.0; Rewrite this statement, inserting parentheses to ensure that ans = 11.0 upon evaluation of this statement ? Answer: double ans = 10.0+2.0/ (( 3.0−2.0 ) ∗2.0 ) ; 4 .C

C Programming Questions - Part 2

1) How do you determine the size and range of the following data types ? char unsigned char short int unsigned int unsigned long float Ans:- limits.h header file defines the minimum and maximum range macros for each of the data types , sizeof(datatype) returns the number of bytes used by the datatype in current machine. 2) Write logical expressions that tests whether a given character variable c is lowercase letter uppercase letter digit white space(includes space,tab,newline) Ans:- lowercase letter = (c >= 'a' && c <= 'z') uppercase letter = (c >= 'A' && c <= 'Z') digit = (c >= '0' && c <= '9') white space(includes space,tab,newline) = (c == ' ' || c == '\t' || c == '\n') 3) Consider unsigned int val=0xCAFE; Write expressio