热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Ubuntu编译内核

一、内核编译1、下载内核源代码在http://www.kernel.org/下载自己想要编译的新内核,点后面的“F”按钮下载文件。2、安装有关编译程序。安装make,gcc,make-kpkg,运行menuconfig等等和编译内核相关的工具。安装不了,请检查/etc/apt/sources.list文件。执行命令:$sudoapt-getinstal

一、内核编译

1、下载内核源代码
http://www.kernel.org/下载自己想要编译的新内核,点后面的“F” 按钮下载文件。
2、安装有关编译程序。安装make, gcc, make-kpkg,运行menuconfig等等和编译内核相关的工具。安装不了,请检查/etc/apt/sources.list 文件。

执行命令:
$sudo apt-get install build-essential kernel-package libncurses5-dev

3、在终端输入su 命令切换到root权限,然后把linux-版本号.tar.bz2文件复制到/usr/src/ 目录下。如果出现su:认证失败,则证明root密码尚未设置。Ubuntu默认root无密码,但是第一个user在admin组,它可以给root设置密码。
sudo passwd root
[sudo] password for 用户名: <-输入密码
输入新的UNIX密码: <-输入新密码
重新输入新的UNIX密码: <-重新输入新密码
passwd:已成功更新密码
4、cd 到/usr/src/目录下,执行tar -jxvf linux-版本号.tar.bz2命令解压源代码包。就会解压到/usr/src/ linux-版本号文件夹。
5、开始编译前的准备工作。
首先,清理以前编译时留下的临时文件。如果是刚刚解开的包,不需要执行这步。如果是第二次或者是第n次编译,那么一定要执行。接着cd到/usr/src/ linux-版本号文件夹。执行make mrproper命令(root用户)。该命令可确保源代码目录下没有不正确的.o文件.config文件等。

网上很多教程上说把现在使用的内核的config拷贝过来参考,据实验,是不需要的,ubuntu还有debian会自动做这步。
6、开始配置内核选项。执行命令: make menuconfig(此时最好选择加载之前的内核.config文件,在之前的配置基础上添加新的需要添加的新特性生成新的.config文件,内核选项的具体解析请参考鸟哥的Linux私房菜相关章节 http://www.linuxidc.com/Linux/2011-06/36804.htm 。)

看到图1之后,你会发现画面主要分为两大部分,一个是大框内的反白光柱,另一个则是底下的小框,里面有 select, exit 与 help 三个选项的内容。这几个组件的大致用法如下:

 

  • 『左右方向键』:可以移动最底下的 之后, 按下『 Enter 』就可以进入该项目去作更进一步的细节配置
  • 可挑选之功能:在细节项目的配置当中,如果前面有 [ ] 或 <> 符号时,该项目才可以选择, 而选择可以使用『空白键』来选择;
  • 若为 [*] <*> 则表示编译进核心;若为 则表示编译成模块!尽量在不知道该项目为何时,且有模块可以选,那么就可以直接选择为模块!
  • 当在细项目选择 后,并按下 Enter ,那么就可以离开该细部项目!

 

图 1、 make menuconfig 核心功能挑选菜单示意图

基本上建议只要『上下左右的方向键、空白键、Enter』这六个按键就好了!不要使用 Esc ,否则一不小心就有可能按错!另外,关于整个核心功能的选择上面,建议你可以这样思考:

 

  • 『肯定』核心一定要的功能,直接编译进核心内;
  • 『可能在未来会用到』的功能,那么尽量编译成为模块;
  • 『不知道那个东西要干嘛的,看 help 也看不懂』的话,那么就保留默认值,或者将他编译成为模块;

 

总之,尽量保持核心小而美,剩下的功能就编译成为模块。


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux神奇漏洞:长按回车键70秒 即可轻松拿到Root权限
    一般来说获取系统root权限是很困难的,尤其是加密系统中,但西班牙安全研究员hectormarco、ismaelripoll发现,linux系统下只需按住回车键70秒钟,就能轻 ... [详细]
  • 系统安装Debian系统的安装方式和Ubuntu系统的安装方式几乎是一样的,毕竟Ubuntu系统是基于Debian的,就如同CentOS基于Redhat ... [详细]
  • 如何查看电脑系统版本_腾讯云服务器系统版本怎么看?Windows和Centos版本怎么选?...
    腾讯云服务器系统版本怎么看?想要知道自己的腾讯云服务器系统版本是哪个,可以登录云服务器后台管理系统查看,或者使用命令行查询,如果不会操作& ... [详细]
  • 主流操作系统简介
    主流操作系统简介子墨居士操作系统理论定义为管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分࿰ ... [详细]
  • 下载地址http:www.kbengine.org这货不错安装在Linux上安装(CentosDebianUbuntuetc.)服务端,请在终端输入:pythonkbenginek ... [详细]
  • 你知道GPL吗?GPL 没落了吗?
    不久之前我看到了RedMonk的StephenOGrady发了一个关于开源协议的有趣的推特,那个推特里面有这张图。RedmonkBlackDuckLicensing ... [详细]
  • i3 处理器_旧机型安装 Linux_64位操作系统
    1.确认CPU是否支持64位首先确认CPU为64位cpu,intelcpu应支持EM64T指令集,amdcpu应支持x86-64指令集; ... [详细]
  • Ubuntu简介Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在” ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
author-avatar
okkkokkokkkokka
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有