2019-2020-1 20199309《Linux内核原理与分析》第三周作业

完成一个简单的时间片轮转多道程序内核代码

mykernel的搭建

  • Set up this platform:

由于这一步:

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.4.tar.xz

下载太慢,我直接在Windows环境下下载并复制粘贴到虚拟机中

其中:

wget https://raw.github.com/mengning/mykernel/master/mykernel_for_linux3.9.4sc.patch


改成这样:

wget https://github.com/mengning/mykernel/blob/master/mykernel_for_linux3.9.4sc.patch

可以下载到patch文件

出现问题:

对tar.xz结尾的压缩文件进行解压,如下:

$xz -d ***.tar.xz  
$tar -xvf ***.tar

此种方式会造成原来的*.tar.xz压缩包不存在,可以看到这个压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式。

可直接使用一条命令进行解压缩:

tar xvJf ***.tar.xz  

来解压

-- 引用自风去沙来

解压结果:

给Ubuntu装make:

这句开始出现问题:

试试添加补丁:

diff -Naur linux-3.9.4 linux-3.9.4.new/ > mykernel_for_linux3.9.4sc.patch

应该是从解压还是出现问题的,删除解压文件重新解压:

结果还是有这样的问题:

是否因为:
1.文件有问题
2.解压命令错误

有人说,查阅资料后发现问题,是在下载安装包的时候,安装包没有下载完整,重新再一次下载安装包后,重新解压则成功。

再次下载,中间因为网速中断了好几次,使用以下命令可以从中断处继续下载:

wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.4.tar.xz

终于,解压过程没有出现任何错误!这里用的解压命令是:

$xz -d ***.tar.xz  
$tar -xvf ***.tar

但是这个问题依然存在

后来发现

wget https://github.com/mengning/mykernel/blob/master/mykernel_for_linux3.9.4sc.patch

是可以下到文件,但是内容不对,所以我在虚拟机环境下直接复制粘贴下了patch代码。如果是真实情况,可以通过共享文件实现复制粘贴。


再试试:


这样应该是没什么问题了。


make allnoconfig也很顺利


make这里又出现问题了


实验楼下实现过程:

猜你喜欢

转载自www.cnblogs.com/fungi/p/11605380.html