⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 制作启动u盘或光盘 - linux伊甸园----linuxeden_com-linuxunix新闻下载技术文档论坛人才.htm

📁 学习linux的好文档,挂载U盘
💻 HTM
📖 第 1 页 / 共 3 页
字号:
      href="http://www.linuxeden.com/forum/f63.html" target=_blank>Gentoo</A> <A 
      href="http://www.linuxeden.com/forum/f18.html" target=_blank>Mysql</A> <A 
      href="http://www.linuxeden.com/forum/f78.html" target=_blank>php</A> <A 
      href="http://www.linuxeden.com/forum/f2.html" target=_blank>C++</A> <A 
      href="http://www.linuxeden.com/forum/f64.html" target=_blank>Shell</A> <A 
      href="http://www.linuxeden.com/forum/f21.html" target=_blank>嵌入</A> <A 
      href="http://www.linuxeden.com/forum/f5.html" target=_blank>休闲茶馆</A></TD><!--<TD width=1><IMG height=25 alt="" src="/image/tech_i_ws_027.gif" 
      width=2></TD>--></TR></TBODY></TABLE>
<TABLE class=tbspan cellSpacing=0 cellPadding=0 width=900 align=center 
  border=0><TBODY>
  <TR>
    <TD vAlign=top height=476>
      <TABLE style="PADDING-TOP: 1px" cellSpacing=0 cellPadding=0 width="100%" 
      border=0>
        <TBODY>
        <TR>
          <TD align=middle width="1%" bgColor=#f0f5da height=27>&nbsp;</TD>
          <TD align=middle width="3%"><IMG height=14 
            src="制作启动U盘或光盘 - Linux伊甸园----Linuxeden_com-LinuxUnix新闻下载技术文档论坛人才.files/ldd.gif" 
            width=5></TD>
          <TD class=guidetitle style="PADDING-LEFT: 5px; PADDING-TOP: 4px" 
          width="96%">当前位置:<A 
            href="http://www.linuxeden.comindex.php/">Linuxeden主页</A>&gt;<A 
            href="http://www.linuxeden.com/plus/list.php?tid=2">新手入门</A>&gt;文章内容<BR>
            <DIV>
            <SCRIPT type=text/javascript><!--
google_ad_client = "pub-8876982994034985";
google_ad_width = 468;
google_ad_height = 15;
google_ad_format = "468x15_0ads_al_s";
//2007-06-17: article_link_belowtitle
google_ad_channel = "9458665542";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_text = "000000";
google_color_url = "000000";
//-->
</SCRIPT>

            <SCRIPT 
            src="制作启动U盘或光盘 - Linux伊甸园----Linuxeden_com-LinuxUnix新闻下载技术文档论坛人才.files/show_ads.js" 
            type=text/javascript>
</SCRIPT>
            </DIV></TD></TR>
        <TR>
          <TD 
          style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px" 
          bgColor=#f0f1d1 colSpan=3 height=3></TD></TR></TBODY></TABLE>
      <TABLE height=412 cellSpacing=0 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD vAlign=top height=220>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD style="FONT-SIZE: 12pt; PADDING-TOP: 10px" align=middle 
                width="99%" height=40><B>制作启动U盘或光盘 </B></TD></TR>
              <TR>
                <TD style="BORDER-BOTTOM: #cccccc 1px solid" align=middle 
                height=30>来源: 作者:articleman 发布时间:2007-05-12 <BR><A 
                  href="http://www.linuxeden.com/hr.html" target=_blank><FONT 
                  color=red size=4>Linuxeden-杭州亿鼎网络科技有限公司诚聘Linux英才</FONT></A> 
                  &nbsp; </TD></TR>
              <TR>
                <TD vAlign=top height=300>
                  <TABLE style="MARGIN-TOP: 8px" cellSpacing=0 cellPadding=0 
                  width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD width=6 height=52></TD>
                      <TD>
                        <DIV style="DISPLAY: block; FLOAT: right"><IMG 
                        src="制作启动U盘或光盘 - Linux伊甸园----Linuxeden_com-LinuxUnix新闻下载技术文档论坛人才.files/dfpic.gif" 
                        border=0></DIV>
                        <TABLE width="100%">
                          <TBODY>
                          <TR>
                            <TD align=right></TD></TR></TBODY></TABLE>
                        <DIV style="DISPLAY: block; FLOAT: right">
                        <SCRIPT type=text/javascript><!--
google_ad_client = "pub-8876982994034985";
google_ad_width = 300;
google_ad_height = 250;
google_ad_format = "300x250_as";
google_ad_type = "text_image";
//2007-06-17: doc
google_ad_channel = "7088783256";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_text = "000000";
google_color_url = "000000";
//-->
</SCRIPT>

                        <SCRIPT 
                        src="制作启动U盘或光盘 - Linux伊甸园----Linuxeden_com-LinuxUnix新闻下载技术文档论坛人才.files/show_ads.js" 
                        type=text/javascript>
</SCRIPT>
                        </DIV><FONT size=4>
                        <P><FONT size=4><B>Linux 制作启动U盘或光盘</B></FONT></P>
                        <P><FONT 
                        size=2>&nbsp;引自:http://blog.csdn.net/bekars/archive/2007/01/29/1496745.aspx</FONT></P>
                        <P><FONT size=3>&nbsp;&nbsp; 
                        用SYSLINUX或ISOLINUX制作启动U盘或光盘<BR>一、引导程序概述<BR><BR>任何一个操作系统在任何一个硬件平台上的运行都需要一个引导的过程,即,初始化软件环境、把内核从存储介质放到内存当中去,并开始运行。当然对于某些简单软硬件系统,这个过程可能及其简单,而对于 
                        PC 就要略微复杂一些了。<BR><BR>PC 的引导程序上承 
                        BIOS,下接内核的初始化代码,虽然开一次机只运行一次后就不留痕迹了,不过还是相当重要的。所有的引导程序都在做类似的事情: 
                        <BR><BR>&nbsp;&nbsp;&nbsp; * 驻留在存贮介质的特殊位置可以被 BIOS 
                        启动,或是自己是某一系统的可执行文件,可以被用户显式或隐式在该系统(宿主系统)内启动;<BR>&nbsp;&nbsp;&nbsp; 
                        * 了解要被启动的必要启动文件的位置,包括系统内核、ramdisk 
                        等,并把它们读取出来、装载到内存之中;<BR>&nbsp;&nbsp;&nbsp; * 
                        构造环境、运行操作系统的内核,自己则就此退出历史舞台。<BR><BR>历史上,用于 Linux 
                        的最著名的引导程序莫过于 LILO 和 Grub 
                        了,作为通用的引导程序,二者用途广泛,但对于一些特殊的场合,譬如引导程序可利用的空间比较有限的可移动存储介质 
                        (通俗地说,包括光盘、软盘、u 盘等),它们有些过于厚重了,这就引出了我们今天的主角 --- 
                        SYSLINUX/ISOLINUX,现在,你只要知道他们是引导程序就足够了,接下来,我们还要插入一些废话。 
                        <BR>二、initrd<BR><BR>initrd = init ramdisk, 
                        顾名思义,就是在启动时使用的一个内存虚拟磁盘,它是系统广泛的硬件支持性的必需品。<BR><BR>我们知道,Linux 
                        的驱动程序是内核的一部分,它们提供了硬件向上层的抽象接口,Linux 内核的核心子系统 --- 
                        虚拟文件系统部分的工作强烈依赖于底层硬件驱动程序的支持,在启动过程当中,当某些必备的驱动程序无法使用的时候,比如 
                        EXT2 文件系统、IDE 硬盘适配器等无法工作的时候,系统启动将就此中止,发生所谓的``Kernel 
                        Panic'',这也是初学者编译内核最常遇到的困难。<BR><BR>然而,我们当然不能将所有的驱动都编译到内核当中去,因为<BR><BR>&nbsp;&nbsp;&nbsp; 
                        * 
                        我们不能无限制地加大内核的尺寸,这对于系统资源,尤其是引导过程中非常有限的可用存储资源是难以承受的<BR>&nbsp;&nbsp;&nbsp; 
                        * 我们可以把很多驱动程序编译成模块,随用随加载<BR>&nbsp;&nbsp;&nbsp; * 
                        极少数情况,某些模块是相互冲突的,比如 2.4 内核的某些版本之中,reiserfs 和 ext3 
                        两种驱动不能同时被编译到内核当中。<BR><BR>所以,我们只能在内核中放入必要的驱动程序,其余的不那么需要的部分编译成模块放到 
                        /lib/modules/`uname -r`/ 
                        之中,在需要的时候会被加载。<BR><BR>但是,对于具有通用性的内核,是很难论断出哪几种驱动程序才是真正必须的,究竟是 
                        Intel 的 IDE 磁盘控制器还是 AMD/nVidia 的,抑或是 VIA 的,乃至光纤通道SCSI 
                        磁盘……是阿,这真是个很困扰人的问题,没有一个驱动可以在占用绝对少的空间的前提下应付所有的设备,于是,我们退而求其次,寻求一个中间介质 
                        --- ramdisk<BR><BR>在内核启动前,引导程序首先在内存之中构建一个 
                        ramdisk,成为一个基本文件系统,然后 Linux 
                        内核以此为自己的根文件系统启动,这样的好处是可以不必理会磁盘驱动的问题,只要能驱动 ramdisk 
                        就可以了。<BR><BR>用 ramdisk 启动之后,在 ramdisk 的启动脚本 (一般叫 
                        /linuxrc) 之中,针对硬件尝试 ramdisk 里面的 /lib/modules/`uname 
                        -r`/,加载恰当的驱动,这时系统已经具备了切换到硬盘或其他介质上的文件系统的条件了。<BR><BR>机不可失,这时,我们首先加载硬盘或光盘、u 
                        盘等启动介质,然后设该介质为根分区,并运行其 init 进程为 1 进程,之后,在 init 脚本中,释放掉 
                        initrd 的空间,这就是借助 initrd 的引导过程。在这个过程之中 引导程序帮我们多做了一件事 --- 
                        构建 ramdisk, 把 initrd 放入内存。<BR>三、用 SYSLINUX/ISOLINUX 
                        引导软盘和光盘<BR><BR>上文已经说过了,SYSLINUX/ISOLINUX 
                        是专门用来引导可移动介质的轻量级引导程序,因为这样的介质通常不会固定只针对一种硬件,initrd 当然是 
                        SYSLINUX/ISOLINUX 
                        必须支持的功能了。这两种引导程序其实是一样的,没有多大区别,只是放在不同的设备的引导区罢了。 <BR>3.1 
                        配置 
                        SYSLINUX/ISOLINUX<BR><BR>对于这两种引导程序,都会有一段引导代码,写入引导代码的时候,还同时需要一个配置文件: 
                        syslinux.cfg/isolinux.cfg,同样,这两个文件也是一样的,唯一的区别在于文件名,其各个字段的写法如下: 
                        <BR><BR>&nbsp;&nbsp;&nbsp; DISPLAY 
                        xxx.txt<BR>这指定了一个文件名,会在启动的时候显示的内容,该文件甚至可以包含一个 RLE 
                        编码的图形文件,也就是大家在安装光盘启动时看到的那个;不过这个字段不甚重要,我们就略过了。 
                        <BR><BR>&nbsp;&nbsp;&nbsp; DEFAULT linux<BR>指定 label 是 
                        linux 的启动选项为缺省,当然也可以是别的。<BR><BR>&nbsp;&nbsp;&nbsp; LABEL 
                        linux<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        kernel 
                        vmlinuz<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        append initrd=initrd26.gz ramdisk_size=1000000 
                        vga=791<BR>这就是一个启动描述,前面的 label 大家都认识了,之后分别是指定 kernel 
                        和内核参数,其中重要的参数就是 initrd= 指定 initrd 的文件和 ramdisk_size= 指定 
                        initrd 
                        的尺寸上限。其余的内核参数还可能有很多,不过这里的参数我们一般都可以抄过来。这样的启动选项描述是可以有若干个的。<BR><BR>&nbsp;&nbsp;&nbsp; 
                        PROMPT=1<BR>这是说,向用户提示输入选择,直接回车就是缺省选项了<BR><BR>&nbsp;&nbsp;&nbsp; 
                        TIMEOUT=0<BR>没有时间限制,当然也可以指定一定时间之后自动进入缺省选项。<BR><BR>好了,就这么多,如果你会用 
                        LILO 的话,用这个一定得心应手,说实话 grub 也差不了太多。<BR>3.2 安装 
                        SYSLINUX/ISOLINUX<BR><BR>配置文件写完了,现在进入实质阶段,这里,两种引导程序还是略有差别的,首先介绍SYSLINUX:<BR><BR>首先格式化引导介质为 
                        FAT16 格式 (软盘似乎应该是 FAT12),我们的例子里面是 U 
                        盘,<BR>&nbsp;&nbsp;&nbsp; mkdosfs -F16 -I 
                        /dev/sda<BR>我们是操作整个 U 盘,而不是里面的唯一分区,这种情况不是很多见,只是手上的 U 
                        盘比较特殊,大部分情况下,我们也可以<BR>&nbsp;&nbsp;&nbsp; mkdosfs -F16 
                        /dev/sda1<BR>然后挂在该 U 盘,放入我们的 syslinux.cfg 以及 kernel 和 
                        initrd.gz,还有其他启动所需要的东东,之后 umount 该 U 
                        盘。<BR><BR>&nbsp;&nbsp;&nbsp; * 执行下面操作之前,必须 umount U 
                        盘!*<BR><BR>然后写引导区:<BR>&nbsp;&nbsp;&nbsp; syslinux 
                        /dev/sda (或 syslinux /dev/sda1,如果是格式化的 /dev/sda1 
                        的话)<BR>至此就完成了。<BR><BR>对于光盘,同样不复杂,我们用 
                        ISOLINUX:<BR><BR>在准备制作 ISO 的目录里添加一个子目录,比如 boot/isolinux/ 
                        ,然后放入 isolinux.cfg 和一个对所有光盘都一样的 isolinux 提供的引导介质 
                        isolinux.bin,当然还要放入相应的 kernel, initrd 等等,然后,制作 iso 
                        的时候要使用 -b 参数:<BR>&nbsp;&nbsp;&nbsp; mkisofs -o 
                        output.iso \<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -b 
                        boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat 
                        \<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -no-emul-boot 
                        -boot-load-size 4 -boot-info-table 
                        \<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        for-iso-dir/<BR>最后的参数就是指定的光盘的目录了,-c 
                        参数的那个文件是自动生成的,不用太担心,其余参数都是固定的。事实上,也常常有人用 isolinux/ 而不是 
                        boot/isolinux/ 
                        ,这都是约定俗成的,你完全可以用自己的。这里的路径都是相对于光盘的根的,而和制作光盘时的工作目录没有关系。<BR><BR>至此,你也会用 
                        SYSLINUX/ISOLINUX 了。 :)<BR>四、实战 --- damn small linux + 
                        debian installer, 2 in 1 usb 
                        disk<BR><BR>&nbsp;&nbsp;&nbsp; * 1 下载 di 的 hd-image 里的 
                        kernel image 和 initrd,放入 U 盘,同时把 businesscard iso 也放进去,从 
                        iso 里找到 isolinux.cfg,记下里面的启设置<BR>&nbsp;&nbsp;&nbsp; * 2 
                        下载 dsl,把 KNOPPIX 目录搬到我们的 U 盘里,把 boot/isolinux/ 里面的 
                        kernel image 和 initrd 也放入 U 盘的根目录,这时,U 
                        盘根目录里同时有二者的启动文件了,也记住 dsl 里面的 isolinux.cfg 
                        的启动选项。<BR>&nbsp;&nbsp;&nbsp; * 3 以其中一个的 isolinux.cfg 
                        为基础,加入另一个的启动参数,注意 label 
                        命名不要冲突了就可以了。<BR>&nbsp;&nbsp;&nbsp; * 4 umount U盘,然后对 U 
                        盘运行 syslinux,写引导区,大功告成。<BR><BR>如前面帖子说过,dsl 的 initrd 
                        之中,只搜索 /dev/sda[1-9] 而不搜索<BR>/dev/sda,所以,如果如果像我们一样被迫用 
                        /dev/sda 的话,就不得不修改一下 dsl 的 initrd 里面的 linuxrc 
                        了,除此之外,没有什么其它值得大书特书的了。<BR><BR>Enjoy 
                        it!<BR><BR>&nbsp;<BR>参考<BR><BR>我还写过一篇《Damn Small Linux + 
                        Debian Netinstall, 2 in 
                        1》,用来制作二合一光盘,可以从<BR><BR>http://gnawux.blogchina.com/4006413.html<BR><BR>找到。<BR>&nbsp;<BR><BR>Trackback: 
                        http://tb.blog.csdn.net/TrackBack.aspx?PostId=1496745<BR>&nbsp;</FONT></P></FONT>
                        <DIV align=center>
                        <SCRIPT type=text/javascript><!--
google_ad_client = "pub-8876982994034985";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-06-17: article_728_60_textend
google_ad_channel = "2291808492";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_text = "000000";
google_color_url = "000000";
//-->
</SCRIPT>

                        <SCRIPT 
                        src="制作启动U盘或光盘 - Linux伊甸园----Linuxeden_com-LinuxUnix新闻下载技术文档论坛人才.files/show_ads.js" 
                        type=text/javascript>
</SCRIPT>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -