|
DOC在嵌入式系统Linux下的安装使用
安装前的准备:
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启动,就代表你已经完
成了整个的安装过程。
--
[1;31m※ 来源:.天大求实BBS http://bbs.tju.edu.cn [FROM: 60.25.141.74][m |
|