ubuntu下编译linux内核_ubuntu下linux内核编译 - CSDN
精华内容
参与话题
  • ubuntu下编译linux内核

    2014-02-13 22:15:34
    原文地址:...当前电脑状态: 系统:Ubuntu 10.04.4 LTS kernel信息:2.6.32-38-generic 一、下载kernel源码 网址:http://www.kernel.org/ 我下载的文件:linux-2.6.32.61.tar.xz

    原文地址:http://hi.baidu.com/lcplj123/item/d47fc1d6000b554efb5768aa

    当前电脑状态:

    系统:Ubuntu 10.04.4 LTS

    kernel信息:2.6.32-38-generic


    一、下载kernel源码

    网址:http://www.kernel.org/

    我下载的文件:linux-2.6.32.61.tar.xz

    如何解压这个文件:

    首先,xz -d linux-2.6.32.61.tar.xz,会生成linux-2.6.32.61.tar文件

    然后,tar xvf linux-2.6.32.61.tar,就成功解压。

    解压目录:解压到一般的目录下就可以,没什么特别的。

    我解压后的目录:/home/yutao/yutao/linux/linux-2.6.32.61

    你现在就可以看这个版本的kernel的源码了,如果你不需要编译,后面的就不用看了。


    二、编译kernel


    1.make mrproper

    进入到/home/yutao/yutao/linux/linux-2.6.32.61目录下,在终端中执行make mrproper

    注:如果你是第一次编译,跳过此步。

    它的含义是将上一次编译的.o和.config等相关文件删除掉,它是更深层次的清除你上次编译内核的东西


    2.配置内核

    如果你对如何配置内核比较了解,你可以执行make menuconfig命令

    你或许也可以尝试make defconfig命令,它会基于默认的配置为你的体系结构创建一个配置。

    推荐使用下面的方法,来利用系统已经存在的内核配置文件:

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

    以我的为例:cp /boot/config-2.6.32-38-generic ./.config

    .config这个文件是隐藏的,Ctrl+H就可以看到它


    3.开始编译内核

    make bzImage         //编译大内核,编译小内核用make zImage  我用了10mins

    make modules         //编译模块 我用了40mins

    make install modules_install   //将内核与模块相关的文件复制到系统位置 很快,几分钟吧


    4.碰到的问题

            

    上面是我编译前后的/boot文件夹下的对比,我存在的问题是,我缺少了一个文件:initrd.img-2.6.32.61,而这是非常重要的一个文件。

    解决方法:http://blog.csdn.net/mayouyang/article/details/3997849

    首先进入到/lib/modules/,在这个目录下有一个2.6.32.61,应该是之前编译生成的,具体不详

    mkinitramfs 2.6.32.61 -o /boot/initrd.img-2.6.32.61

    这样,我的问题就解决了。


    5.修改开机引导项

    仿照已存在的项添加即可:

    sudo gedit /boot/grub/grub.cfg
    ### yutao add begin 20140213
    menuentry 'Ubuntu, with Linux 2.6.32.61 yutao' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod ext2
        set root='(hd0,6)'
        search --no-floppy --fs-uuid --set cd48f9e1-634a-4e4c-9ae6-a9851f69a5ef
        linux    /boot/vmlinuz-2.6.32.61 root=UUID=cd48f9e1-634a-4e4c-9ae6-a9851f69a5ef ro   quiet splash
        initrd    /boot/initrd.img-2.6.32.61
    }
    ### yutao add end 20140213


    6.reboot

    开机后,进入开机引导项后,就可以看到多了一个Ubuntu, with Linux 2.6.32.61 yutao,选择它就ok啦。

    进入系统后,查看内核版本号,发现已经不是之前的2.6.32.-38-generic

    yutao@yutao:~$ uname -r
    2.6.32.61
    yutao@yutao:~$

    展开全文
  • Ubuntu 18.04上编译Linux内核

    万次阅读 多人点赞 2019-01-08 13:43:48
    编译环境我选择了Ubuntu 18.04的虚拟机,内核截止2018-10-14最新版为4.18.14,笔者即将编译这个版本 请确保磁盘空间足够,笔者之前20G编译到最后空间不足,还得重来 如果你想要查看您的空间大小或者扩充磁盘,请...

    一、环境说明

    编译环境我选择了Ubuntu 18.04的虚拟机,内核截止2018-10-14最新版为4.18.14,笔者即将编译这个版本

    请确保磁盘空间足够,笔者之前20G编译到最后空间不足,还得重来

    如果你想要查看您的空间大小或者扩充磁盘,请查看我的另一篇文章https://blog.csdn.net/qq_36290650/article/details/83057832

    二、编译步骤

    • 下载内核源码

    前往https://www.kernel.org/,下载内核源码

    下载到的文件存放在Ubuntu桌面上,如下图

    • 解压

    桌面上右键打开终端,执行以下命令

    sudo tar -xavf linux-4.18.14.tar.xz
    • 安装必要依赖

    此处不同的系统会有所区分,不是使用较新版本Ubuntu的用户请注意区分

    命令如下:

    sudo apt-get install gcc make libncurses5-dev openssl libssl-dev 
    sudo apt-get install build-essential 
    sudo apt-get install pkg-config
    sudo apt-get install libc6-dev
    sudo apt-get install bison
    sudo apt-get install flex
    sudo apt-get install libelf-dev
    
    • 开始准备编译

    cd ~/Desktop/linux-4.18.14/
    sudo cp /boot/config-4.15.0-20-generic .config
    sudo make menuconfig

    会出现下图

    直接上下键,跳转至"Exit",即所有都为默认选项

    然后接着输入指令

    sudo make
    sudo make modules_install

    编译过程如下图,需要很久,取决于电脑性能

    三、安装

    接着输入一下命令

    sudo mv  ~/Desktop/linux-4.18.14  /usr/src/
    cd /usr/src/linux-4.18.14/
    sudo make install
    sudo mkinitramfs -o /boot/initrd.img-4.18.14 
    sudo update-initramfs -c -k 4.18.14
    sudo update-grub2

    四、检验成果

    sudo shutdown -r now
    uname -a

     

     

    展开全文
  • Ubuntu16.04LTS下编译Linux-4.15.7内核

    千次阅读 2018-04-02 08:46:31
    操作系统原理-课后作业1在Ubuntu16.04LTS下编译Linux-4.15.7内核一、下载内核官网:https://www.kernel.org/我下载的是Linux-4.15.7版本。·在终端输入sudo –su切换到root账户。·输入mv linux-4.15.7.tar.gz /...

    操作系统原理-课后作业1

    在Ubuntu16.04LTS下编译Linux-4.15.7内核


    一、下载内核

    官网:https://www.kernel.org/

    我下载的是Linux-4.15.7版本。

    ·在终端输入sudosu切换到root账户。

    ·输入mv linux-4.15.7.tar.gz  /usr/src,把下载的内核源代码文件移到/usr/src目录。

    ·输入cd /usr/src,切换到该目录下。

    ·输入tar zxvf linux,4.15.7.tar.gz,解压内核包,生成的源代码放在linux-2.6.36目录下。

    ·输入cd linux-4.15.7,切换到该目录下。


    二、下载软件依赖包

    一般的内核编译依赖软件包主要有以下几个:

    · libncurses5-dev :主要是在make menuconfig时能够出现图形化的选择菜单所依赖的的库;

    · libssl-dev : openssl的依赖包;

    · build-essential:建立debian软件包的工具;

    · openssl:涉及到系统安全的编译过程中的相关程序的依赖库;

    · zlibc:允许运行中的文件能够实现解压缩数据文件的一个工具;

    · minizip:是一个轻量级的支持库,能够支持压缩、提取、查看和操作ZIP文件。该软件包包括minizipminiunzip工具;

    · libidn11-dev : 涉及到系统帮助等文档以及软件库等信息的一个软件包;

    如果没有下载依赖包就会报错:

    软件依赖包安装命令:

    sudo apt-get install libncurses5-dev libssl-dev
    sudo apt-get install build-essential openssl
    sudo apt-get install zlibc minizip
    sudo apt-get install libidn11-dev libidn11

    如过安装过程中按Y嫌麻烦,可以在安装命令后面加上个-y参数。


    三、编译内核

    依次使用命令:

    sudo make mrproper
    sudo make clean
    sudo make menuconfig

    实现完全干净的第一次编译。

    其中mrproper为清除编译过程中产生的所有中间文件。

    clean为清除上一次产生的编译中间文件。

    menuconfig中出现选择的图形化界面后,直接按右方向键选择到exit退出,退出提示中选择保存,实现内核的默认配置。

    进入Menuconfig界面,进行内核裁剪:

    内核裁剪中参数的具体含义见以下博客:

    http://blog.csdn.net/zhanjianshinian/article/details/9143349 

    剪裁完毕后即可使用make命令进行内核编译。

    先使用lscpu命令看看你的cpu支持几个线程:


    输入make –j3命令,使用三个线程进行编译:

    编译过程:



    四、安装内核

    编译完成后使用:

    sudo make modules_install
    sudo make install

    依次安装内核模块和内核。

    安装完成:


    五、加载内核

    重新启动系统,选择高级选项,进入内核选择加载界面,选择自己编译的内核的正常模式。

    成功!

    展开全文
  • Ubuntu16.04编译Linux内核

    千次阅读 2018-03-15 13:30:39
    本文介绍在Ubuntu编译Linux内核并添加新的启动项信息。第一步:下载内核源码并解压内核源码可以在官网下载:点击打开链接笔者用的内核版本是4.14的。把下载好的内核源码放在/usr/src/kernel目录,没有这个目录的...

    本文介绍在Ubuntu中编译Linux内核并添加新的启动项信息。

    第一步:下载内核源码并解压

    内核源码可以在官网下载:点击打开链接

    笔者用的内核版本是4.14的。把下载好的内核源码放在/usr/src/kernel目录下,没有这个目录的话可以自己创建。通过以下命令把内核源码解压,后面跟的是源码文件名。

    tar xvJf  xxxxxx.tar.xz

    第二步:配置编译选项

    配置编译选项有多种方法:

    (1)make config:基于文本的配置界面。

    (2)make menuconfig:基于文本的菜单式配置界面。

    (3)make xconfig:基于X Windows(Qt)图形配置界面。

    (4)make gconfig:基于X Windows(Gtk)图形配置界面。

    (5)make oldconfig:使用原有内核配置。

    这里使用最简单的make config。

    进入解压得来的文件夹,使用make config命令配置编译选项。如果没特殊要求,一路回车选择默认配置就好。

    第三步:开始编译内核

    使用make bzImage命令开始编译内核,此过程大概需要一小时。

    使用make modules编译相应的内核模块,接着使用make modules_install安装编译好的内核模块。此过程大概需要两个小时。

    在以上过程中出现scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误的解决办法:点击打开链接

    第四步:添加新的启动项信息

    将/usr/src/kernel/linux-4.14/arch/x86/boot下的bzImage文件拷贝到/boot下,并重命名为vmlinuz-4.14.0,后面是内核版本。这时候该目录下还有init-4.14.0,这是通过命令make modules_install得到的。


    修改grub/grub.cfg文件:


    只需把上面名为"Ubuntu"的启动项信息复制下来,修改一下启动项名字,还有在linux,initrd分别改成对应的两个文件即可。

    重启系统可以进入新的内核。通过uname -r命令可以得到当前内核版本。

    展开全文
  • ubuntu16.04LTS下编译linux内核

    千次阅读 2016-12-10 17:03:16
    编译linux首先要下载好linux源代码文件 点此进入linux内核源代码官网:https://www.kernel.org/ 你可以选择最新的版本进行下载,截至本文,linux内核版本已经到4.8,笔者使用的是4.5版本。 stable版的内核1...
  • 如何更新/替换ubuntu16.04内核

    万次阅读 2017-01-23 22:33:20
    如何更新/替换ubuntu...下载内核代码因为kernel.org的代码和ubuntu内核的代码并不完全一致,所以直接从kernel.org下载下来的代码无法确保编译后可以成功运行于老的ubuntu平台,所以应该使用ubuntu的最新的内核代码
  • ubuntu 12.04自己编译内核方法

    千次阅读 2014-06-17 13:03:35
    1 #先获取内核源码包,这个不能直接从kernel.org上下,因为ubuntu内核ubuntu公司对其打过补丁,即定制过,所以可用如下方法下载: sudo apt-cache search linux-source 如: rebi@freedom:~$ sudo apt-cache ...
  • ubuntu环境重新编译内核

    万次阅读 2013-01-26 17:53:08
    由于调试内核、驱动或工作需要,有可能需要对ubuntu下内核进行重新编译,本文对内核重新编译过程进行简单分析,在进行重新编译内核前你可以通过uname -a来确认你的linux系统的当前版本。 1.根据你的需要获取内核...
  • 查看编译linux内核所用的gcc版本

    千次阅读 2011-07-20 17:03:19
    cat /proc/version结果为Linux version 2.6.35-22-generic (buildd@yellow) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ) #35-Ubuntu SMP Sat
  • Ubuntu14.04编译安装Kernel(上)

    千次阅读 2017-01-01 14:44:35
    在一个Linux系统中, 可以同时存在多个内核, 启动时可选其中之一来运行. 启动之后, 不管使用的是哪个内核, 表现是一样的. 下面, 我们就尝试着在Ubuntu16.04中安装新的内核. ...[2]编译安装linux内核步骤
  • 1、apt-get 代码:  apt-cache search linux-source 或者在http://www.kernel.org/下载内核源码 执行用这条命令系统会提示你安装适合你内核版本的...执行这条命令就会自动下载并安装适合我系统内核Linux-sour
  • 删除Ubuntu中不用的内核

    万次阅读 2018-03-20 19:42:37
    最近在学习Linux相关的知识,免不了查看Linux源代码和修改源代码,并且编译Linux内核。下面简单介绍一下如何删除Ubuntu中不用的内核。1、查看Linux中当前使用的内核:使用 uname -a 或者 uname -r 命令2、查看Linux...
  • 操原作业(一)之Ubuntu编译内核

    千次阅读 2018-05-13 09:31:05
    查看内核版本: 安装相关依赖: sudo apt-get install build-essential kernel-package libncurses5-dev libqt3-headers build-essential (基本的编程库(gcc, make等) kernel-package (Debian 系统里生成 ...
  • Linux驱动开发之ubuntu下的驱动编译

    千次阅读 2016-04-13 23:42:45
    Linux驱动开发之ubuntu下的驱动编译Linux驱动开发也是一直在路上,之前一直多是单板上进行实验,今天尝试ubuntu下编译一个简单的驱动,一些驱动实验自然也可以在ubuntu上进行,同时也可以减少学习成本,只需要一...
  • 写在前面: ...下面为编译内核流程,由于最近项目需要Ubuntu1204,因此以Ubuntu1204为例,其他版本使用同样的操作,题主在1604上也使用的同样的操作: 一、下载需要的内核 https://mirrors.edge.kerne...
  • Linux编译内核及添加系统调用

    千次阅读 2018-06-10 15:12:38
    下载Ubuntu系统安装包和Linux内核 Ubuntu下载地址:https://www.ubuntu.com/download (百度网盘:https://pan.baidu.com/s/1Q3YoFm7FV-rLiv0UKw_vgw 密码:4pho) Linux内核下载地址:https://www.kernel.org/ ...
  • 如何重新编译linux内核

    千次阅读 2018-06-29 14:58:14
    2.linux内核下载 官网选择适合的版本 这里选择是https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.3.tar.xz 3.ubuntu操作 # 下载 sudo wget ...
  • 以下过程全部在root权限操作(sudo su) 1.安装必备软件编译工具: #apt-get install libncurses5-dev build-essential kernel-package 注意: (1)libncurses5-dev是为之后配置内核能运行 make menuconfig...
  • Ubuntu 16.04 编译安装内核

    千次阅读 2018-09-06 13:03:04
    第一步:下载内核源码并解压 内核源码可以在官网下载:https://www.kernel.org/ 点击相近版本号后的[changelog] 可以找到所有的版本,并可以查看不同版本之间都有哪些改动。 也可以使用命令下载:(貌似只能下载...
  • ubuntu 16.04 LTS 内核源码下载编译流程

    千次阅读 2017-10-09 21:47:00
    首先看一下自己的内核版本 apt-cache search linux-source 下载内核代码:sudo apt-get install linux-source-4.10.0 2)解压: /usr/source/ 目录解压  tar -jxv -f linux-source-4.10.0.tar.bz2 3)编译 ...
1 2 3 4 5 ... 20
收藏数 40,254
精华内容 16,101
关键字:

ubuntu下编译linux内核