{"id":1243,"date":"2017-11-06T18:57:40","date_gmt":"2017-11-06T16:57:40","guid":{"rendered":"https:\/\/community.virtono.com\/?p=1243"},"modified":"2017-11-06T18:57:40","modified_gmt":"2017-11-06T16:57:40","slug":"compiling-linux-kernels-under-ubuntu-or-debian","status":"publish","type":"post","link":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/","title":{"rendered":"Compiling Linux kernels under Ubuntu or Debian"},"content":{"rendered":"<div id=\"bodyContent\" class=\"mw-body-content\">Compiling a Linux kernel is not an everyday occurrence for most administrators.\u00a0It is all the more important\u00a0to know\u00a0the right\u00a0<b>tools<\/b>\u00a0when the time comes.\u00a0The following article shows examples of how Mainline \/ Vanilla Kernel and the distribution-specific\u00a0<b>kernel are compiled<\/b>.<\/div>\n<div><\/div>\n<div class=\"mw-body-content\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#Install_required_software\" title=\"Install required software\">Install required software<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#Download_Linux_Kernel_Source\" title=\"Download Linux Kernel Source\">Download Linux Kernel Source<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#Mainline_Vanilla_Kernel\" title=\"Mainline \/ Vanilla Kernel\">Mainline \/ Vanilla Kernel<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#Kernel_Packages_in_Repos\" title=\"Kernel Packages in Repos\">Kernel Packages in Repos<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#Kernel_teams\" title=\"Kernel teams\">Kernel teams<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#Create_configuration\" title=\"Create configuration\">Create configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#Compile_and_install\" title=\"Compile and install\">Compile and install<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#make_and_install\" title=\"make and install\">make and install<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/#make_deb-pkg\" title=\"make deb-pkg\">make deb-pkg<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Install_required_software\"><\/span><span id=\"Ben.C3.B6tigte_Software_installieren\" class=\"mw-headline\">Install required software<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The following packages are needed to compile:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>$ sudo apt-get install fakeroot build-essential devscripts libncurses5 libncurses5-dev\r\n$ sudo apt-get build-dep linux\r\n<\/pre>\n<\/div>\n<p>The library ncurses needs to be installed only when\u00a0<code>make menuconfig<\/code>used.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Download_Linux_Kernel_Source\"><\/span><span id=\"Linux_Kernel_Source_herunterladen\" class=\"mw-headline\">Download Linux Kernel Source<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The kernel source code can be reached via several ways.\u00a0Distribution kernels always contain patches from the respective kernel team of the distribution.\u00a0The mainline \/ vanilla kernel does not include these patches.\u00a0For Ubuntu there is a\u00a0Kernel Mapping Table\u00a0(canonical.com), which represents a mapping between Mainline and Ubuntu Kernel.<\/p>\n<p>Traditionally, kernels were mostly\u00a0compiled\u00a0under\u00a0<code>\/usr\/src<\/code>as\u00a0<i>root<\/i>\u00a0.\u00a0Currently it is no longer necessary\u00a0to use\u00a0<i>root<\/i>\u00a0to compile\u00a0<i>root<\/i>\u00a0.\u00a0The tar archive can therefore be unpacked as a normal user in the home directory.\u00a0If the Linux source code is installed via apt as a package, it will remain\u00a0<code>\/usr\/src<\/code>in use.\u00a0There\u00a0<i>root<\/i>rights are needed again.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Mainline_Vanilla_Kernel\"><\/span><span id=\"Mainline.2FVanilla_Kernel\" class=\"mw-headline\">Mainline \/ Vanilla Kernel<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The mainline kernel, without distribution patches, is maintained at\u00a0kernel.org\u00a0.\u00a0Download is a tar archive,\u00a0XZ\u00a0compressed available.<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>$ wget https:\/\/kernel.org\/pub\/linux\/kernel\/v3.x\/linux-3.17.2.tar.xz\r\n$ tar xf linux-source-3.17.tar.xz\r\n<\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"Kernel_Packages_in_Repos\"><\/span><span id=\"Kernel_Packages_in_Repos\" class=\"mw-headline\">Kernel Packages in Repos<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In the repositories is the Linux source code as a package, the Linux sources are\u00a0<code>apt-get<\/code>installed by:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>$ apt-cache search linux-source\r\nlinux-source - Linux kernel <span class=\"nb\">source<\/span> with Ubuntu patches\r\nlinux-source-3.13.0 - Linux kernel <span class=\"nb\">source <\/span> <span class=\"k\">for<\/span> version 3.13.0 with Ubuntu patches\r\n$ Sudo apt-get install linux-source\r\n<span class=\"o\">[<\/span> ... <span class=\"o\">]<\/span>\r\n\/ usr \/ src $ sudo tar xjf linux-source-3.2.tar.bz2\r\n<\/pre>\n<\/div>\n<h4><span class=\"ez-toc-section\" id=\"Kernel_teams\"><\/span><span id=\"Kernel_Teams\" class=\"mw-headline\">Kernel teams<\/span><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Debian:\u00a0https:\/\/wiki.debian.org\/DebianKernel<\/li>\n<li>Ubuntu:\u00a0https:\/\/wiki.ubuntu.com\/KernelTeam<\/li>\n<\/ul>\n<p><b>The kernel compiling steps are\u00a0<code>tar.gz<\/code>the\u00a0<code>linux-source<\/code>same\u00a0for both\u00a0the\u00a0package\u00a0and the\u00a0package.\u00a0If the kernel is\u00a0<code>\/usr\/src<\/code>compiled\u00a0into\u00a0what is the case\u00a0<code>linux-src<\/code>by default,\u00a0<i>root<\/i>\u00a0rights are needed.<\/b><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Create_configuration\"><\/span><span id=\"Konfiguration_erstellen\" class=\"mw-headline\">Create configuration<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The kernel configuration defines how and what parts of the kernel are compiled.\u00a0The best way to start is to use the existing\u00a0<code>.config<\/code>distribution file.\u00a0There are also several\u00a0<code>make<\/code>targets available\u00a0for editing the configuration.<\/p>\n<div class=\"thumb tright\">\n<div class=\"thumbinner\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"thumbimage\" src=\"https:\/\/i0.wp.com\/www.thomas-krenn.com\/de\/wikiDE\/images\/thumb\/5\/50\/Linux-kernel-make-menuconfig.png\/300px-Linux-kernel-make-menuconfig.png?resize=362%2C216&#038;ssl=1\" alt=\"\" width=\"362\" height=\"216\" \/><\/p>\n<div class=\"thumbcaption\">\n<div class=\"magnify\"><\/div>\n<p>make menuconfig is an interactive menu for customizing the kernel config file<\/p><\/div>\n<\/div>\n<\/div>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>$ Cp \/ boot \/ config <span class=\"sb\">`<\/span> uname -r <span class=\"sb\">`<\/span> config\r\n$ make silentoldconfig\r\n$ make menuconfig\r\n<\/pre>\n<\/div>\n<ul>\n<li><code>make silentoldconfig<\/code>Same as oldconfig, but quietly, so update deps<\/li>\n<li><b>Attention<\/b>\u00a0: If\u00a0<code>make localmodconfig<\/code>used, all currently not loaded modules are deactivated in the configuration!\u00a0It may therefore also be the case that the USB module driver drops out if no USB medium is connected.\u00a0Therefore, use this make target only if you want to create a customized kernel for the associated system.\n<ul>\n<li><code>make localmodconfig<\/code>: Update current config disabling modules not loaded, sa\u00a0Linux kernel tailor made\u00a0(heise.de)<\/li>\n<\/ul>\n<\/li>\n<li><code>make menuconfig<\/code>: Update current config using a menu based program<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Compile_and_install\"><\/span><span id=\"Kompilieren_und_installieren\" class=\"mw-headline\">Compile and install<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The kernel is either\u00a0compiled\u00a0over\u00a0<code>make<\/code>or over\u00a0<code>make deb-pkg<\/code>.\u00a0The latter creates\u00a0<code>.deb<\/code>packages, making it easier to install the kernel across multiple systems.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"make_and_install\"><\/span><span id=\"make_und_install\" class=\"mw-headline\">make and install<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><code>make<\/code>alone,\u00a0<code>bzImage<\/code>build\u00a0the kernel image\u00a0, the targets,\u00a0<code>make modules_install<\/code>and\u00a0<code>make install<\/code>install the kernel modules, kernel, initramfs, and perform a GRUB update.<\/p>\n<p>The following example compiles the kernel through the linux-3.17.2.tar.xz archive:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>$ make -j5\r\n  SYSTBL arch \/ x86 \/ syscalls \/..\/ include \/ generated \/ asm \/ syscalls_32.h\r\n  SYSHDR arch \/ x86 \/ syscalls \/..\/ include \/ generated \/ asm \/ unistd_32_ia32.h\r\n  SYSHDR arch \/ x86 \/ syscalls \/..\/ include \/ generated \/ asm \/ unistd_64_x32.h\r\n<span class=\"o\">[<\/span> ... <span class=\"o\">]<\/span> \r\n  LD <span class=\"o\">[<\/span> M <span class=\"o\">]<\/span>   sound \/ pci \/ hda \/ snd-hda-intel.ko\r\n  LD <span class=\"o\">[<\/span> M <span class=\"o\">]<\/span>   sound \/ pci \/ snd-as300.ko\r\n  LD <span class=\"o\">[<\/span> M <span class=\"o\">]<\/span>   sound \/ soundcore.ko\r\n$ sudo make modules_install\r\n  INSTALL arch \/ x86 \/ crypto \/ aes-x86_64.ko\r\n  INSTALL arch \/ x86 \/ crypto \/ aesni-intel.ko\r\n<span class=\"o\">[<\/span> ... <span class=\"o\">]<\/span>\r\n  INSTALL sound \/ pci \/ snd-as300.ko\r\n  INSTALL sound \/ soundcore.ko\r\n  DEPMOD 3.17.2\r\n$ sudo make install\r\nsh .\/arch\/x86\/boot\/install.sh 3.17.2 arch \/ x86 \/ boot \/ bzImage <span class=\"se\">\\<\/span> \r\n\t\tSystem.map <span class=\"s2\">\"\/ boot\"<\/span>\r\nrun-parts: executing \/etc\/kernel\/postinst.d\/apt-auto-removal 3.17.2 \/boot\/vmlinuz-3.17.2\r\nrun-parts: executing \/etc\/kernel\/postinst.d\/initramfs-tools 3.17.2 \/boot\/vmlinuz-3.17.2\r\nupdate-initramfs: Generating \/boot\/initrd.img-3.17.2\r\nrun-parts: executing \/etc\/kernel\/postinst.d\/pm-utils 3.17.2 \/boot\/vmlinuz-3.17.2\r\nrun-parts: executing \/etc\/kernel\/postinst.d\/update-notifier 3.17.2 \/boot\/vmlinuz-3.17.2\r\nrun-parts: executing \/etc\/kernel\/postinst.d\/zz-update-grub 3.17.2 \/boot\/vmlinuz-3.17.2\r\nGenerating grub configuration file ...\r\nWarning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is <span class=\"nb\">set to<\/span> no longer supported.\r\nFound linux image: \/boot\/vmlinuz-3.17.2\r\nFound initrd image: \/boot\/initrd.img-3.17.2\r\n<span class=\"o\">[<\/span> ... <span class=\"o\">]<\/span>\r\n<\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"make_deb-pkg\"><\/span><span id=\"make_deb-pkg\" class=\"mw-headline\">make deb-pkg<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>As mentioned earlier,\u00a0<code>make deb-pkg<\/code>Debian Packages builds after compiling.\u00a0To set up the kernel, it is sufficient to install the generated packages via dpkg.<\/p>\n<p>In the following example, the package was\u00a0<code>linux-source<\/code>installed and the kernel\u00a0<code>\/usr\/src<\/code>compiled in, so it\u00a0<code>sudo<\/code>uses:<\/p>\n<div class=\"mw-highlight mw-content-ltr\" dir=\"ltr\">\n<pre>$ sudo make -j5 deb-pkg <span class=\"nv\">LOCALVERSION <\/span><span class=\"o\">=<\/span> -custom <span class=\"nv\">KDEB_PKGVERSION <\/span><span class=\"o\">=<\/span> 1\r\n  CHK include \/ config \/ kernel.release\r\n  UPD include \/ config \/ kernel.release\r\nmake <span class=\"nv\">KBUILD_SRC <\/span><span class=\"o\">=<\/span>\r\n  SYSHDR arch \/ x86 \/ syscalls \/..\/ include \/ generated \/ uapi \/ asm \/ unistd_32.h\r\n  SYSHDR arch \/ x86 \/ syscalls \/..\/ include \/ generated \/ uapi \/ asm \/ unistd_64.h\r\n<span class=\"o\">[<\/span> ... <span class=\"o\">]<\/span> \r\ndpkg-deb: building package <span class=\"sb\">`<\/span> linux-headers-3.13.11.8-custom <span class=\"s1\">'in` ..\/linux-headers-3.13.11.8-custom_1_amd64.deb'<\/span> .\r\ndpkg-deb: building package <span class=\"sb\">`<\/span> linux-libc-dev <span class=\"s1\">'in` ..\/linux-libc-dev_1_amd64.deb'<\/span> .\r\ndpkg-deb: building package <span class=\"sb\">`<\/span> linux-image-3.13.11.8-custom <span class=\"s1\">'in` ..\/linux-image-3.13.11.8-custom_1_amd64.deb'<\/span> .\r\ndpkg-deb: building package <span class=\"sb\">`<\/span> linux-image-3.13.11.8-custom-dbg <span class=\"s1\">'in` ..\/linux-image-3.13.11.8-custom-dbg_1_amd64.deb'<\/span> .\r\n$ <span class=\"nb\">cd<\/span> ..\r\n$ sudo dpkg -i linux-image-3.13.11.8-custom_1_amd64.deb\r\n<span class=\"o\">[<\/span> ... <span class=\"o\">]<\/span>\r\nPreparing to unpack linux-image-3.13.11.8-custom_1_amd64.deb ...\r\nUnpacking linux-image-3.13.11.8-custom <span class=\"o\">(<\/span> 1 <span class=\"o\">)<\/span> ...\r\nSetting up linux-image-3.13.11.8-custom <span class=\"o\">(<\/span> 1 <span class=\"o\">)<\/span> ...\r\nupdate-initramfs: Generating \/boot\/initrd.img-3.13.11.8-custom\r\nGenerating grub configuration file ...\r\nFound linux image: \/boot\/vmlinuz-3.13.11.8-custom\r\nFound initrd image: \/boot\/initrd.img-3.13.11.8-custom\r\n<span class=\"o\">[<\/span> ... <span class=\"o\">]\r\n\r\n\r\n<\/span>Debian<\/pre>\n<\/div>\n<ul>\n<li>Under Debian, a newer kernel can be installed through the Backport repository.\u00a0<b>Attention:<\/b>\u00a0Security updates are only distributed after backports after best effort!<\/li>\n<\/ul>\n<pre># echo \"deb http:\/\/http.debian.net\/debian wheezy-backports main \r\ndeb-src http:\/\/http.debian.net\/debian wheezy-backports main \"&gt; \/etc\/apt\/sources.list.d\/backports.list\r\n# apt-get update\r\n# apt-get install -t wheezy-backports linux-image-amd64 linux-headers-amd64\r\n<\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Compiling a Linux kernel is not an everyday occurrence for most administrators.\u00a0It is all the more important\u00a0to know\u00a0the right\u00a0tools\u00a0when the time comes.\u00a0The following article shows examples of how Mainline \/ Vanilla Kernel and the distribution-specific\u00a0kernel are compiled. Install required software The following packages are needed to compile: $ sudo apt-get<\/p>\n","protected":false},"author":3,"featured_media":1244,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3],"tags":[],"class_list":["post-1243","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial-how-to"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/517444-636210253990788094_270x480_thumb.jpg?fit=480%2C270&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7ISfL-k3","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1341,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian-2\/","url_meta":{"origin":1243,"position":0},"title":"Compiling Linux kernels under Ubuntu or Debian","author":"Shreyash Sharma","date":"February 21, 2018","format":false,"excerpt":"Compiling a Linux kernel is not an everyday occurrence for most administrators.\u00a0It is all the more important\u00a0to know\u00a0the right\u00a0tools\u00a0when the time comes.\u00a0The following article shows examples of how Mainline \/ Vanilla Kernel and the distribution-specific\u00a0kernel are compiled\u00a0. \u00a0 Install required software The following packages are needed to compile: $ sudo\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/kernel1.png?fit=400%2C225&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1195,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/remove-old-kernels-in-ubuntu\/","url_meta":{"origin":1243,"position":1},"title":"Remove Old Kernels in Ubuntu","author":"Shreyash Sharma","date":"October 27, 2017","format":false,"excerpt":"For\u00a0Ubuntu\u00a0installations (prior to Ubuntu version 15.10) with\u00a0separate \/ boot partition\u00a0, it may fill up\u00a0after installing several updates\u00a0.\u00a0The issue occurs because older kernel versions are not automatically removed.\u00a0In this article, we'll show you how to manually uninstall older kernel versions, freeing up space in the \/ boot partition. Problem Installing new\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/Aug30-Kernel-Team-Summary.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/Aug30-Kernel-Team-Summary.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/Aug30-Kernel-Team-Summary.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/Aug30-Kernel-Team-Summary.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/10\/Aug30-Kernel-Team-Summary.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":724,"url":"https:\/\/www.virtono.com\/community\/news-announcements\/how-to-protect-your-server-against-the-dirty-cow-linux-vulnerability\/","url_meta":{"origin":1243,"position":2},"title":"How To Protect Your Server Against the Dirty COW Linux Vulnerability","author":"Virtono","date":"October 25, 2016","format":false,"excerpt":"Introduction : On October 19, 2016, a privilege escalation vulnerability in the Linux kernel was disclosed. The bug is nicknamed Dirty COW because the underlying issue was a race condition in the way kernel handles copy-on-write (COW). Dirty COW has existed for a long time at least since 2007, with\u2026","rel":"","context":"In &quot;Announcements&quot;","block_context":{"text":"Announcements","link":"https:\/\/www.virtono.com\/community\/category\/news-announcements\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/IMG_2035.jpg?fit=1200%2C900&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/IMG_2035.jpg?fit=1200%2C900&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/IMG_2035.jpg?fit=1200%2C900&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/IMG_2035.jpg?fit=1200%2C900&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/IMG_2035.jpg?fit=1200%2C900&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1256,"url":"https:\/\/www.virtono.com\/community\/internet-and-technology-news\/google-disassembles-usb-stack-of-the-linux-kernel\/","url_meta":{"origin":1243,"position":3},"title":"Google disassembles USB stack of the Linux kernel","author":"Daniel Draga","date":"November 9, 2017","format":false,"excerpt":"With a special fuzzer for kernel system calls from\u00a0Google\u00a0, extremely many bugs have been found in the USB stack of the\u00a0Linux kernel\u00a0.\u00a0Many of them are classified as critical vulnerabilities, which is true for all kernel bugs. The Syzkaller tool, created and developed with Google support, is intended to fuzzy operating\u2026","rel":"","context":"In &quot;IT News&quot;","block_context":{"text":"IT News","link":"https:\/\/www.virtono.com\/community\/category\/internet-and-technology-news\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/google-linux.png?fit=1200%2C569&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/google-linux.png?fit=1200%2C569&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/google-linux.png?fit=1200%2C569&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/google-linux.png?fit=1200%2C569&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/google-linux.png?fit=1200%2C569&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2150,"url":"https:\/\/www.virtono.com\/community\/knowledgebase\/get-kernel-statistics-and-hardware-information\/","url_meta":{"origin":1243,"position":4},"title":"Get kernel statistics and hardware information","author":"Shreyash Sharma","date":"December 17, 2020","format":false,"excerpt":"When administering Linux systems, quick information about the installed kernel and the existing hardware is often helpful.\u00a0The \/ proc filesystem provides extensive information on the console. Solution:\u00a0Linux systems reveal a lot about themselves, you just have to know where to look.\u00a0The \/ proc file system, for example, allows\u00a0very detailed information\u2026","rel":"","context":"In &quot;Knowledgebase&quot;","block_context":{"text":"Knowledgebase","link":"https:\/\/www.virtono.com\/community\/category\/knowledgebase\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2020\/12\/Top-command1-1024x550-1.png?fit=1024%2C550&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2020\/12\/Top-command1-1024x550-1.png?fit=1024%2C550&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2020\/12\/Top-command1-1024x550-1.png?fit=1024%2C550&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2020\/12\/Top-command1-1024x550-1.png?fit=1024%2C550&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":97,"url":"https:\/\/www.virtono.com\/community\/knowledgebase\/what-is-the-difference-between-kvm-and-openvz-virtualization\/","url_meta":{"origin":1243,"position":5},"title":"What is the difference between KVM and OpenVZ virtualization?","author":"Virtono","date":"July 18, 2016","format":false,"excerpt":"\u00a0 VS \u00a0What is the difference between KVM and OpenVZ? Usually this question arises when a person is looking for a Virtual Private Server, it\u2019s a dilemma, isn\u2019t it? Weighing the pros and cons but one thing that should be kept in mind is that out of these two, there\u2026","rel":"","context":"In &quot;Knowledgebase&quot;","block_context":{"text":"Knowledgebase","link":"https:\/\/www.virtono.com\/community\/category\/knowledgebase\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/1-2.jpg?fit=1024%2C768&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/1-2.jpg?fit=1024%2C768&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/1-2.jpg?fit=1024%2C768&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/07\/1-2.jpg?fit=1024%2C768&ssl=1&resize=700%2C400 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/comments?post=1243"}],"version-history":[{"count":1,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1243\/revisions"}],"predecessor-version":[{"id":1245,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1243\/revisions\/1245"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media\/1244"}],"wp:attachment":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media?parent=1243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/categories?post=1243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/tags?post=1243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}