您的位置:首页 > 运维架构 > Linux

3.23linux内核编译学习

2016-03-24 11:47 357 查看
写了一个小时,结果图书馆网不好,结果没保存,嘤嘤嘤,来重新返工了。

昨天的操作系统第一个实验,编译linux内核,看成实验教程做比较简单,过程也比较顺利。但还有一些小问题。老师要求用Ubuntu14.10,开始自己在极速上随便下个 Ubuntu GNOME 15.10,装起来蛮快的,进系统之后美瞎了,但是怕后续实验出错,就没敢在这个上面编译,哎是个遗憾。后来直接用的之前装Tinyos的ubuntu,内核版本是linux 3.19.1,没用更新的内核版本试下,又是个遗憾。

第一步,解压,因为直接用命令在网络上下载会出现网络错误,所以直接用网教上下载的老师的内核,copy到虚拟机里直接解压的:

sudo tar xvJf ./linux-3.19.1.tar.xz


cd ./linux-3.19.1


第二步安装ncurses,之前照做也没思考这个是什么,后来经老师启发也查了一下:原来作用是提供字符终端处理库;输入的命令:

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


有两个tips:

(1)
libncurses5-dev
是为了之后配置内核能运行
make menuconfig
程序做准备;
build-sesstial
为编译工具,
kernel-package
是编译内核工具。

(2)如果系统显示无法查找到这三个文件,输入
#apt-get update
更新数据源

其实我做的时候比较顺利。完全无视这两个tips了,系统并没有显示无法查找到这三个文件。

第三步应该是图形化的内核配置,关于这个命令,加一个连接
make menuconfig
,讲的比较详细:

sudo make menuconfig


一个tips是命令执行完成后打开配置菜单,直接关闭即可,不进行改动。实际上却是自动跳出来一个配置菜单,亲测选Exit和Save都没影响。

之后最关键的一步开始编译内核了:

sudo make


命令虽短,但执行起来超级慢。也可能是我电脑的问题,足足编译了一个下午加半个晚上,期间好多次我都以为要宕机了TAT。听同学们说普遍情况是3—4h,快的也有1个多小时的,像我一样7、8h也有几个。据说有加快编译速度的方法,等下补充

第五步,安装内核模块:

sudo make modules_install


sudo make install


这两个命令执行起来比编译快多了,不过这里有个坑让我在找老师检查的时候差点挂掉,立个flag等下说。

最后一步,修改引导菜单配置,编辑启动项的菜单选项。这步自己开始比较晕,不知道怎么找boot/grub/grub.cfg,后来找到了方法:

可以
sudo gedit /boot/grub/grub.cfg
,menu entry“”里面修改添加了自己的学号,此处应该注意是改的是菜单还是子菜单,不然可能找不到。

Ending,开始重启,虚拟机之后我是开机长按Esc,才能进启动项。

最后问题出在给老师检查的时候,因为第一次做根本没怎么思考,老师直接问我装好的linux内核模块在哪,直接懵逼了。只知道解压好的文件在根目录啊,内核模块是什么啊。后来知道原来内核模块是在/boot下的两个.img文件。感谢老师,是自己学东西只浮于表面了,以后还是要多多思考多多总结呀~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: