转自我自己的人人
linux内核至少有两种方式编译运行。一种是在一个linux系统上编译完成得到二进制文件以后,把原来的linux内核(也就是刚刚用来编译新内核的系统)直接替换,运行。这样可能出现一个问题:如果新的内核有bug导致奔溃,也许就很难再把内核文件改回原来的版本了,不得不重装。另外一种就是本文的思路:在虚拟机中运行新的linux内核,不必修改原来的linux系统,避免对原来系统的大手术。
(背景知识,只想知道安装过程可跳过此段)有同学可能会问busybox是什么东西,为什么会多出一个东西需要编译?大家可能见过一个名字叫GNU/Linux,为什么linux前面加一个GNU呢?因为linux只是一个光杆司令内核,他并没有提供和用户交互的UI,也就是说没有鼠标、窗口、按钮,甚至没有命令行界面。在 GNU/Linux 系统中,Linux 就是内核组件。而该系统的其余部分主要是由 GNU 工程编写和提供的程序组成。"因为单独的 Linux 内核并不能成为一个可以正常工作的操作系统,所以我们更倾向使用 “GNU/Linux” 一词来表达人们通常所说的 “Linux”"。大家使用的Ubuntu等发行版是在GNU/Linux的基础上加入各种UI和功能。还是没说到busybox是什么。。。。其实他就是linux上的一个命令行界面外加各种附加工具的工具包。有了它我们才能在新编译的linux上输入命令,进行交互。
好了,开始编译吧。以下步骤在linux环境下完成
在www.kernel.org 下载一个linux源码包,我下载的是3.17版本
安装配置工具,命令行:sudo apt-get install libncurses5-