1. 课程设计题目:下载某个版本的linux源代码,生成一个定制的linux操作系统,完成后该系统可以用来作为启动系统使用。
2.如何做的问题?内核版本要编译一个最新的内核,您需要首先下载它的源代码在您下载内核的源代码前,您要知道到您要找什么。
首先要问您自己的问题是-- 您需要一份稳定的还是测试版的内核?稳定版内核通常版本号第二位用偶数数字 -- 例如, 2.0.38、2.2.15、2.2.1 8 和2.4.1 是被认为是“稳定”的内核(分别由于其包含 0、2、2 和4)。
如果您想尝试测试版内核,您通常需要找那些版本号第二位是奇数的号码又最高的内核。
例如,2.3.99 和 2.1.38都是测试版内核(分别由于其包含 3 和 1)。
内核版本历史 2.2 系列的内核被认为是较新而且稳定的内核。
如果"较新"和"稳定"是您想要的,查找一个版本号的第三位是最高的2.2 内核(2.2.16 是目前最新的版本)。
当 2.2 系列的内核仍在开发中,2.3 系列已经开始了。
这个系列是作为将被集成到 2.4稳定版系列的新功能和高级功能的测试版。
2.3 系列已经到了 2.3.99,其开发已经停止。
开发人员已经开始着手2.4.0。
如果您喜欢冒险使用最最新的技术,您可能想使用可以找到的最新的 2.4 系列内核。
2.4 版内核警告信息 Once a real 2.4 series kernel comes out(like 2.4.0), don't assume that the kernel is ready for use on a mission-critical system like a server. Even though2.4 is supposed tobe a stable series, early 2.4 kernels are likely to be not quite up tosnuff. As is often the case i n the computer industry, the first version of anything can have fairly sizable bugs. While this may not be a problem i f you're testing the kernel on your home workstation, it is a risk you may want to avoid when you machine provides val uable services to others.下载内核如果您只是想编译一个您已安装内核的新版本(例如,实现 SMP 支持),那不需要下载任何代码 -- 跳过此部分继续下一屏。
您可以在/pub/linux/kernel上找到内核代码。
当您进入到那后,您将发现内核的源代码按内核版本(v2.2、v 2.3等),被组织到多个不同的目录中。
在每个目录中,您将发现文件被冠以"linux-x.y.z.tar.gz"和"linux-x.y.z.tar.bz2"。
这些就是Linux 内核的源代码。
您也将看到冠以 "patch-x.y.z.gz" 和"pa tch-x.y.z.bz2"的文件。
这些是用来更新前面完整的内核源代码的补丁包。
如果您希望编译一个新的内核版本,您将需要下载这些"linu x"文件其中之一。
内核解包如果您已从 下载一个新的内核,现在是要将其解包时候了。
首先,cd/usr/src。
如果这里有一个存在的"linux"目录,将其改名为"linux.old" ("mv linux linux.old",以root 权限)。
现在,可以解开新的内核包了。
仍然在 /usr/src 目录下,输入 tar xzvf/path/to/my/kernel -x.y.z.tar.gz 或者 cat /path/to/my/kernel-x.y.z.tar.bz2| bz ip2 -d | tar xvf -,根据您下载的源代码是用 gzip 或 bzip2压缩的。
在输入完此命令后,您下载的内核源代码会被释放到一个新的"linux"目录下。
注意 -- 全套内核源代码通常将在硬盘上占用超过50兆空间!Index of /pub/linux/kernelName Last modified SizeParent Directory -Historic/ 20-Mar-2003 22:38 -SillySounds/ 14-Apr-2000 18:55 -crypto/ 24-Nov-2001 14:54 -people/ 03-Nov-2010 18:25 -ports/ 13-Mar-2003 01:34 -projects/ 26-Oct-2007 20:58 -testing/ 14-Feb-2002 05:32 -uemacs/ 20-Mar-2003 23:31 -v1.0/ 20-Mar-2003 22:58 -v1.1/ 20-Mar-2003 22:58 -v1.2/ 20-Mar-2003 22:58 -v1.3/ 20-Mar-2003 23:02 -v2.0/ 08-Feb-2004 09:17 -v2.1/ 20-Mar-2003 23:12 -v2.2/ 24-Mar-2004 19:22 -v2.3/ 20-Mar-2003 23:23 -v2.4/ 06-Sep-2010 05:43 -v2.5/ 14-Jul-2003 03:50 -v2.6/ 29-Oct-2010 05:13 - COPYING 13-Mar-1994 00:00 18KCREDITS 16-Sep-1996 16:36 36KREADME 16-Sep-1996 16:36 12KIndex of /pub/linux/kernel/v2.4Name Last modified SizeParent Directory - old-test-kernels/ 20-Mar-2003 23:30 - snapshots/ 01-Jun-2005 09:47 - testing/ 02-Dec-2008 08:13 - ChangeLog-2.4.1 30-Jan-2001 07:57 2.5K ChangeLog-2.4.2 22-Feb-2001 01:02 2.4K ChangeLog-2.4.3 30-Mar-2001 05:02 2.5K ChangeLog-2.4.4 28-Apr-2001 01:43 2.6K ChangeLog-2.4.5 26-May-2001 01:25 3.1K ChangeLog-2.4.6 04-Jul-2001 00:06 4.3K ChangeLog-2.4.7 20-Jul-2001 21:24 2.6K。
ChangeLog-2.4.36.2 24-Feb-2008 20:51 276 ChangeLog-2.4.36.3 19-Apr-2008 14:41 584 ChangeLog-2.4.36.4 07-May-2008 04:19 266ChangeLog-2.4.37.8 31-Jan-2010 09:30 485 ChangeLog-2.4.37.9 01-Feb-2010 21:12 200 ChangeLog-2.4.37.10 06-Sep-2010 05:38 867 LATEST-IS-2.4.37.10 06-Sep-2010 05:38 0 drm-4.0.x.tar.bz2 09-Aug-2001 23:29 102K drm-4.0.x.tar.bz2.sign 09-Aug-2001 23:29 248 drm-4.0.x.tar.gz 09-Aug-2001 23:29 156K drm-4.0.x.tar.gz.sign 09-Aug-2001 23:29 248 drm-4.0.x.tar.sign 09-Aug-2001 23:29 248 linux-2.4.0.tar.bz2 04-Jan-2001 23:45 19M linux-2.4.0.tar.bz2.sign 04-Jan-2001 23:45 248 linux-2.4.0.tar.gz 04-Jan-2001 23:45 23M linux-2.4.0.tar.gz.sign 04-Jan-2001 23:45 248linux-2.4.2.tar.bz2 22-Feb-2001 01:00 20Mlinux-2.4.2.tar.gz 22-Feb-2001 01:00 24M linux-2.4.2.tar.gz.sign 22-Feb-2001 01:00 248 linux-2.4.2.tar.sign 22-Feb-2001 01:00 248 linux-2.4.3.tar.bz2 30-Mar-2001 05:03 20M linux-2.4.3.tar.bz2.sign 30-Mar-2001 05:03 248 linux-2.4.3.tar.gz 30-Mar-2001 05:03 25M linux-2.4.3.tar.gz.sign 30-Mar-2001 05:03 248 linux-2.4.3.tar.sign 30-Mar-2001 05:03 248 linux-2.4.4.tar.bz2 28-Apr-2001 01:43 20M linux-2.4.4.tar.bz2.sign 28-Apr-2001 01:43 248 linux-2.4.4.tar.gz 28-Apr-2001 01:43 25M linux-2.4.4.tar.gz.sign 28-Apr-2001 01:43 248 linux-2.4.4.tar.sign 28-Apr-2001 01:43 248 linux-2.4.5.tar.bz2 26-May-2001 01:26 21Mlinux-2.4.7.tar.gz 20-Jul-2001 21:25 26M linux-2.4.7.tar.gz.sign 20-Jul-2001 21:25 248 linux-2.4.7.tar.sign 20-Jul-2001 21:25 248linux-2.4.9.tar.sign 16-Aug-2001 18:32 248linux-2.4.14.tar.gz.sign 05-Nov-2001 23:30 248 linux-2.4.14.tar.sign 05-Nov-2001 23:30 248 linux-2.4.15.tar.bz2 23-Nov-2001 06:18 23M linux-2.4.15.tar.bz2.sign 23-Nov-2001 06:18 248 linux-2.4.15.tar.gz 23-Nov-2001 06:18 28M linux-2.4.17.tar.bz2 21-Dec-2001 17:52 23M linux-2.4.17.tar.bz2.sign 21-Dec-2001 17:52 248 linux-2.4.17.tar.gz 21-Dec-2001 17:52 28M…linux-2.4.36.8.tar.sign 19-Oct-2008 21:25 248 linux-2.4.36.9.tar.bz2 09-Nov-2008 22:42 30M linux-2.4.36.9.tar.bz2.sign 09-Nov-2008 22:42 248 linux-2.4.36.9.tar.gz 09-Nov-2008 22:42 37M linux-2.4.36.9.tar.gz.sign 09-Nov-2008 22:42 248linux-2.4.37.1.tar.bz2.sign 19-Apr-2009 18:45 248 linux-2.4.37.1.tar.gz 19-Apr-2009 18:45 37M linux-2.4.37.1.tar.gz.sign 19-Apr-2009 18:45 248 linux-2.4.37.1.tar.sign 19-Apr-2009 18:45 248 linux-2.4.37.2.tar.bz2 07-Jun-2009 19:53 30Mlinux-2.4.37.6.tar.gz 13-Sep-2009 09:41 37Mlinux-2.4.37.6.tar.gz.sign 13-Sep-2009 09:41 248linux-2.4.37.6.tar.sign 13-Sep-2009 09:41 248……linux-2.4.37.tar.bz2 02-Dec-2008 08:13 30Mlinux-2.4.37.tar.bz2.sign 02-Dec-2008 08:13 248patch-2.4.1.sign 30-Jan-2001 07:56 248patch-2.4.2.bz2 22-Feb-2001 01:00 1.1Mpatch-2.4.6.bz2 04-Jul-2001 00:07 1.3Mpatch-2.4.6.bz2.sign 04-Jul-2001 00:07 248patch-2.4.6.gz 04-Jul-2001 00:07 1.7Mpatch-2.4.6.gz.sign 04-Jul-2001 00:07 248patch-2.4.6.sign 04-Jul-2001 00:07 248/view/e25586270722192e4536f646.html3. 在Linux下编译内核现在我们来学习在Linux下编译内核。