Search for:
Debian GNU/Linux 7.0 Code Name “Wheezy” Server Installation Guide

Debian GNU/Linux 7.0 Code Name &-8220;Wheezy&-8221; Server Installation Guide &-8211; this Article or News was published on this date:2019-05-28 19:50:11 kindly share it with friends if you find it helpful

The Debian Project was founded in 1993 by Ian Murdock. Debian Linux is one of the most popular and freely available Operating System developed by Debian Developers around the world. They are involved with various activities viz. maintaining software repositories, graphic design, legal analysis, software licenses, documentation, web & ftp site administration etc. Debian supports several Desktop Environment like GNOME, KDE Plasma Desktop and Applications, Xfce, and LXDE. Debian is available in 70 languages, and supporting a huge range of computer types.

The project team proudly released Debian 7.0 version (code name “Wheezy“) on 04 May 2013.

What’s New in Debian 7.0

This latest version has updated software packages as:

  1. Apache 2.2.22
  2. Asterisk
  3. GIMP 2.8.2
  4. GNOME 3.4
  5. Icedove 10
  6. Iceweasel 10
  7. KDE Plasma Workspaces and KDE Applications 4.8.4
  8. kFreeBSD kernel 8.3 and 9.0
  9. LibreOffice 3.5.4
  10. Linux 3.2
  11. MySQL 5.5.30
  12. Nagios 3.4.1
  13. OpenJDK 6b27 and 7u3
  14. Perl 5.14.2
  15. Ceph 0.56.4
  16. PHP 5.4.4
  17. PostgreSQL 9.1
  18. Python 2.7.3 and 3.2.3
  19. Samba 3.6.6
  20. Tomcat 6.0.35 and 7.0.28
  21. Xen Hypervisor 4.1.4

You may visit to download Debian 7.0 Wheezy CD/DVD Iso Images.

Installation of Debian GNU/Linux 7.0 Server Code Name “Wheezy”

1. Boot Computer with Debian 7.0 Server Installation CD/DVD or ISO. Select Install for text based installation. Choose Graphical Install to install in Graphical mode.

Boot Debian 7.0 Installation DVDBoot Debian 7.0 Installation DVD

Boot Debian 7.0

2. Language Selection.

Boot Debian 7.0 Installation DVDDebian 7.0 Language Selection

Language Selection

3. Select your location.

Boot Debian 7.0 Installation DVDDebian 7.0 Location Selection

Location Selection

4. Keyboard layout selection.

Boot Debian 7.0 Installation DVDDebian 7.0 Keyboard Selection

Keyboard Selection

5. Enter Host Name.

Boot Debian 7.0 Installation DVDDebian 7.0 Host Name

Host Name

6. Setup root user and password.

Boot Debian 7.0 Installation DVDDebian 7.0 Setup root account

Setup root Account

7. Re-enter root password to verify.

Boot Debian 7.0 Installation DVDDebian 7.0 root Password

Enter root Password

8. Non-administrative user full name.

Boot Debian 7.0 Installation DVDDebian 7.0 Non Administrative

Non Administrative Name

9. Create Non-administrative user account. Don’t use admin user as it’s reserved on Debian Wheezy.

Boot Debian 7.0 Installation DVDDebian 7.0 Create Non-administrative user

Create Non-administrative user

10. Non-administrative user password.

Boot Debian 7.0 Installation DVDDebian 7.0 Non-administrative user password

Non-administrative user password

11. Re-enter non-administrative user password to verify.

Boot Debian 7.0 Installation DVDDebian Non Administrative Password

Enter Non Administrative Password

12. Disk Partitions. I used partitioning method “Guided – use entire disk and set up LVM, which will create partitions for me automatically.”

Boot Debian 7.0 Installation DVDDebian 7.0 Disk Partitions

Disk Partitions Creation

13. Select disk to partition.

Boot Debian 7.0 Installation DVDDebian 7.0  Select Disk Partition

Select Disk Partition

14. Select partitioning scheme.

Boot Debian 7.0 Installation DVDDebian 7.0 Partition Schema

Select Partition Schema

15. Write changes to disk. Press ‘Yes‘ to continue.

Boot Debian 7.0 Installation DVDDebian 7.0 Write Changes to Disk

Write Changes to Disk

16. When your are happy with partitioning, select ‘finish partitioning and write changes to disk.’

Boot Debian 7.0 Installation DVDDebian 7.0 Finish Partitioning

Finish Partitioning

17. Press ‘Yes’ to write changes to Disk.

Boot Debian 7.0 Installation DVDDebian 7.0 Confirm Partition Disks

Confirm Partition Disks

18. Afterwards, installing the base system.

Boot Debian 7.0 Installation DVDDebian 7.0 Installing Base System

Installing Base System

19. Installation CD/DVD verification. Press ‘No‘ to skip scanning other installation media.

Boot Debian 7.0 Installation DVDDebian 7.0 Installation Verification

Installation CD/DVD Verification

20. Configure the package manager. Selected ‘No‘ as i am installing through media.

Boot Debian 7.0 Installation DVDDebian 7.0 Configure Package Manager

Configure Package Manager

21. You may skip Package usage survey.

Boot Debian 7.0 Installation DVDDebian 7.0 Package Survey

Skip Package Survey

22. Software selection, select packages as per your need. You can install the required packages manually later on.

Boot Debian 7.0 Installation DVDDebian 7.0 Software Selection

Software Selection

23. Installing GRUB Bootloader in MBR.

Boot Debian 7.0 Installation DVDDebian 7.0 Grub Boot Loader Install

Grub Boot Loader Install

24. Installation completed. eject CD/DVD and reboot system.

Boot Debian 7.0 Installation DVDDebian 7.0 Installation Completed

Installation Completed

25. Debian GNU/Linux 7.0 GRUB booting options.

Boot Debian 7.0 Installation DVDDebian 7.0 Booting Options

GRUB booting Options

26. Debian GNU/Linux 7.0 command prompt.

Boot Debian 7.0 Installation DVDDebian 7.0 Login Screen

Debian 7.0 Login Screen

Please visit to know more about Debian release notes.

Kernel 3.12 Released – Install and Compile in Debian Linux

Kernel 3.12 Released &-8211; Install and Compile in Debian Linux &-8211; this Article or News was published on this date:2019-05-28 19:40:37 kindly share it with friends if you find it helpful

One of the biggest draws to using Linux is its easy customization and one of the most fun things to customize is the Kernel itself, the heart of the Linux Operating System. Chances are that you will most likely never have to compile your own kernel. The one that ships with your distribution and updates via your package management system is usually good enough, but there are times when it might be necessary to recompile the kernel.

Kernel Compilation in DebianKernel Compilation in Debian

Kernel Compilation in Debian

Some of these reasons might be special hardware needs, the desire to create a monolithic kernel instead of a modularized one, optimizing the kernel by removing useless drivers, running a development kernel, or simply to learn more about Linux. In this case, we are going to compile a newly released Kernel 3.12, on Debian Wheezy. The newly released Kernel 3.12 has several new features, including some new drivers for the NVIDIA Optimus, and the Radeon Kernel Graphics Driver. It also offers huge improvements to the EXT4 filesystem, and some updates to XFS and Btrfs.

How to Compile and Install Kernel 3.12 in Debian

To get started, we are going to need some packages, namely fakeroot and kernel-package:

- apt-get install fakeroot kernel-package

Now, lets grab a latest source tarball from or you may use following wget command to download it.

- wget -c

Now, let’s unpack the archive.

- tar -xvJf linux-3.12.tar.xz

After, extracting, a new kernel source directory will be created.

- cd linux-3.12

Now, we will want to configure the kernel. It is best to start with a configuration that you are currently using and work from there. To do this, we will copy the current configuration from the /boot directory to the current working directory and save it as .config.

- cp /boot/config-`uname –r`.config

To start with the actual configuration, you have one of two options. If you have X11 installed, you can run make xconfig, and have a nice GUI menu to assist you as you configure your Kernel. If you are running in a CLI environment, you can run make menuconfig. You will need the libncurses5-dev package installed to use menuconfig:

- apt-get install libncurses5-dev
- make menuconfig
Kernel Compilation in DebianKernel Menuconfig

Kernel Menuconfig

As you will see, once you are in the configuration of your choice, that there are a ton of different options available for your Kernel. In fact, there are far too many for the scope of this tutorial. When selecting Kernel options, the best way is by trial and error, and doing plenty of Googling. It is the best way to learn. If you are simply just trying to update your Kernel to the most recent version, you don’t have to change anything and can simply select “Save Configuration”. Since we copied the current kernel’s configuration file to the new kernel’s .config file.

Kernel Compilation in DebianSave Kernel Config

Save Kernel Config

Be mindful that “Kernel module loader” is selected in “Loadable module support”. If it is not, and you are using kernel modules, it can seriously mess things up.

Kernel Compilation in DebianKernel Modules

Kernel Modules

Once that is straight, it is time to clean the source tree.

- make-kpkg clean
Kernel Compilation in Debianmake-kpkg clean

make-kpkg clean

Finally, it’s time to build the kernel package.

- fakeroot make-kpkg --append-to-version "-customkernel" --revision "1" --initrd kernel_image kernel_headers

As you will see above, we have exported a variable called CONCURRENCY_LEVEL. A general rule of thumb with this variable is to set it as the number of cores your computer has + 1. So, if you are using a quad core, you would:


This will greatly speed up your compilation time. The rest of the compilation command is pretty self-explanatory. With fakeroot, we are making kernel packages (make-kpkg), appending a string to name our kernel (“customkernel”), giving it a revision number (“1”) and we are telling make-kpkg to build both an image package and a header package. Once the compilation is finished, and depending on your machine, and number of modules you are compiling, it can take quite a long time, change directories to one back from the Linux source directory, and you should see two new *.deb files – one linux-image file and one linux-headers file:

Kernel Compilation in DebianNew Kernel Deb Packages

New Kernel Deb Packages

You can now install these file like you would install any *.deb file with dpkg command.

- dpkg -i linux-image-3.12.0-customkernel_1_i386.deb linux-headers-3.12.0-customkernel_1_i386.deb
Kernel Compilation in DebianPost Installation

Post Installation

The new kernel, since it is a Debian package, will update everything you need, including the bootloader. Once installed, you simply reboot, and select the new kernel from your GRUB/LiLO menu.

Kernel Compilation in DebianNew Kernel Selection

New Kernel Selection

Be sure to pay close attention to any error messages during the boot process so you can troubleshoot any issues. If, for whatever reason, your system doesn’t boot, you can always fall back to your last working Kernel and try again. The non-functional Kernel can always be removed with apt command.

- sudo apt-get remove linux-image-(non-working-kernel)
Setup Local Repositories with ‘apt-mirror’ in Ubuntu and Debian Systems

Setup Local Repositories with &-8216;apt-mirror&-8217; in Ubuntu and Debian Systems &-8211; this Article or News was published on this date:2019-05-28 19:20:46 kindly share it with friends if you find it helpful

When today traffic and casual internet speeds is measured in teens of Giga over an eye blink even for ordinary Internet clients, what’s the purpose of setting a local repository cache on LAN’s you may ask?

Setup Local Repositories in UbuntuSetup Local Repositories in Ubuntu

Setup Local Repositories in Ubuntu

One of the reasons is to reduce Internet bandwidth and high speed on pulling packages from local cache. But, also, another major reason should be privacy. Let’s imagine that clients from your organization are Internet restricted, but their Linux boxes need to regular system updates on software and security or just need new software packages. To go further picture, a server that runs on a private network, contains and serves secret sensitive information only for a restricted network segment, and should never be exposed to public Internet.

This are just a few reasons why you should build a local repository mirror on your LAN, delegate an edge server for this job and configure internal clients to pull out software form its cache mirror.

Ubuntu provides apt-mirror package to synchronize local cache with official Ubuntu repositories, mirror that can be configured through a HTTP or FTP server to share its software packages with local system clients.

For a complete mirror cache your server needs at least 120G free space reserved for local repositories.


  1. Min 120G free space
  2. Proftpd server installed and configured in anonymous mode.

Step 1: Configure Server

1. The first thing you may want to do is to identify the closest and fastest Ubuntu mirrors near you’re location by visiting Ubuntu Archive Mirror page and select your country.

Setup Local Repositories in UbuntuUbuntu Archive Mirror

Ubuntu Archive Mirror

If your country provides more mirrors you should identify mirror address and do some tests based on ping or traceroute results.

Setup Local Repositories in UbuntuSelect Mirror Location

Select Mirror Location

2. The next step is to install required software for setting up local mirror repository. Install apt-mirror and proftpd packages and configure proftpd as standalone system daemon.

$ sudo apt-get install apt-mirror proftpd-basic
Setup Local Repositories in UbuntuInstall apt-mirror Proftpd

Install apt-mirror Proftpd

Setup Local Repositories in UbuntuProFTPD Configuration

ProFTPD Configuration

3. Now it’s time to configure apt-mirror server. Open and edit /etc/apt/mirror.list file by adding your nearest locations (Step 1) – optional, if default mirrors are fast enough or you’re not in a hurry – and choose your system path where packages should be downloaded. By default apt-mirror uses /var/spool/apt-mirror location for local cache but on this tutorial we are going to use change system path and point set base_path directive to /opt/apt-mirror location.

$ sudo nano /etc/apt/mirror.list
Setup Local Repositories in UbuntuConfigure apt-mirror Server.

Configure apt-mirror Server.

Also you can uncomment or add other source list before clean directive – including Debian sources – depending on what Ubuntu versions your clients use. You can add sources from 12.04, if you like but be aware that adding more sources requires more free space.

For Debian source lists visit Debian Wiki or Debian Sources List Generator.

4. All you need to do now is, just create path directory and run apt-mirror command to synchronize official Ubuntu repositories with our local mirror.

$ sudo mkdir -p /opt/apt-mirror
$ sudo apt-mirror
Setup Local Repositories in UbuntuCreate apt-mirror Paths

Create apt-mirror Paths

As you can see apt-mirror proceeds with indexing and downloading archives presenting total number of downloaded packages and their size. As we can imagine 110-120 GB is large enough to take some time to download.

You can run ls command to view directory content.

Setup Local Repositories in UbuntuVerify apt-mirror Paths

Verify apt-mirror Paths

Once the initial download is completed, future downloads will be small.

5. While apt-mirror downloads packages, you can configure your Proftpd server. The first thing you need to do is, to create anonymous configuration file for proftpd by running the following command.

$ sudo nano /etc/proftpd/conf.d/anonymous.conf

Then add the following content to anonymous.conf file and restart proftd service.

Anonymous ~ftp>
   User                    ftp
   Group                nogroup
   UserAlias         anonymous ftp
   RequireValidShell        off
-   MaxClients                   10
   Directory *>
     Limit WRITE>
Setup Local Repositories in UbuntuConfigure ProFTPD

Configure ProFTPD

6. Next step is to link apt-mirror path to proftpd path by running a bind mount by issuing the command.

$ sudo mount --bind /opt/apt-mirror/mirror/  /srv/ftp/
Setup Local Repositories in UbuntuMount apt-mirror to ProFTP Path

Mount apt-mirror to ProFTP Path

To verify it run mount command with no parameter or option.

$ mount
Setup Local Repositories in UbuntuVerify Paths

Verify Paths

7. Last step is to make sure that Proftpd server is automatically started after system reboot and mirror-cache directory is also automatically mounted on ftp server path. To automatically enable proftpd run the following command.

$ sudo update-rc.d proftpd enable

To automatically mount apt-mirror cache on proftpd open and edit /etc/rc.local file.

$ sudo nano /etc/rc.local

Add the following line before exit 0 directive. Also use 5 seconds delay before attempting to mount.

sleep 5
sudo mount --bind  /opt/apt-mirror/mirror/ /srv/ftp/
Setup Local Repositories in UbuntuAuto Mount Apt Mirrors

Auto Mount Apt Mirrors

If you pull packages from Debian repositories run the following commands and make sure appropriate settings for above rc.local file are enabled.

$ sudo mkdir /srv/ftp/debian
$ sudo mount --bind /opt/apt-mirror/mirror/ /srv/ftp/debian/
Setup Local Repositories in UbuntuDebian Repository Setup

Debian Repository Setup

8. For a daily apt-mirror synchronization you can also create a system schedule job to run at 2 AM every day. Run crontab command, select your preferred editor then add the following line syntax.

$ sudo crontab –e
Setup Local Repositories in UbuntuDaily apt-mirror Synchronization

Daily apt-mirror Synchronization

On last line add the following line.

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/
Setup Local Repositories in UbuntuAdd Cron Entry for Synchronization

Add Cron Entry for Synchronization

Now every day at 2 AM your system repository cache will synchronize with Ubuntu official mirrors and create a log file.

Step 2: Configure clients

9. To configure local Ubuntu clients, edit /etc/apt/source.list on client computers to point to the IP address or hostname of apt-mirror server – replace http protocol with ftp, then update system.

deb trusty universe
deb trusty main restricted
deb trusty-updates main restricted
-- Ad so on….
Setup Local Repositories in UbuntuConfigure Clients

Configure Clients

10. To view repositories you can actually open a browser and point to your server IP address of domain name using FTP protocol.

Setup Local Repositories in UbuntuView Local Repositories

View Local Repositories

The same system applies also to Debian clients and servers, the only change needed are debian mirror and sources list.

Also if you install a fresh Ubuntu or Debian system, provide your local mirror manually whit ftp protocol when installer asks which repository to use.

The great thing about having your own local mirror repositories is that you’re always on current and your local clients don’t have to connect to Internet to install updates or software.

Kernel 3.16 Released – Compile and Install on Debian GNU/Linux

Kernel 3.16 Released &-8211; Compile and Install on Debian GNU/Linux &-8211; this Article or News was published on this date:2019-05-28 19:03:30 kindly share it with friends if you find it helpful

Kernel is the core of any operating System. The primary function of kernel is to act as mediator in-between Application – CPU, Application – Memory and Application – Devices (I/O). It function as Memory Manager, Device manager and attends System calls besides performing other tasks.

Install Kernel 3.16 in Debian LinuxInstall Kernel 3.16 in Debian Linux

Compile and Install Kernel 3.16 in Debian Linux

For Linux, Kernel is its heart. The Linux Kernel is released under GNU General Public License. Linus Torvalds developed Linux Kernel in the year 1991 and he came with Initial Kernel Release Version 0.01. On 3rd of August, 2014 (this year) Kernel 3.16 has been released. In this 22 years, Linux kernel has seen a lots of development. Now there are thousand of companies, millions of independent developer contributing to Linux Kernel.

A rough estimation of big brands and their contribution to the present Linux Kernel which is expected to have 17 million lines of code as per Linux Foundation, Linux Kernel Development Report.

  1. RedHat – 10.2%
  2. Intel – 8.8%
  3. Texas Instruments – 4.1%
  4. Linaro – 4.1%
  5. SUSE – 3.5%
  6. IBM – 3.1%
  7. Samsung – 2.6%
  8. Google – 2.4%
  9. Vision Engraving Systems – 2.3%
  10. Wolfson Microelectronics – 1.6%
  11. Oracle – 1.3%
  12. Broadcom – 1.3%
  13. Nvidia – 1.3%
  14. Freescale – 1.2%
  15. Ingics Technology – 1.2%
  16. Cisco – 0.9%
  17. Linux Foundation – 0.9%
  18. AMD – 0.9%
  19. Academics – 0.9%
  20. NetAPP – 0.8%
  21. Fujitsu – 0.7%
  22. parallels – 0.7%
  23. ARM – 0.7%

Seventy percent of kernel development is done by Developers, who are working in Corporates and are paid for that, sounds Interesting?

Linux Kernel 3.16 is released for individual as well as companies in production environment, who will be updating their kernel for a number of reason, a few of which includes.

  1. Security Patches
  2. Stability Enhancement
  3. Updated Drivers – Better device Support
  4. Processing speed improvement
  5. Latest Functions, etc

This article aims at updating Debian kernel, the Debian way, which means less manual work, less risk yet with perfection. We will also be updating Ubuntu Kernel in the later part of this article.

Step 1: Downloading Kernel 3.16

Before we proceed, we must know about our current kernel, that is installed.

[email protected]:~$ uname -mrns 

Linux sfnews 3.14-1-amd64 x86_64

About options:

  1. -s : Print Operating System (‘Linux’, Here).
  2. -n : Print System Hostname (‘sfnews’, Here).
  3. -r : Print Kernel Version (‘sfnews 3.14-1-amd64’, Here).
  4. -m : Print Hardware Instruction Set (‘x86_64’, Here).

Download latest stable Kernel from the link below. Don’t get confused by patches download link there. Download the one which clearly states – “LATEST STABLE KERNEL”.


Alternatively you can use wget to download the kernel which is more convenient.

[email protected]:~/Downloads$ wget

Step 2: Verify Kernel 3.16 Signature

After the download is finished and before we move ahead, it is strongly advised to verify kernel signature.

[email protected]:~/Downloads$ wget

The signature verification needs to be done against uncompressed file. This is to require one signature against various compression format viz., .gz, .bz2, .xz.

Next, uncompress Linux Kernel Image.

[email protected]:~/Downloads$ unxz linux-3.16.tar.xz

Verify it against signature.

[email protected]:~/Downloads$ gpg --verify linux-3.16.tar.sign
Install Kernel 3.16 in Debian LinuxVerify Kernel Signature

Verify Kernel Signature

Note: If above command throws gpg: Can’t check signature: public key not found error. That means we need to download Public key manually from PGP Server.

[email protected]:~/Downloads$ gpg --recv-keys  00411886
Install Kernel 3.16 in Debian LinuxDownload Public Key

Download Public Key

After downloading key, verify the the Key again.

[email protected]:~/Downloads$ gpg --verify linux-3.16.tar.sign
Install Kernel 3.16 in Debian LinuxVerify Key

Verify Key

Have you noticed two things about gpg key verification.

  1. gpg: Good signature from “Linus Torvalds [email protected]>”.
  2. Primary key fingerprint: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .

Nothing to worry about key fingerprint, we are sure now that the archive is OK and signed. Lets move ahead!

Step 3: Installing Required Packages

Before we go ahead and start building the kernel, we need to install certain packages to ease the kernel building and Installation process and do it risk-free Debian way.

Install libcurse5-dev, fakeroot and kernel-package.

[email protected]:~/Downloads$ sudo apt-get install libncurses5-dev
[email protected]:~/Downloads$ sudo apt-get install fakeroot
[email protected]:~/Downloads$ sudo apt-get install kernel-package

Step 4: Building Kernel 3.16

After successful installation of the above packages, we are ready to build kernel. Move to the extracted Linux Kernel Image (we extracted above, while verifying signature).

[email protected]:~/Downloads$ cd linux-3.16/

Now it’s important to copy the current kernel configuration to present working directory as root user.

- cp /boot/config-'uname -r' .config

It is copying /boot/config-‘uname -r’ to present working directory “/home/avi/Downloads/linux-3.16 ” and saving it as ‘.config‘.

Here ‘uname -r‘ will automatically be replaced and processed with your currently installed kernel version.

Since a dot file can’t be seen the normal way, you need to use option ‘-a‘ with ls to view this, in your present working directory’.

$ ls -al
Install Kernel 3.16 in Debian LinuxBuilding Kernel 3.16 in Debian

Building Kernel 3.16

There are three ways to build a Linux Kernel.

  1. make oldconfig : It is an interactive way in which kernel ask question one by one what it should support and what not. It is a Very time consuming Process.
  2. make menuconfig : It is a Command-Line Menu based system where user can enable and disable an option. It requires ncurses library hence we Apt that above.
  3. make qconfig/xconfig/gconfig : It is the Graphical Menu based system where user can enable and disable an option. It requires QT Library.

Obviously we will be using ‘make menuconfig‘.

Afraid of building kernel? You should not be. Its fun, there is lot of stuff you will learn. You should keep in mind these following things.

  1. Your hardware needs and appropriate drivers.
  2. Choose new features while you are building kernel yourself like – high memory support.
  3. Optimize kernel – select only those drivers which you need. It will speed up your boot process. If you are not sure of any driver, better include that.

Now, run the ‘make menuconfig‘ command.

- make menuconfig

Important: You must choose “SELECT – ENABLE LOADABLE MODULE SUPPORT“, if you forget to do this, you are going to get hard times.

Install Kernel 3.16 in Debian LinuxKernel Menuconfig

Run Make Menuconfig

Note: In the open configuration windows you can configure various options for your network card, bluetooth, Touchpad, Graphics card, Filesystem support such as NTFS and a lot other options.

There is no tutorial to guide you what you should select and what not. You come to know this only by Researching, studying stuff over web, learning from tutorials of sfnews and in every other possible way.

You may see there is an option kernel hacking. Hacking? Yup! Here it means exploration. You can add various options under kernel hacking and utilize a lot of features.

Next, select Generic Driver Options.

Install Kernel 3.16 in Debian LinuxSelect Drivers for Kernel Compilation

Select Drivers for Kernel Compilation

Network Device Support.

Install Kernel 3.16 in Debian LinuxSelect Network Support for Kernel

Select Network Support for Kernel

Input Device support.

Install Kernel 3.16 in Debian LinuxInput Device Support for Kernel

Input Device Support for Kernel

Load the configuration file (.config), we saved from /boot/config-`uname –r`.config.

Install Kernel 3.16 in Debian LinuxLoad Kernel Configuration

Load Kernel Configuration

Click on OK, save and exit. Now clean the source tree and reset the kernel-package parameters.

- make-kpkg clean
Install Kernel 3.16 in Debian LinuxReset Kernel Parameters

Reset Kernel Parameters

Step 5: Compiling Kernel 3.16

Before we start compiling kernel, we need to export CONCURRENCY_LEVEL. CONCURRENCY LEVEL of thumb has a rule to add Numeric 1 to the cores of kernel. If you have 2 cores, export CONCURRENCY_LEVEL=3. If you have 4 cores, export CONCURRENCY_LEVEL=5.

To check cores of processor you can user cat command as shown below.

- cat /proc/cpuinfo
Sample Output
Sample Output
processor	: 0 
vendor_id	: GenuineIntel 
cpu family	: 6 
model		: 69 
model name	: Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz 
stepping	: 1 
microcode	: 0x17 
cpu MHz		: 799.996 
cache size	: 3072 KB 
physical id	: 0 
siblings	: 4 
core id		: 0 
cpu cores	: 2 
apicid		: 0 
initial apicid	: 0 
fpu		: yes 
fpu_exception	: yes 
cpuid level	: 13 
wp		: yes

You see above output, I have 2 cores, so we will exporting 3 cores as shown below.


Setting correct CONCURRENCY_LEVEL will speed up the kernel compilation time.

- fakeroot make-kpkg --append-to-version "-sfnewskernel" --revision "1" --initrd kernel_image kernel_headers

Here ‘tecminkernel‘ is the kernel build name, it can be anything ranging from your name, your host name, your pet name or anything else.

Install Kernel 3.16 in Debian LinuxBuilding Linux Kernel in Debian

Building Linux Kernel

Install Kernel 3.16 in Debian LinuxLinux Kernel Compilation in Debian

Linux Kernel Compilation

Install Kernel 3.16 in Debian LinuxKernel Compilation Process in Debian

Kernel Compilation Process

Install Kernel 3.16 in Debian LinuxKernel Compilation Continues

Kernel Compilation Continues

Kernel compilation takes a lot of time depending upon the modules being compiled and the processing power of the machine. Till the time it is compiling look at some of the FAQs of kernel compilation.

Frequently Asked Questions

Q1. My kernel is being compiled for a long time. Is it Normal.
Answer : YUP! It is normal. It depends upon your module selection and machine power.
Q2. If I interrupt the kernel while it was compiling, Do I need to start all over again?
Answer : Yup! There is no other way.
Q3. The compiled files can be used on different system to update kernel?
Answer : Yes! The compiled kernel file we will be getting can be used to update other kernel of Debian machine of same architecture, with the fact that some of your hardware may not work, if it is different on your other machine.
Q4. Will you be hosting your compiled File?
Answer : Yes! You can download it from the bottom of this page, but we don’t guarantee all your hardware will work. It is recommended to compile your kernel if you are not that lazy.
Q5. Do I have packages like fakeroot and ncurses5-dev in my repository?
Answer : Don’t ask me. You have the same resource I am having.
Q6. Will I able to boot into last kernel, after I install the latest kernel.
Answer : Yes you can boot into last kernel, if you have not removed them (see remove unused kernel), by selecting Advanced option from the Boot Menu.
Q7. I am facing problem in updating kernel. Will you assist me? Is it chargeable?
Answer : We can help you through technical aspects of kernel compilation and installation and its not chargeable, however you can donate, if you find our work Genuine and worth.
Q8. My company facing Problem in updating Kernel. Will your team assist us? Is it Chargeable?
Answer : Yes! It comes under our service and is chargeable, which is very nominal and competitive. You may drop a mail to us and we will contact you, if You are interested.

That’s the end of FAQ, let me move with compilation process. After successful compilation of kernel, it creates two file (Debian package), one directory ‘above’ of our present working Directory.

Our current working directory is.


Debian packages are created at.


To verify it, run the following commands.

- cd ..
- ls -l linux-*.deb
Install Kernel 3.16 in Debian LinuxVerify Kernel Packages

Verify Kernel Packages

Next, run the Linux image file so created.

- dpkg -i linux-image-3.16.0-sfnewskernel_1_amd64.deb
Install Kernel 3.16 in Debian LinuxInstall Kernel Image in Debian

Install Kernel Image

Run the Linux header file so created.

- dpkg -i linux-headers-3.16.0-sfnewskernel_1_amd64.deb
Install Kernel 3.16 in Debian LinuxInstall Kernel Headers in Debian

Install Kernel Headers

All done! We have successfully build, compiled and installed Latest Linux Kernel 3.16 on Debian with all other dependencies. Moreover Debian package managed to update bootloader (GRUB/LILO), automatically. It’s time to reboot and test the latest kernel.

Please sure to notice any error message you might get during booting. It is important to understand that error to solve them, if any.

- reboot

As soon as Debian starts again, click on ‘Advanced option‘ to see a list of available and installed kernels.

Install Kernel 3.16 in Debian LinuxKernel Boot Advance Options

Kernel Boot Advance Options

See a list of installed kernels.

Install Kernel 3.16 in Debian LinuxList Installed Kernels

List Installed Kernels

Select latest compiled Kernel (i.e. 3.16) to boot.

Install Kernel 3.16 in Debian LinuxBoot Installed Kernel

Boot Installed Kernel

Check kernel version.

- uname -mrns
Install Kernel 3.16 in Debian LinuxVerify New Kernel Version

Verify New Kernel Version

The latest one, installed now is set to boot, automatically and you need not choose it every time from advanced boot options.

Step 6: Install Pre-Compiled Kernel 3.16

For those who don’t want to compile kernel of their own on Debian (x86_64) and wants to use the pre-compiled kernel that we build in this tutorial, they can download it from the link below. This kernel may not work for some of the hardware you may be having.

  1. linux-image-3.16.0-sfnews.com_kernel_1_amd64.deb
  2. linux-headers-3.16.0-sfnews.com_kernel_1_amd64.deb

Next, install pre-compiled kernel using following command.

- dpkg -i linux-image-3.16.0-sfnews.com_kernel_amd64.deb
- dpkg -i linux-headers-3.16.0-sfnews.com_kernel_amd64.deb

The unused kernel can be removed from the system using command.

- apt-get remove linux-image-(unused_version_number)

Caution: You should remove old kernel after testing Latest kernel throughly. Don’t take a decision in hurry. You should proceed only if you know what you are doing.

If you did something wrong in removing the kernel you want, or removed the kernel you were not supposed to, your system will be in a stage you can’t work upon.

After uninstalling an unused kernel you may get a message like.

  1. The link /vmlinuz is a damaged link.
  2. Removing symbolic link vmlinuz.
  3. You may need to re-run your boot loader[grub].
  4. The link /initrd.img is a damaged link.
  5. Removing symbolic link initrd.img .
  6. You may need to re-run your boot loader[grub].

This is normal and you need not to worry. Just update your GRUB using the following command.

- /usr/sbin/update-grub

You may need to update your /etc/kernel-img.conf file and disable ‘do_symlinks‘, to disable these messages. If you are able to reboot and login again, there is no problem.

That’s all for now. I will be here again with another interesting article. Till then stay tuned and connected to sfnews. Don’t forget to provide us with your valuable feedback in the comment section below. Also tell us your experience when you encounter Kernel compilation and installation.

Read Also :

  1. Install Kernel 3.16 in Ubuntu
  2. Compile and Install Kernel 3.12 in Debian Linux
Logical Volume Management on Debian Linux

Logical Volume Management on Debian Linux &-8211; this Article or News was published on this date:2019-05-28 18:47:36 kindly share it with friends if you find it helpful

Debian Linux is a popular Linux distribution and caters to end user workstations as well as network servers. Debian is often praised for being a very stable Linux distribution. Debian’s stability paired with the flexibility of LVM makes for a highly flexible storage solution that anyone can appreciate.

Before continuing with this tutorial, sfnews offers a great review and overview of the installation of Debian 7.8 “Wheezy” which can be found here:

  1. Installation of Debian 7.8 “Wheezy”

Logical Volume Management (LVM) is a method of disk management that allows multiples disks or partitions to be collected into one large storage pool that can be broken up into storage allocations known as Logical Volumes.

Since an administrator can add more disks/partitions as they desire, LVM becomes a very viable option for changing storage requirements. Aside from the easy expandability of LVM, some data resiliency features are also built into LVM. Features such as snap-shot abilities and data migration from failing drives, provide LVM with even more abilities to maintain data integrity and availability.

Setup LVM on DebianSetup LVM on Debian

Setup LVM on Debian

Installation Environment
  1. Operating System – Debian 7.7 Wheezy
  2. 40gb boot drive – sda
  3. 2 Seagate 500gb drives in Linux Raid – md0 (RAID not necessary)
  4. Network/Internet connection

Installing and Configuring LVM on Debian

1. Root/administrative access to the system is needed. This can be obtained in Debian through the use of the su command or if the appropriate sudo settings have been configured, sudo can be used as well. However this guide will assume root login with su.

2. At this point the LVM2 package needs to be installed onto the system. This can be accomplished by entering the following into the command line:

- apt-get update && apt-get install lvm2

At this point one of two commands can be run to ensure that LVM is indeed installed and ready to be used on the system:

- dpkg-query -s lvm2
- dpkg-query -l lvm2
Setup LVM on DebianInstallation of LVM on Debian

Check LVM Installation Status

3. Now that the LVM software is installed, it is time to prepare the devices for use in an LVM Volume Group and eventually into Logical Volumes.

To do this the pvcreate utility will be used to prepare the disks. Normally LVM would be done on a per partition basis using a tool such as fdisk, cfdisk, parted, or gparted to partition and flag the partitions for use in a LVM setup, however for this setup two 500gb drives were raided together to create a RAID array called /dev/md0.

This RAID array is a simple mirror array for redundancy purposes. In the future, an article explaining how RAID is accomplished will also be written. For now, let’s move ahead with the preparation of the physical volumes (The blue blocks in the diagram at the beginning of the article).

If not using a RAID device, substitute the devices that are to be part of the LVM setup for ‘/dev/md0‘. Issuing the following command will prepare the RAID device for use in an LVM setup:

- pvcreate /dev/md0

4. Once the RAID array has been prepared, it needs to be added to a Volume Group (the green rectangle in the diagram at the beginning of the article) and this is accomplished with the use of the vgcreate command.

The vgcreate command will require at minimum two arguments passed to it at this point. The first argument will be the name of the Volume Group to be created and the second argument will be the name of the RAID device prepared with pvcreate in step 3 (/dev/md0). Putting all of the components together would yield a command as follows:

- vgcreate storage /dev/md0

At this point, LVM has been instructed to create a volume group called ‘storage‘ that will use the device ‘/dev/md0‘ to store the data that is sent to any logical volumes that are a member of the ‘storage‘ volume group. However, at this point there still aren’t any Logical Volumes to be used for data storage purposes.

5. Two command can quickly be issued to confirm that the Volume Group was successfully created.

  1. vgdisplay – Will provide far greater detail about the Volume Group.
  2. vgs – A quick one line output to confirm that the Volume Group is in existence.
- vgdisplay
- vgs
Setup LVM on DebianCreate Volume Group in Debian

Check Volume Group

6. Now that the Volume Group is confirmed ready, the Logical Volumes themselves, can be created. This is the end goal of LVM and these Logical Volumes are were data will be sent in order to get written to the underlying physical volumes (PV) that make up the Volume Group (VG).

To create the Logical Volumes, several arguments need to be passed to the lvcreate utility. The most important and essential arguments include: the size of the Logical Volume, the name of the Logical Volume, and which Volume Group (VG) this newly created Logical Volume (LV) will belong. Putting all this together yields a lvcreate command as follows:

- lvcreate -L 100G -n Music storage

Effectively this command says to do the following: create a Logical Volume that is 100 gigabytes in length that has a name of Music and belongs to the Volume Group storage. Let’s go ahead and create another LV for Documents with a size of 50 gigabytes and make it a member of the same Volume Group:

- lvcreate -L 50G -n Documents storage

The creation of the Logical Volumes can be confirmed with one of the following commands:

  1. lvdisplay – Detailed output of the Logical Volumes.
  2. lvs – Less detailed output of the Logical Volumes.
- lvdisplay
- lvs
Setup LVM on DebianCreate Logical Volume in Debian

Create Logical Volumes in Debian