1怎样创建自定义Linux启动光盘作者:MikeChiricomchirico@users.sourceforge.net版权:Copyright(c)2005(GNUFreeDocumentationLicense)版本:LastUpdated:SunNov1309:07:31EST2005网站:译者:大脸猫审核:顽皮鼠QQ:81952961邮箱:hellin_zhang@126.com本文档的原文翻译是“怎样创建一个自定义的Linux活动光盘,利用BusyBox和OpenSSH”,但笔者感觉这样写,大多数人不容易理解,所以才把它写成“怎样创建自定义Linux启动光盘”。本文告诉你怎样创建自己定义的Linux系统启动光盘,包含BusyBox和OpenSSH实用程序。译者序:虽然我很穷,也没有什么作为,但是我要把我知道的和大家分享,这是我最大的快乐,也算是对社会的一点贡献吧!由于本人英语能力有限,如果发现翻译错误之处,请大家一定要通知我,在此,感谢大家支持。大脸猫于沈阳、大连2008年农历四月十四21、序言以下这些步骤展示给你怎样创建一个可以运行的Linux系统,用最新的源码内核2.6进行编译的,和怎样集成BusyBox及包含DHCP的安装,再加上在OpenSSH包中怎样编译。此系统将有完整的SSH功能。对于编译和安装软件的技术一般同样适合于你自己的软件包,因此,一旦你理解了这些过程,你将非常灵活地创建你自己的操作系统安装盘——这有许多自由的空间。系统从光盘启动时应该有先创建的文件系统和内容,这些内容将被解压和完全装载的内存中去,至此光盘可以被退出,拿到另一台机器上用。假如你已经用适当的驱动配置了内核和机器能通过光驱启动,你就可以使用你的安装盘在任何个人电脑上进行安装。2、快速安装,准备工作快速安装,在缴入你自己的工作之前,配置好所有的准备工作。2.1、快速安装:第一步先下载“cdrom_linux_boot_proj1.iso”文件,然后在你的刻录机上烧制此光盘镜像文件。其次,重新启动你的系统,这样做是看是否当前的内核系统已经有必须得网络、视频、键盘(包括USB键盘)驱动的支持。假如关键驱动没有识别出来,可以直截把它们编入到内核之中来。2.2、快速安装:第二步下载完整的项目环境“proj1.tar.gz”。这里包含所有的用于建造和定制“cdrom_linux_boot_proj1.iso”的资源程序,包括BusyBox程序源代码、库文件和ssh等。“_install”目录包含为ssh、init和tcpdump所需要的库文件。在文档目录中,能发现Linux内核2.6.11的“.config”文件。包含内核副本的bzImage文件的临时区域,和isolinux内核引导一起。这“proj1.tar.gz”文件大约13兆大小,但是它包含你所需要的所有的程序,除了内核源代码,内核源代码你可以从下面的链接中下载:第八部阐述最新内核的配置和安装,在此但前步骤中,仅需从下面的链接中下载“proj1.tar.gz”项目的环境:你必须以“root”的身份使用“tar-xzf”命令解压开此压缩文件,从中得到需要的字符和块设备。标准用户账号不能创建所需的必需具有的字符和块设备,在一个没有“root”权限的账号下,尝试使用“tar-xzf”命令,在_install/dev目录下创建的文件,看看不同之处。假如你对于字符设备和块设备的不同之处好奇,你也许想参照一下Linux探索文章:总之,仅有块设备能挂载文件系统。但是字符设备,如磁带驱动设备能包含在块设备上发现的数据。检查下载的资源:a.使用md5sum检查确保你下载了完整的副本,然后使用“tar-xzf”命令解压此包。b.现在以“root”身份,因此你能得到“/dev/”下的所有设备,执行接下来的命令:【必须你“root”身份,执行这些命令】假如你以“root”身份按照上面的操作做了,然后你将看到接下来的内容:$md5sumproj1.tar.gz$su-#cd到你“proj1.tar.gz”所在的目录#tar-xzfproj1.tar.gz[root@third-fl-71_install]#ls-ldevtotal8crw-------1rootroot5,1Feb2520:41consolelrwxrwxrwx1rootroot11Mar609:22core-/proc/kcorebrw-rw-rw-1rootfloppy2,0Feb2017:37fd0brw-rw----1rootdisk3,0Mar504:32hdabrw-rw----1rootdisk3,1Mar520:37hda1brw-rw----1rootdisk3,2Mar520:38hda2brw-rw----1rootdisk3,3Mar521:02hda3brw-rw----1rootdisk3,4Mar521:02hda4drwxr-xr-x2rootroot4096Mar521:13mappercrw-rw-rw-1rootroot1,3Feb2017:37nullcrw-rw-rw-1roottty5,2Feb2612:54ptmxdrwxr-xr-x2rootroot4096Mar405:33ptsbrw-------1rootdisk1,0Feb2017:37ram0brw-rw-rw-1rootdisk1,1Feb2017:37ram1brw-rw-rw-1rootdisk1,2Feb2017:37ram2brw-rw-rw-1rootdisk1,3Feb2017:37ram3crw-rw-rw-1rootroot1,8Feb2603:23randombrw-rw----1rootdisk8,0Mar504:32sdabrw-rw----1rootdisk8,1Mar504:32sda1brw-rw----1rootdisk8,2Mar504:32sda2brw-rw----1rootdisk8,3Mar521:02sda3brw-rw----1rootdisk8,4Mar521:02sda4lrwxrwxrwx1rootroot15Mar609:22stderr-/proc/self/fd/2lrwxrwxrwx1rootroot15Mar609:22stdin-/proc/self/fd/0lrwxrwxrwx1rootroot15Mar609:22stdout-/proc/self/fd/1crw-rw-rw-1rootroot5,0Feb2118:32ttycrw-rw-rw-1rootroot4,0Feb2017:37tty04假如你以标准用户身份重复上面的步骤,你将看见许多文件丢失。c.看看“proj1/createiso”文件夹。这将使用“./cdrom”挂接点,在回环设备上创建文件系统,复制“_install”文件夹下的内容,这个将已经和所需的BusyBox代码一起被编译。一旦它被复制,卸载“./cdrom”挂载点,之后它是可以被压缩的。然后将它复制到临时区域中去,在那能使用“mkisofs”命令创建可以启动的映像文件。引导装入器isolinux,与所需要的配置文件一同,都能在“proj1/staging_iso_image/boot/isolinux/”下被找到。这有一个bashshell脚本能执行上面的任务,把它命名为“createiso”文件:看看“createiso”文件。这个bashshell脚本创建虚拟的文件系统。关于创建虚拟文件系统的详细内容,可以参考在Freshmeat网站上的文章。【】综合入门:通过下载的源代码建造所有环境准备所需的程序。你也许想把你上面快速安装的步骤的结果保存到不同的目录中去,这样和下面完整的每一步骤进行比较。3、具体步骤这里将介绍具体怎样创建Linux系统安装光盘的详细步骤,共十步操作。3.1、第一步:下载BusyBox下载BusyBox()。以下这些是和“busybox-1.00.tar.Gz”有关而创建的例子。crw-rw-rw-1rootroot4,1Feb2022:38tty1crw-rw-rw-1rootroot4,2Feb2608:24tty2crw-rw-rw-1rootroot4,3Feb2608:24tty3crw-rw-rw-1rootroot4,4Feb2608:24tty4crw-rw-rw-1rootroot4,5Feb2608:24tty5crw-------1rootroot4,6Mar119:34tty6crw-rw----1rootroot4,7Mar114:33tty7crw-rw----1rootroot4,8Mar114:33tty8crw-rw----1roottty4,9Mar114:33tty9cr--r--r--1rootroot1,9Feb2603:23urandomcrw-------1vcsatty7,0Mar114:33vcscrw-rw-rw-1rootroot1,5Feb2603:23zero$cdproj1$su#./createiso$wget://现在看busybox-1.00.tar.gz.sign文档里面的内容对照md5sum生成的码。他所做的这些不同于在内核2.6做的(参照第九步)。3.2、第二步:配置BusyBox你也许想下载我对BusyBox进行配置的配置文件,和想把它重新命名为“.config”文件。我有运行所需特性全部内容。你“”可以从此网站发现并下载我的配置文件:【注意,你可以必须选择另一个镜像网站】你应该看看这些选项,我通过运行“makemenuconfig”配置的。或者直截看看“chiricobusybox.config”此文件。特别是,“Supportversion2.6.xLinuxkernels”被选中,在“Login/PasswordManagementUtilities”下的所有程序包都被选中,除了“Useinternalpasswordandgroupfunctions”包外。注意,眼下你不能选择接下来的这些选项,因为“/etc/passwd”、“/etc/shadow”和“/etc/shadow-”将被复制到“_install/etc”目录中,最终被使用代替掉。还有,“lsmod”、“modprobe”和“rmmod”应该被选中。尽管本质上不是为初始化而构造,但是你正构造的系统希望是支持网络的。最终,你想要在模块中业务点进行控制及装载它们,当然,一旦你获取系统启动。对于这些模块,这有充分的空间。在看看“.config”文件之后,运行“make”和“makeinstall”命令,在缺省的情况下,在“_install”目录中,将安装所有所需的程序。在“makeinstall”命令的最后阶段,接下来的信息将被显示出来:$make$makeinstall$md5sumbusybox