完成一个简单的时间片轮转多道程序内核代码
- 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这里又出现问题了
实验楼下实现过程: