• ubuntu 下编译内核


    目的:

    1. 练习。网上有很多类似的文章可供参考。

    2. 为写qemu的watchdog驱动练手。

    有朋友问make的 watchdog驱动 需要什么准备,所以写这个blog。

    环境:

    ubuntu 12.04.4

    耗时(基于熟悉linux环境和操作系统的条件下):

      1. make 时间 大于1个小时

    过程:

    1.安装编译内核所需要的软件

    $ apt-get install build-essential kernel-package libncurses5-dev

    2.下载内核源码

    先查看linux内核版本:

    $ uname -r

    3.11.0-15-generic

    搜索内核源码

    $ apt-cache search linux-source

    linux-source - Linux kernel source with Ubuntu patches
    linux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches

    会列出一些可选源码包,选择你的内核版本号, “with Ubuntu patche”的那个

    下载

    $ apt-get install linux-source

    下载之。会在/usr/src下。 解压缩源码包(tar jxvf  linux-source.tar.bz2),进入解压后的源码目录。

    配置内核:

    有三种选择选择方式1:make oldconfig  2:make  menuconfig 3:make  xconfig

    最快的是配置原版的配置方法

    $ cd /usr/src/linux-x.x.xx

    $ sudo  make  oldconfig

    (如果配置的过程中出现问题,原因是因为没有下载配置环境的那个依赖的库文件,可以自己下载)

    可以借用Ubuntu原来内核的一个配置文件, 将linux-headers-x.x.xx-xx-generic目录下的.config 我们把它拷贝到刚下好解压的目录,也就是linux-source-x.x.xx

    $ sudo cp /usr/src/linux-headers-x.x.xx-xx-generic/.config /usr/src/linux-x.x.xx

    $ cp  /boot/config-x.x.xx-xx-generic ~/linux-x.x.xx

    $ sudo  make menuconfig

    编译内核

    #sudo  make -j4

    这个过程很漫长,建议去做做别的事情。  -j 取决于你的CPU的个数。

    #sudo  make  zImage

    执行结束之后,会在当前目录下面生成一个新的文件:vmlinux

    编译模块

    #sudo make  modules

    安装模块

    #sudo  make  modules_install

    这条命令能在/lib/modules目录下产生一个目录

    $ sudo make install

    (以下的才做没有执行)

    生成initrd

    sudo update-initramfs -k -c x.x.xx

    注意 :此处若使用mkinitramfs 则会在重启后报如下错误:

    FATAL: Could not load /lib/modules/.../modules.dep

    更新grub启动菜单

    sudo update-grub

    更新显卡驱动

    重启后nvidia显卡驱动出错,报告ubuntu 正在运行在低画质模式,后面是各种failed to load。

    通过ppa(personal package archive https://launchpad.net/ubuntu/+ppas)解决驱动更新问题

    sudo sh -c "echo 'deb http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu lucid main' >> /etc/apt/sources.list"
    sudo sh -c "echo 'deb-src http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu lucid main' >> /etc/apt/sources.list"

    sudo apt-get update
    sudo apt-get install nvidia-current nvidia-current-modaliases nvidia-settings

    至此最新版本内核安装完成

  • 相关阅读:
    mysql 练习
    linux 常用软件安装-目录
    Python 三大神器
    Mysql 数据库安装配置
    Mysql数据库入门
    maven的安装与基本使用
    分布式事务
    分布式锁
    springcloud学习笔记
    springboot入门使用
  • 原文地址:https://www.cnblogs.com/shaohef/p/3799346.html
Copyright © 2020-2023  润新知