实验二 Linux内核实验

目录

  • 准备工作
    • SSH 工具控制 Linux
    • 下载 Liunx 内核
  • 编译系统内核
    • 配置内核
    • 编译内核
    • 清除文件
  • 增加模块

准备工作

  • 虚拟机系统:CentOS5.6,配置 SSH
#安装SSH:
yum install openssh-sever SSH
#服务重启:
service sshd restart 
#设置SSH为开机自启:
chkconfig sshd on 
#查看是否安装SSH:
rpm -qa | grep ssh 
#查看是否运行SSH:
/etc/init.d/sshd status

  • 用 SSH 工具连接
    查看 IP:ifconfig (Windows 下是 ipconfig)


X SHELL 连接界面(SSH 工具还有:putty 等。手机上:JuiceSSH)

  • 下载 Linux 内核:
    下载的时候,校园网走的是移动的线路,封掉了很多 ip,速度是奇慢无比


手机热点 + IDM,速度蹭蹭得往上飙

将下载好的内核复制到了 root 目录下。


编译内核系统

内核版本 2.6.32

解压压缩包,到 /usr/src 下:tar -xvf linux-3.16.56.tar.xz -C /usr/src (注意按 TAB 自动补齐)
文件夹重命名为学号:mv linux-3.16.56 1601020306

安装 QT,过程中出现了各种各样的错误,也换了几种方法,参考:

  • 配置内核 (根据需求自定义选择模块)
    进入到内核目录,执行 make menuconfig, 发现出错了


yum install -y ncurses-devel 安装了一个东西,暂时不知道是什么左右,再运行 make menuconfig

这么多选项,要知道哪个需要那个不需要不是容易事。这里找到自己 Linux 的配置,导入进去

cd 到 boot 文件夹下
cp 到内核根目录下

选择,填写文件名,返回第一个界面,选择,命名位.config 后就
(这里 make xconfig 是一种全图形界面的配置方式,需要用到上文安装的 QT 的共享库)

  • 编译内核
    漫长的过程,我就去睡觉了,第二天早上来收菜 QAQ。

  • 安装内核
    编译完成,至于时间,没有记录,一觉醒来电脑都自己进入休眠了


执行 make modules_install 和 make install

打开编辑内核启动项的配置文件:
vim /boot/grub/grub.conf,默认 0 开始计数,因此需将 default 的☞改为 0 即可

查看内核信息,已经是 3.16.56 内核了

make distclean, 清除内核安装后留下的痕迹。


添加模块

cd 到 lib/modules/(任意目录即可)
自定义的 hello 模块

创建了模块 hello 以及对应的 makefile

这个过程持续了一个小时多,改了无数遍 Makefile,各种错误,无果,暂时还在解决,最后的运行结果以及解决方案会更新到博客里面。

本文链接:https://ariser.cn/index.php/archives/15/
本站文章采用 知识共享署名4.0 国际许可协议进行许可,请在转载时注明出处及本声明!