华高科技有限公司

基于DiskOnChip在linux下的安装使用

供稿:华高科技有限公司
发布时间:2002/9/9 8:45:00

本安装手册的目的是介绍如何在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

如果显示没有分区的话,运行下列命令创建一个新的分区,你也可以创建多个分<

如需了解更多信息,请访问 (华高科技有限公司)官网 http://www.w-smarter.com

关键词:编码器,电机,编程软件,电动机

联系我们

桌面版

华高科技有限公司
地 址:北京市海淀南路19号时代网络大厦2012室/深圳市福田区景田路77号擎天华庭擎天阁32HG
邮 编:100080
电 话:北京华高010-82666068 82666328 深圳华高0755-83056708
传 真:北京华高010-51722168 深圳华高0755-83056251
网 址:http://www.w-smarter.com
E-mail:f13302319984@126.com
联系人:冯先生

工控宝
您的贴身工控百宝箱!

点击下载