linux内核如何编译

linux内核如何编译

环境: 

电脑操作系统:ubuntu10.04 。 

linux内核版本:linux-3.12.6

具体步骤:

1、打开终端,更改为root用户。输入命令su,再输入密码即可。

2、进入下载到的内核所在的目录,将下载的内核移动到/usr/src/目录下

mv linux-3.12.6.tar.xz /usr/src

3、切换到/usr/src/目录下,解压缩内核压缩包。由于下载的压缩包是.tar.xz后缀,解压分为两步:

xz -d linux-3.12.6.tar.xztar -xvf linux-3.12.6.tar

然后进行一些准备工作,将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接到/usr/src/linux/include目录下的对应目录中。

83eb7a022ef4f537e457e2eef270f6f.png

以上红色字体部分不是必做。

(在线学习视频教程分享:linux视频教程)

同时,清理内核源码中的残渣(多次编译留下的):

cd /usr/src/linux-3.12.6make mrproper

4、输入cd linux-3.12.6 进入解压后的目录下。

以下要进行内核的配置了。

5、由于系统中没有图形界面配置工具ncurses,因此首先下载此工具安装包,然后在终端打开工具所在目录,切换到root用户下,输入以下命令:

tar zxvf ncurses-5.9.tar.gzcd ncurses-5.9./configuremakemake install

这样就安装好了ncurses,可以使用了。

6、第五步是独立步骤。单独操作。这一步接上面第四步。在终端输入以下命令:

make menuconfig

出现了配置的图形界面。

08bc507e742cff3acda6f5b8d7386ca.png

说一下配置:

对每一个配置选项,用户有三种选择,它们分别代表的含义如下:

或[*]——将该功能编译进内核

[]——不将该功能编译进内核

[M]——将该功能编译成可以在需要时动态插入到内核中的代码

7、这一步是配置过程。配置你需要的内容。配置完成以后,保存退出。

会译·对照式翻译 会译·对照式翻译

会译是一款AI智能翻译浏览器插件,支持多语种对照式翻译

会译·对照式翻译 0 查看详情 会译·对照式翻译

8、配置完成以后,开始编译内核,在终端输入make命令即可。

还有一种比较麻烦的方法,在终端依次输入以下命令:

make depmake cleanmake bzlmagemake modules

这样也可以。

这一步需要很长时间,耐心等待吧。

然后是安装内核模块。

9、输入命令

make modules_install

10、输入命令

make install

此时,内核编译完成。剩下是修改启动程序配置,然后运行新的内核程序。

11、将生成的bzImage文件和System.map文件拷贝到/boot/目录下,命令如下:

cp /usr/src/linux-3.12.6/arch/x86/boot/bzImage /boot/cp /usr/src/linux-3.12.6/System.map /boot/

 12、在终端输入命令:

mkinitramfs 3.12.6 -o /boot/initrd/img-3.12.6

来建立镜像文件,然后输入命令:

update-initramfs -c -k 3.12.6

再输入命令:

update-grub2

更新修改系统引导配置。

13、进入引导程序(boot loader)的配置文件看看,对于不同的引导程序(LILO和GRUB),其配置文件所在路径不同。

对于LILO,路径为:/etc/lilo.conf

对于GRUB,路径为:/boot/grub/grub.cfg  

本系统为GRUB引导,因此进入/boot/grub/grub.cfg,命令如下:

cd /boot/grubgedit grub.cfg

看到配置文件中有如下内容:

b60a32702b16650af4d187439f56096.png

说明内核已经添加到启动项了。

14、到此,内核编译就算全部完成,可以重启电脑了。

15、以上是在ubuntu下编译内核的全过程。

相关文章教程推荐:linux教程

以上就是linux内核如何编译的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/332676.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
一加15开启预约 搭载第五代骁龙8至尊版和ColorOS 16
上一篇 2026年11月5日 21:08:31
ul和ol标签的区别?无序列表和有序列表怎么用?
下一篇 2025年12月22日 12:51:12

相关推荐

  • linux中如何利用shell判断文件或目录是否存在

    linux中如何利用shell判断文件或目录是否存在linux中如何利用shell判断文件或目录是否存在linux中如何利用shell判断文件或目录是否存在linux中如何利用shell判断文件或目录是否存在

    判断目录: path=”/home”#if [ ! -d ${path} ];thenif [ -d ${path} ];then echo dir ${path} exist!else echo dir ${path} not exist!fi 视频教程推荐:linux视频教程 判断文件: 笔目鱼…

    2026年11月5日 • 用户投稿
    000
  • linux中文件无法被root修改

    linux中文件无法被root修改linux中文件无法被root修改linux中文件无法被root修改linux中文件无法被root修改

    1、首先执行如下命令,查看文件是否被添加了sia属性; lsattr /var/spool/cron/root 结果如下: (免费学习视频教程分享:linux视频教程) s—ia——- /var/spool/cron/root 2、然后执行如下命令,删除sia属性; 图改改 在线修改图片…

    2026年11月5日 • 用户投稿
    000
  • linux不能上传文件

    linux不能上传文件linux不能上传文件linux不能上传文件linux不能上传文件

    问题: 无法向Linux主机上传文件。 例如:我们现在想把A文件上传到  /opt/software 目录下,但是此时发现怎么都上传不上去。 [isea@redis99 software]$ ll总用量 4664-rw-r–r–. 1 root root 1547237 10月 28 07:25…

    2026年11月5日 • 用户投稿
    200
  • ssh访问linux出现乱码

    ssh访问linux出现乱码ssh访问linux出现乱码ssh访问linux出现乱码ssh访问linux出现乱码

    具体方法如下: 1、使用ls -a命令查找.bash_profile配置文件; 2、使用vi编辑器打开该文件,在其中加入如下配置: LANG=zh_CN.GB2312export LANG 即可正常显示中文。 (相关学习视频分享:linux视频教程) 问问小宇宙 问问小宇宙是小宇宙团队出品的播客AI…

    2026年11月5日 • 用户投稿
    000
  • 电脑开机密码修改指南(简单易行的密码修改方法)

    电脑开机密码修改指南(简单易行的密码修改方法)电脑开机密码修改指南(简单易行的密码修改方法)电脑开机密码修改指南(简单易行的密码修改方法)电脑开机密码修改指南(简单易行的密码修改方法)

    设置或修改电脑开机密码指南在现代数字化时代,保护个人信息的安全性至关重要。其中一项有效措施便是设置或修改电脑开机密码。php小编新一特别整理了以下指南,为您提供行之有效的技巧,帮助您轻松管理电脑开机密码,确保您的数据和隐私得到妥善保护。 一:选择合适的开机密码——使用强密码 我们首先要选择一个强密码…

    2026年11月5日 • 用户投稿
    000
  • u盘安装linux失败

    u盘安装linux失败u盘安装linux失败u盘安装linux失败u盘安装linux失败

    问题: u盘安装linux失败,如图所示: (免费学习视频教程分享:linux视频教程) 解决方法: 执行下面命令,查看你的U盘名称。 dracut:/# cd /dev 然后会看到如下界面: sda 是硬盘对应的文件名,sdb是U盘对应的文件名,可以看到是sdb4(”4″也…

    2026年11月5日 • 用户投稿
    000
  • linux入门到精通视频【推荐】

    linux入门到精通视频【推荐】linux入门到精通视频【推荐】linux入门到精通视频【推荐】linux入门到精通视频【推荐】

    创想鸟为linux初学者们整理了一些linux入门到精通视频教程,包括linux初学视频、linux基础视频教程、linux入门基础视频。支持免费在线观看学习!也支持手机版,可以随时观看!希望对你有所帮助! 相关推荐:1.《linux视频教程推荐【汇总】》2.《linux常用命令视频教程【推荐】》3…

    2026年11月5日 • 用户投稿
    000
  • VSCode快捷键:符号跳转与搜索

    掌握VSCode符号跳转与搜索功能可提升效率:1. 按符号跳转(Ctrl/Cmd+T)支持模糊匹配快速定位函数、类;2. 文件内符号导航(Ctrl+Shift+O/Cmd+Shift+O)支持@分类筛选;3. 跳转到定义(F12或Ctrl+点击),Alt+F12预览定义,Alt+←返回;4. 全局搜…

    2026年11月5日
    000
  • telnet不通linux中的tomcat端口

    telnet不通linux中的tomcat端口telnet不通linux中的tomcat端口telnet不通linux中的tomcat端口telnet不通linux中的tomcat端口

    问题: 在windows下telnet linux下tomcat不通。 原因: linux下防火墙的设置问题  /etc/sysconfig/iptables 相关视频分享:linux视频教程 解决办法: 1、linux下关闭防火墙 service iptables stop 2、添加tomcat端…

    2026年11月5日 • 用户投稿
    000
  • linux怎么通过调用脚本打开软件

    linux怎么通过调用脚本打开软件linux怎么通过调用脚本打开软件linux怎么通过调用脚本打开软件linux怎么通过调用脚本打开软件

    打开终端,创建一个文件夹来存放编写的脚本文件。 找到要打开的执行程序的路径,这里以火狐为例。在 /usr/bin下有火狐的执行程序。 输入 cd /usr/local/myShell 进入刚刚创建的文件夹。 (推荐学习:linux视频教程) 然后输入 sudo touch openFireFox.s…

    2026年11月5日 • 用户投稿
    000
  • linux实现检查文件夹是否存在不存在则创建

    linux实现检查文件夹是否存在不存在则创建linux实现检查文件夹是否存在不存在则创建linux实现检查文件夹是否存在不存在则创建linux实现检查文件夹是否存在不存在则创建

    linux shell脚本检查文件夹是否存在不存在则创建 实例如下:(相关学习视频分享:linux视频教程) date_str=`date +%Y%m%d`dir=/root/crontab/logfunction run_mkcurrent_dir(){my_dir=”$dir/$date_str…

    2026年11月5日 • 用户投稿
    000
  • win10怎么安装linux

    win10怎么安装linuxwin10怎么安装linuxwin10怎么安装linuxwin10怎么安装linux

    打开应用商店,搜索linux 稍后就会出来很多linux发行版,比如web安全常用的kali linux,一些爱好者常用的debian linux发行版等。 (免费学习视频分享:linux视频教程) 点击Ubuntu linux的软件图标, 就自动跳转到了它的安装页面,可以看到有安装按钮。直接点击安…

    2026年11月5日 • 用户投稿
    200
  • windows终端怎么远程连接linux服务器

    windows终端怎么远程连接linux服务器windows终端怎么远程连接linux服务器windows终端怎么远程连接linux服务器windows终端怎么远程连接linux服务器

    cmd/powershell 连接远程服务器 具体方法如下: ssh 用户名@服务器地址,如: ssh root@39.123.124.99 ssh是以ssh模式连接远程服务器的命令。 (免费学习视频分享:linux视频教程) 如果你的用户名和服务器地址都对了,那么下一行就会让你输入password…

    2026年11月5日 • 用户投稿
    000
  • 安装linux系统时怎么分区合适

    安装linux系统时怎么分区合适安装linux系统时怎么分区合适安装linux系统时怎么分区合适安装linux系统时怎么分区合适

    一般分这四个区就可以了: 1、/swap  逻辑分区  swap分区   内存大小为8G(挂载点:交换空间,相当于windows中的内存条) 2、/   主分区   ext4格式   大小为120~150G(挂载点:EXT4日志文件系统,根目录,相当于windows中的c盘) (在线视频教程分享:l…

    2026年11月5日 • 用户投稿
    200
  • 如何测试linux服务器的上传下载速度

    如何测试linux服务器的上传下载速度如何测试linux服务器的上传下载速度如何测试linux服务器的上传下载速度如何测试linux服务器的上传下载速度

    1、登录到服务器的home目录下,下载speedtest.py sudo wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 2、加上执行权限,需要有python环境支持下执行: (相关学习视频…

    2026年11月5日 • 用户投稿
    000
  • linux实现覆盖不提示

    linux实现覆盖不提示linux实现覆盖不提示linux实现覆盖不提示linux实现覆盖不提示

    问题: cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,当文件比较少的时候还可以按Y确认,当很多文件的时候就不好说了。用下面的方法可以解决覆盖提示的问题。 例如:把zongguofeng目录下的文件复制到linuxzgf目录 [root@linuxzgf ~]# cp zongguofeng/…

    2026年11月5日 • 用户投稿
    000
  • linux中root用户密码错误

    linux中root用户密码错误linux中root用户密码错误linux中root用户密码错误linux中root用户密码错误

    问题: 输入命令su root,输入密码怎么输入都不正确。 原因: 因为刚安装好的Linux系统是没有给root设置密码的。 免费学习视频教程分享:linux视频教程 解决方法: 首先输入以下命令: sudo passwd root [sudo] password for sam(用户名): 输入当…

    2026年11月5日 • 用户投稿
    100
  • linux查看数据库安装在哪

    linux查看数据库安装在哪linux查看数据库安装在哪linux查看数据库安装在哪linux查看数据库安装在哪

    要查看数据库安装在哪,只需要查看数据库的安装路径即可,具体如下: 首先在终端输入: whereis mysql (在线学习视频分享:linux视频教程) 如果你安装好了mysql,就会显示文件安装的地址,例如这里显示: LuckyCola工具库 LuckyCola工具库是您工作学习的智能助手,提供一…

    2026年11月5日 • 用户投稿
    100
  • linux如何查看所有用户和组信息

    linux如何查看所有用户和组信息linux如何查看所有用户和组信息linux如何查看所有用户和组信息linux如何查看所有用户和组信息

    输入命令行cat /etc/passwd,直接按下回车键即可 用户信息如下: (相关视频分享:linux视频教程) 键入命令行cat /etc/group然后回车 微信 WeLM WeLM不是一个直接的对话机器人,而是一个补全用户输入信息的生成模型。 33 查看详情 组信息如下: 相关文章教程推荐:…

    2026年11月5日 • 用户投稿
    200
  • 如何查看linux环境变量

    如何查看linux环境变量如何查看linux环境变量如何查看linux环境变量如何查看linux环境变量

    首先执行如下命令: [root@zcwyou ~]# echo $PATH 输出内容如下所示: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin (免费学习视频分享:linux视频教程) 如果在两个不同的目录中有两个相同名称的可执…

    2026年11月5日 • 用户投稿
    000

发表回复

登录后才能评论
关注微信