基于DiskOnChip在linux下的安装使用

本安装手册的目的是介绍如何在Redhat 7.1上安装一块可以引导的16MB DiskOnChip,
   为了与GPL协议兼容,我们将DOC的驱动程序以模块的方式加载。 
  
   安装前的准备: 
   1. 到艾蒙公司的网站www.m-sys.com下载以下两个驱动程序, 
   DOC_Linux-4.2.2 (DOC的Linux驱动程序,该驱动支持2.4.X的Kernel) 
   DOC-DOS-UTILSver4.2 (DOC的DOS应用程序) 
   2. RedHat 7.1 安装光盘 
   3. 一块16MB的DiskOnChip 
  
   内容: 
   ----------------- 
   1. 安装RedHat Linux 7.1 
   2. 解压缩DOC的Linux驱动程序文件 
   3. 安装 doc-lilo程序 
   4. 安装DOC的Linux驱动程序TrueFFS for Linux 
   5. 编译驱动程序 
   6. 生成 Initrd 文件 
   7. 做一张备份启动软盘 
   8. 测试你的DOC 
   9. 给DOC分区 
   10. 将Linux的系统文件拷贝到DOC上 
   11. 使DOC变成启动盘 
   12. 测试DiskOnChip能否启动 
   13. 联系信息 
  
  
   1. 安装RedHat Linux 7.1 
   ----------------- 
  
   安装RedHat Linux 7.1时,最好采用定制方式安装,选中Development和Kernel
   Development,这样就可以安装 
   上开发工具和Kernel的源代码,其它的内容根据自己的需要选择安装。 
  
   为了保险起见,安装时做一张启动软盘,以备不时之需。 
  
   如果你在安装时没有安装Kernel 的源代码,可以按以下方法来安装: 
  
   将Redhat Linux 7.1的第二安装光盘放入光驱,切换为root用户身份,运行命令 
  
   #mount /dev/cdrom 
   加载光盘,然后运行下面的命令来安装Kernel的源代码 
  
   #cd /mnt/cdrom/RedHat/RPMS 
   #ls kernel-source- 
   #rpm -ivh kernel-source-2.4.2-2.i386.rpm 
  
  
   运行以下命令卸载光驱,取出光盘: 
  
   #cd / 
   #umount /mnt/cdrom 
   #eject cdrom 
  
  
   2. 解压缩DOC的Linux驱动程序文件 
   --------------------------------- 
  
   将我们下载的DOC的Linux驱动程序拷贝到/tmp目录下,运行下列命令: 
  
   #cd /tmp 
   #tar zxvf /tmp/DOC_linux-4.2.2.tgz 
  
   会在你的/tmp目录下生成一个doc-linux-4.2.2的目录,这个目录里的内容就是DOC的
   Linux驱动程序。 
  
  
   3. 安装 doc-lilo程序 
   ------------------- 
  
   标准的lilo程序不支持DOC,所以我们要用DOC的Linux驱动程序中的lilo来取代系统自带
   的lilo。 
  
   运行下列命令: 
  
   #cd /tmp/doc-linux-4.2.2/lilo 
   #rpm -ivh doc-lilo-0.21-19.i386.rhat62.rpm 
  
   将在你的系统中安装下面这两个文件 
  
   /sbin/doc-lilo 
   /boot/doc.b 
  
   同时会自动生成/etc/doc-lilo.conf这个文件,我们可以用 
  
   #less /etc/doc-lilo.conf 
   命令来查看该文件。 
  
   我们用新的doc-lilo 来取代原有的lilo,运行命令: 
  
   #doc-lilo -v -C /etc/doc-lilo.conf 
  
   用下面的命令重新启动系统 
  
   #shutdown -r now 
  
   或者同时按 
  
   三个键。 
  
   在开机时,你应该看见类似下面的提示符, 
  
   dLILO 
   Low memory: 02CF Kb 
  
   如果没有话,就表明你的doc-lilo程序没有正确安装,请按上面的方法重新安装。 
  
  
   4. 安装DOC的Linux驱动程序TrueFFS for Linux 
   ----------------------------------- 
  
   运行下列命令来安装驱动程序: 
  
   #cd /tmp/doc-linux-4.2.2/driver 
   #./patch_linux linux-2_4-patch driver-patch /usr/src/linux-2.4 
  
   运行完此命令后,就会在/usr/src/linux-2.4/drivers/block中生成doc这个目录,这
   个目录中的文件就是DOC 
  
   的Linux驱动程序。 
  
   然后运行命令: 
   ./mknod_fl 
  
   在/dev/msys目录中生成DOC的设备文件。 
  
  
   5. 编译驱动程序 
   ---------------------------------------- 
  
   编译Kernel 的源代码和DOC的驱动程序,运行下列命令: 
  
   #cd /usr/src/linux-2.4 
   #make menuconfig 
  
   出现选项菜单,可以根据自己的实际需要来选择,这里我们选择以下几项: 
  
   Loadable module support 
   - Enable loadable module support (必需选) 
   Processor Type and features 
   - 386 processor family 
   - 1G Maximum Physical Memory 
   General Setup 
   - Kernel support for ELF binaries 
   Block Devices 
   - Normal PC floppy disk support 
   - Loopback device support 
   - RAM disk support 
   - M-Systems DOC device support (必需选为模块,选中后按M键即可) 
   Character devices 
   - Virtual Terminal 
   - Support for console on virtual terminal 
   - Standard/generic (8250/16550 and compatible UARTs) serial support 
   Filesystems 
  
   - DOS FAT fs support 
   - MSDOS fs support 
   - VFAT (Windows-95) fs support 
   - /proc filesystem support 
   - Second extended fs support 
   Console Drivers 
   - VGA text console 
   退出存盘,运行下面的命令编译: 
   #make dep 
   #make clean 
   #make bzImage 
   #make install 
   #make modules 
   #make modules_install 
  
   如果发生编译无法通过的情况,可以在运行make dep命令之前先做如下处理, 
   #vi /usr/src/linux-2.4/Makefile 
  
   找到 
   HOSTCC = gcc 
   将其改为 
   HOSTCC = kgcc 
  
   找到 
   CC = $(CROSS_COMPILE)gcc 
   将其改为 
   CC = $(CROSS_COMPILE)kgcc 
  
   存盘退出,然后重运行上面的命令编译,应该就可以了。 
  
   6. 生成 Initrd 文件 
   ---------------------- 
  
   运行命令: 
  
   insmod loop 
  
   然后运行命令: 
  
   lsmod loop 
  
   看是否有loop的显示,如果有的话就代表loop这个模块已经被加载了。 
  
   运行下列命令: 
   #cd /tmp/doc-linux-4.2.2/driver 
   #./mkinitrd_doc 
  
   会在 /etc/lilo.conf-initrd 这个文件中加上 
  
   initrd=/boot/initrd-2.4.2-2.img 
  
   这一行。 
  
   运行下面的命令: 
  
   #doc-lilo -v -C /etc/lilo.conf-initrd 
  
   更新lilo的配置,然后重新启动你的电脑。 
  
   7. 做一张备份启动软盘 
   ------------------------------- 
  
   为了预防万一,我们做一张DOC的备份启动软盘,运行下列命令: 
  
   #cd /tmp/doc-linux-4.2.2 
   #./mkbootdisk_doc --device /dev/fd0 2.4.2.-2 
  
   在盘上贴上标签Emergency Boot disk - DiskOnChip, doc-lilo. 
  
  
  
   8. 测试你的DOC 
   ------------------- 
  
   将你的DOC插到电脑上,重新开机,你会看到类似下面的几行 
  
   Flash disk driver for DiskOnChip2000 
   Copyright (C) 1998,2000 M-Systems Flash Disk Pioneers Ltd. 
   Copyright (C) 2000 Lineo 
   DOC device(s) found: 1 
   Fat Filter Enabled 
   fl_init: registered device at major: 100 
   fl :fl_doc_mount: VOL: 0 
   fl :debug: entering NFDC 2148 identification routine. 
   fl :Debug: identified NFDC 2148. 
   fl :Debug: starting NFTL mount. 
  
   fl :Debug: finished NFTL mount. 
   fla: unknown partition table 
   partition: 0: start_sect: 0, nr_sects: 7cf0 Fl_blk_size[]: 3e78kb 
   partition: 1: start_sect: 0, nr_sects: 0 Fl_blk_size[]: 0kb 
  
   如果系统运行太快看不清楚的话,可以用 
  
   #less /var/log/dmesg 
  
   命令查看。 
  
   你也可以用命令: 
  
   #lsmod 
  
   查看是否有TrueFFS 的显示,有的话就代表DOC已经顺利的驱动。 
  
  
   9. 给DOC分区 
   ------------------------- 
  
   运行命令: 
  
   #fdisk /dev/msys/fla 
  
   查看DOC的分区情况,: 
  
   p 
  
   如果你看见已经有一个DOS分区的话,运行下列命令将其改为Linux分区: 
  
   t 
  
   1 
   83 
  
   如果显示没有分区的话,运行下列命令创建一个新的分区,你也可以创建多个分区: 
  
   n 
   p 
   1 
  
  
  
   存盘退出: 
  
   w 
  
  
   10. 将Linux的系统文件拷贝到DOC上 
   ------------------------------------------ 
  
   我们把Linux的系统文件拷贝到DOC上,运行命令: 
  
   #cd /tmp/doc-linux-4.2.2/build 
   #./mkdocimg redhat-6.2.files 
  
   我们可以根据自己的实际需要编辑redhat-6.2.files 这个文件,添加或删除一些文件,
   比方如果你不用vi这 
   个文件的话,可以删掉这一行,但在删除lib文件时一定要小心。重新启动你的电脑。 
  
  
   11. 使DOC变成启动盘 
   ---------------------------- 
  
   上面我们已经将Linux的系统文件拷贝到DOC中,现在我们要将DOC做成一个可引导的盘。
  
  
   将我们刚才下载的DOC-DOS-UTILSver4.2 文件在windows下解压缩,然后在windows下用
   命令: 
  
   C:> format a:/s 
  
   制作一张启动软盘。 
  
   将解压缩文件中的下列文件拷贝到A盘: 
  
   DFORMAT.EXE 
   DINFO.EXE 
   DOCxx.EXB 
   DUPDATE.EXE 
   DOC42.exb 
  
   用这张软盘启动系统,运行命令: 
  
   DUPDATE /WIN:{address} /S:DOC42.exb /first 
  
   来刷新DOC的firmware部分,使DOC可以启动。在这里,WIN:{address} 是DOC中的 8K
   驻留内存的起始地址,一 
   般DOC的地址是D000,我们就可以用下面的命令: 
  
   DUPDATE /WIN:D000 /S:DOC42.EXB /first 
  
  
   12. 测试DiskOnChip能否启动 
   -------------------- 
  
   重新开机,看系统是否从DOC启动而不是从硬盘启动。如果是从DOC启动,就代表你已经完
   成了整个的安装过程。 

DDCOPY 1.5 版使用说明 功能特点: 程序容量小,速度快;不到40KB的程序可以快速拷贝几十GB的硬盘; 支持8GB以上容量的大硬盘间拷贝; 提供BADCOPY(坏盘拷贝)功能,可以跳过损坏的扇区继续拷贝; 对同一PC机内的多个硬盘进行全盘复制,支持IDE,EIDE,SCSI; 对硬盘的文件系统无限制(FAT32,NTFS,UNIX……); 快速清除硬盘的主引导扇区(MBR); 自动检测所接硬盘参数(柱面数、磁头数、扇区数、容量); 硬盘连接方法: 将硬盘接到计算机,并在CMOS中正确设置硬盘参数; 记下硬盘的排放顺序,以免拷贝时出现错误; 如果条件许可,以下连接方法可以提高20%拷贝速度: 对于 IDE硬盘,将源盘与目标盘分别用两根数据(排)线连接于主板上; 对于SCSI硬盘,将源盘与目标盘分别连接在不同的SCSI控制器上; 通常的连接方法(在CMOS中设置以"C"启动时): IDE硬盘: Primary Master -> 80h Primary Slave -> 81h Secondary Master-> 82h Secondary Slave -> 83h SCSI硬盘: ID=0 -> 80h ID=1 -> 81h ... 程序的运行: DDCOPY [-d|]|[-c|[-s]] [-y] DDCOPY [选项] 源盘标识 目标盘1# 目标盘2# ... Options[选项]: -s: 显示全部或指定硬盘信息 -d: 默认拷贝方式(拷贝PC机内所有硬盘,顺序为80h -> 81h 82h ...) -c: 清除指定硬盘的主引导扇区(MBR) -y: 对所有确认信息以回答“Yes” Samples[示例]: ddcopy -d -y 以默认顺序拷贝所有硬盘 ddcopy -c 81 80 清除指定硬盘的主引导扇区 ddcopy -s 80 81 显示指定硬盘的信息 ddcopy 81 80 82 按照指定顺序拷贝指定硬盘(此处81h为源盘) ==================================================== RouterOS爱好者|ROS爱好者 http://www.126cm.com 收集整理 天偶发现一个十分好用的软件,与大家分享(希望能进精华):      一般我们对系统进行备份,克隆都是用了ghost软件,但在UNIX系统方面,使用GHOST克隆会出现不能正常启动的问题,或者操作方法十分的麻烦。   推荐大家使用DDCOPY软件对UNIX系统进行备份或者双硬盘对拷。DDCOPY采用的是完全物理扇区拷贝方法,而GHOST是识别磁盘上的文件系统,所以只拷贝有效数据,在速度方面ghost是比ddcopy快得多,但ddcopy可以完完全全的把unix系统备份好。我用ddcopy对双硬盘linux7.3对拷,拷贝时间大概花了2个半小时,硬盘大小36G,数据完整是最重要的,时间花得多些也值。   ddcopy特点: (1)彻底的硬盘拷贝 (2)坏伞区拷贝 (3)支持单硬盘容量最大2TB (4)支持多系统 下载地址: http://www.100free.com/ddcopy/html/page2.html (最好使用1.5版本的,我双硬盘对拷时在1.6版本下不成功,在1.5版本下成功了) ddcopy的使用方法:   程序的运行 ddcopy [-d s=m d=d1,dn]|[-p s=m:i d=d1:j,dn] [-v n] [-s] [-c] [-f] [-y] [-h] 命令行参数 -d 设定拷贝模式为硬盘整盘拷贝 s 表示数据源,m可以为硬盘号或映像文件. d 表示目标,dn可以为硬盘号或映像文件,多个目标间用“,” 分隔. -p 设定拷贝模式为分区拷贝 s 表示数据源,m可以为硬盘号或映像文件,i为分区号. d 表示目标,dn可以为硬盘号或映像文件,k为分区号,多个 目标间用“,”分隔. -v 表示如目标为映像文件,则对其分卷存储,n为每卷容量(MB) -c 采用数据压缩方式保存映像文件 -s 显示计算机内所有硬盘的信息 -f 缺省拷贝模式(拷贝计算机内所有的硬盘),源盘为第1硬盘, 目标盘为其余的硬盘。此参数等同于-d s=1 d=2,3, ... -y 对于在运行过程的提示信息均回答Yes -h 显示帮助信息和示例 使用示例 ddcopy -d s=1 d=2,3,4 将第1硬盘上的数据复制到第2、3、4硬盘上。 ddcopy -d s=1 d=2,x:\d1.img -c 将第1硬盘复制到第2硬盘,并采用压缩方式保存到映像文件“d1.img”上。 ddcopy -d s=x:\d1.img d=1,3 将映像文件“d1.img”上的数据复制到第1、3硬盘上。 ddcopy -p s=1:1 d=2:1,3:2 将第1硬盘第1分区上的数据复制到第2硬盘的第1分区和第3硬盘的第2分区上。 ddcopy -p s=2:1 d=1:2,x:\p21.img -v 634 将第2硬盘第1分区上的数据复制到第1硬盘的第2分区上,并保存到映像文件“p21.img”中, 并设定分卷容量为634MB (649216KB)。 ddcopy -p s=x:\p21.img d=2:1,1:2 将映像文件“p21.img”中的数据复制到第2硬盘的第1分区和第1硬盘的第2分区上。 使用说明 DDCOPY是DOS模式下运行的程序,可以运行在PC-DOS、MS-DOS和Win95/98/Me的DOS环境下。不能在NT、Win2000、XP环境下运行。 硬盘号:“1”表示80h硬盘,即BIOS中所认的第一块硬盘,“2”表示81h硬盘,即BIOS中所认的第二块硬盘,依此类推。 分区号:“1”表示硬盘上的第一个分区,“2”表示硬盘上的第二个分区。每个硬盘上取多有四个分区。 映像文件所在的磁盘区域不要位于将要对其进行操作的“源盘”或“目标盘”上。 硬盘连接方法 前提:在计算机BIOS中设置以"C"或"IDE0"启动时 IDE硬盘: Primary Master ->; 第1硬盘 (80h) Primary Slave ->; 第2硬盘 (81h) Secondary Master->; 第3硬盘 (82h) Secondary Slave ->; 第4硬盘 (83h) SCSI硬盘: ID=0 ->; 第1硬盘 (80h) ID=1 ->; 第2硬盘 (81h) …… 说明: 将硬盘接到计算机,并在BIOS中正确设置硬盘参数; 记下硬盘的排放顺序,以免拷贝时出现错误; 提高拷贝速度 如果条件允许,用以下连接方法可以提高20%拷贝速度: 对于IDE硬盘,将源盘与目标盘分别用两根数据(排)线与主板连接 对于SCSI硬盘,将源盘与目标盘分别连接到不同的SCSI控制器上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值