slax学习文档_第1页
slax学习文档_第2页
slax学习文档_第3页
slax学习文档_第4页
slax学习文档_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

修订记录 日期日期修订版本修订版本描述描述作者作者 2012-04-19V1.0 创建文档王丰博 目录目录 第一章第一章 SLAX 概述概述.3 一:SLAX简介.3 二:SLAX特点、优势.4 三:用途.4 第二章第二章 SLAX 文件结构及制作文件结构及制作.5 一: SLAX目录结构.5 二: 光盘的制作 .6 第三章第三章 SLAX 的启动过程的启动过程.8 一: SLAX启动过程简介.8 二: SLAX启动过程主要指标.8 第四章第四章 SLAX 简单的应用简单的应用.13 一:ROOTCOPY.13 二:SD卡的分区和拷贝.13 第五章第五章 SLAX 模块的定制模块的定制.14 一:引导加载程序(BOOTLOADER) ,.14 二:LINUX 内核.14 三:文件系统.14 四:应用程序.14 第一章第一章 SLAX 概述概述 一:一:slax 简介简介 1.概念 (1)slax 是什么? 操作系统(袖珍系统) slax 是一个基于 Slackware 的 LiveCD,即小型的 Linux OS。 Slackware Linux 是由 Patrick Volkerding 开发的 GNU/Linux 发行版。它坚持 KISS(Keep It Simple Stupid)的原则,就是说没有任何配置系统的图形界面工具。 Slackware Linux 的另一个突出的特性也符合 KISS 原则:Slackware 没有如 RPM 之类的成熟的软件包管理器。 Slackware 的软件包都是通常的 tgz(tar/gzip)格式 文件再加上安装脚本。 LiveCD 是指可以直接引导为可用 Linux 系统的 CD。 2.安装方式 (1)光盘安装 (2)u 盘安装 3. 开机选项 (/boot/slax.cfg 中配置的选项) 图 1 开机选项 图二 桌面 二:二:slax 特点、优势特点、优势 1.CD 启动直接运行,免安装,免配置 2.209MBytes 大小,可以刻录到 3.5 寸 CD-R 盘片上,实现真正的口袋操作系统 三:用途三:用途 你可随时随地拥有自己专属的操作系统,绝对安全,而且易于携带 第二章第二章 SLAX 文件结构文件结构及制作及制作 一:一: slax 目录结构目录结构 1.目录结构(windows 下) 2 .目录及重要文件介绍 BOOT: 包含了 Bootable_NoEmulation.img 文件,这个是引导记录文件。 boot: boot 中包含了 linxu 启动所必须的内核以及文件系统。 (1)fmbr.bin MBR,全称为 Master Boot Record (2)flilo Linux 引导加载程序 LILO(LInux LOader) 现在比较流行的两个引导: LILO 和 GRUB(GRand Unified Boot loader) (3)fslax.cfg (4)fvmlinuz (5)finitrd.gz slax : 这是我们定制的模块,base、module、rootcopy,还有 tools,这个提 供了在修改 slax 模块后生成光盘文件的工具。 (1)dbase Base 下存放一些基本的功能,如火狐、office 等 (2)dmodules 放置自己定制的模块,注意这里务必要是 lzm 格式的。只有 lzm 格式的才能被识别. (3)doptional (4)drootcopy (5)dtools 放置一些可执行文件或是脚本,如: liblinuxlive、mksquashfs、unsquashfs、dir2lzm、tgz2lzm。 (6)fmake_iso.bat 当我们配置好自己的模块后,这个批处理文件用来生成我们所 需的 iso 文件。 二:二: 光盘的制作光盘的制作 : 在 dos 界面下运行 make_iso.bat 即可。这个批处理要带一个输出路径文件参 数。 (1)生成一个新的模块 注意最后一句,f:new_slax.iso 为生成的 iso 文件路径及文件名。 (2)模块生成成功提示 至此,你的新 iso 已经 ok。 第三章第三章 SLAX 的启动过程的启动过程 一一: slax 启动过程简介启动过程简介 软盘引导扇区-lilo-内核-用户登录 BIOS自检 MBR LILO 内 核 内核初 始化 . . 加载文 件系统 用户登录 自解压 Init 进程 l l i i n n u u x x 启启 动动 流流 程程 图图 二:二: slax 启动过程主要指标启动过程主要指标 1.Lilo【copy】 1)、LILO 的引导机制 众所周知,计算机的最初启动是由 BIOS 控制的,在对一些硬件 (如:内存、键盘等)初始化之后,它会试图加载硬盘的主引导记录 (MBR)或软盘的引导扇区。 MBR 可通过两种方式运行,其一是定位到活动分区并加载相应的 引导扇区,然后由引导扇区完成该分区内操作系统的基本组件的加载 ;其二是直接从一指定分区中加载信息,并通过它装入任一分区的操 作系统,诸如 LILO、OS/2 boot loader 及 Partition Magic 等引导加载 程序都可以配置成这种方式。 软盘的引导扇区相当于硬盘活动分区的引导扇区,它通常用于装 入软盘上的操作系统。 由此可见,只要把 LILO 安装在 MBR、活动分区或者引导软盘上, 就能接管计算机的控制权,然后由 LILO 完成后继的引导过程。LILO 中 建有一个引导表地址编码,借此它的引导程序就能定位到 Linux 的内 核文件,这种地址编码既可以按照柱面/磁头/扇区(CHS)模式,又可 以采用 LBA 的线性块号模式,因此,即使对某些 SCSI 控制程序 LILO 也 能运转良好。 当 LILO 定位到配置文件后,经过预引导过程,就显示提示符: LILO boot: 此时,系统允许选择引导不同的操作系统或者不同的内核配置, 按 Tab 键显示可选项列表,然后输入可选项或者直接回车选择缺省配 置,如果选择了引导 Linux,还可以直接传递参数到系统内核。 和其他系统的引导加载程序相比,LILO 具有更大的灵活性,其引 导方式也更丰富多彩。 当 LILO 被安装在硬盘的 MBR、活动分区或引导软盘上时,作为 原引导程序的替身,它能引导任一硬盘任一分区上的 Linux 和其他操 作系统; 除了引导扇区,它没有任何隐含文件,也不需要使用特定的分 区,它的配置文件可以在任何分区、甚至是存放在与 Linux 毫不相干 的 DOS 分区的某个子目录下; 它能引导几个不同的内核配置,甚至是几个不同的内核; 它能引导同一机程序上的多个 Linux 版本; 它能从网络上引导 Linux。 LILO 的灵活性使得其配置变得相当复杂,当有多个系统共存时, 建议先安装其他操作系统,最后再装 Linux,这样,设置 LILO 对其他 系统的引导会相对简单一些。 2)、几个重要的 LILO 引导参数 LILO 的引导参数有很多,在此只对一些比较重要的参数作一介绍 . (1)“boot=” 此参数指明包含引导扇区的设备名(如:/dev/had),若此项忽 略,则从当前的根分区中读取引导扇区。 (2)“root=” 此参数告诉内核启动时以哪个设备作为根文件系统使用,其设定 值为构造内核时根文件系统的设备名,可用的设备名有: a:/dev/hdaN/dev/hddN:ST-506 兼容硬盘,a 到 d 上的 N 个分区 b:/dev/sdaN/dev/sdeN:SCSI 兼容硬盘,a 到 e 上的 N 个分区 c:/dev/xdaN/dev/xdbN:XT 兼容硬盘,a 到 b 上的 N 个分区 d:/dev/fdN:软盘,A:(N=0)或 B:(N=1) e:/dev/nfs:由网络取得根文件系统的标志 (3)“nfsroot=” 若需通过 NFS 提供根文件系统来引导无盘工作站,此参数为内核 指定了网络根文件系统所在的机程序、目录及 NFS,其格式为: nfsroot= (ser ver_ip:)root_dir(,nfs_options) (4)“nfsaddrs=” 设定网络通讯所需的各种网络界面地址,如无此参数,则内核会 试图用反向地址解析协定(RARP)或启动协定(BOOTP)找出这些参数, 其格式为: nfsaddrs=客户端 IP:服务端 IP:网关 IP:子网屏蔽: 客户端名称:网络设备名 :auto (5)“image=” 指定 Linux 的内核文件。 (6)“delay=” 设定引导第一个映像前的等待时间。 (7)“disk=” 此参数为某一特殊的硬盘定义非标准参数。 (8)“append=” 为内核传递一个可选的参数行,其典型的应用是为不能完全由系 统自动识别的硬盘指定参数,如:append = hd=64,32,202 (9)“label=” 此参数为每个映像指定一个名字,以供引导时选择。 (10)“read-only” 设定以只读方式挂入根文件系统,用于文件系统一致性检查 (fsck). (11)“install=” 安装一个指定文件作为新的引导扇区,缺省为/boot/boot.b。 (12)“loader=” 说明所使用的链加载程序(chain loader),缺省为/boot/chain.b, 如果不是从首硬盘或软盘启动,那么,此选项必须说明。 (13)“table=” 说明包含分区表的设备名,如果此参数忽略,引导加载程序将不 能传递分区信息到已引导的操作系统。当此参数指向的分区表被修 改 时,必须重新运行/sbin/lilo。 (14)“init=” 内核初始化时执行的程序,通常过程为 init、getty、rc 和 sh, 版本 1.3.43 以来的 Linux 内核能够执行/sbin/init 说明的命令行,若 在引导过程中出现问题,则可设置 init=/bin/sh 直接跳到 Shell。 (15)“ramdisk_start=” 由于内核不能放在压缩的内存文件系统映像内,为使内核映像能 够和压缩的内存映像放在一张软盘内,加入: “ramdisk_start= offset”,这样内核才开始执行。 (16)“vga=” 设置显示模式,如 8050、13244 等。 2内核 (1)内核映像的自引导这阶段的主要工作是实现压缩内核的解压和进 入内核代码的入口。需要确保解压后的内核代码不会覆盖掉原来的内核映像。 (2)执行内核初始化等。 3文件系统 a. 什么是 initrd 以及为什么要用 initrd 【copy】在早期的 Linux 系统中,一般就只有软盘或者硬盘被用来作为 Linux 的根文件系统,因此很容易把这些设备的驱动程序集成到内核中。 但是现在根文件系统可能保存在各种存储设备上,包括 SCSI, SATA, U 盘 等等。因此把这些设备驱动程序全部编译到内核中显得不太方便。我们看 到利用 udevd 可以实现实现内核模块的自动加载,因此我们希望根文件系 统的设备驱动程序也能够实现自动加载。但是这里有一个矛盾,udevd 是 一个可执行文件,在根文件系统被挂载前,是不可能执行 udevd 的,但是 如果 udevd 没有启动,那就无法自动加载根根据系统设备的驱动程序,同 时也无法在/dev 目录下建立相应的设备节点。为了解决这个矛盾,于是出 现了 initrd(boot loader initialized RAM disk)。initrd 是一个被压缩 过的小型根目录,这个目录中包含了启动阶段中必须的驱动模块,可执行 文件和启动脚本。包括上面提到的 udevd,当系统启动的时候,booload 会 把 initrd 文件读到内存中,然后把 initrd 的起始地址告诉内核。内核在 运行过程中会解压 initrd,然后把 initrd 挂载为根目录,然后执行根目 录中的/initrc 脚本,您可以在这个脚本中运行 initrd 中的 udevd,让它 来自动加载设备驱动程序以及在/dev 目录下建立必要的设备节点。在 udevd 自动加载磁盘驱动程序之后,就可以 mount 真正的根目录,并切

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论