下一页 上一页 目录

2. 配置你的 Linux 机器和 NetWare 服务器

为了进行 NLM 开发,你需要安装和配置以下这些组件

你可能也想从我的 FTP 站点下载 nlm-examples 软件包: ftp://ftp.penguin.cz/pub/users/mhi/nlm/ftp://ftp.funet.fi/pub/mirrors/ftp.penguin.cz/pub/users/mhi/nlm/

2.1 Novell NetWare 服务器

让我们从 NetWare 服务器开始。你可以使用 NetWare 3.X、4.X 或 5.X 版本。NetWare 5(或 5.1)三用户“演示”版本可以从 Novell 公司订购,只需花费几美元。不要被“演示”这个词语所迷惑,它是一个功能齐全的 NetWare,只是限制为三个用户。顺便说一句,此许可证可以在线升级到五个用户,且无需任何费用。你也可以尝试向你当地的 Novell 合作伙伴索取演示 CD(它们可能是免费的)。

2.2 带有 IPX/NCPFS 的 Linux 机器

你需要重新编译你的内核,并启用“The IPX protocol”和“NCP file system support”选项。如果你正在使用 NDS,别忘了选择 YES 以启用“NDS authentication support”。然后你必须配置 IPX 协议并挂载你的 NetWare 服务器卷。确保你已经安装了 ncpfs 软件包!我使用这个脚本


#!/bin/sh

ipx_interface delall   
ipx_interface add -p eth0 802.2 120 # Frame Ethernet_802.2, ipx net num 120
insmod ncpfs                        # I have NCPfs compiled as module
ncpmount -U admin -S elf -P XYZ /nw # mount all ELF's volumes as /nw

有关配置 IPX 和 NCPFS 的更多信息,请参阅 IPX-HOWTO。

2.3 GNU C 编译器

我认为所有用于 Intel x86 的现代 Linux 都包含 gcc,它可以生成 ELF32/i386 目标文件。如果你有一个较旧的 Linux 发行版,它可能使用 a.out 格式而不是 ELF。如果你的 Linux 没有使用 ELF,请获取并安装一个更新的 gcc。

2.4 来自 GNU binutils 的 nlmconv(1)

nlmconv(1) 实用程序将目标文件链接到 NLM 格式。它是 GNU binutils 的标准组成部分,但不幸的是,它未包含在当前的发行版(RedHat、SuSE、Debian 等)中。从 ftp.gnu.org 获取 binutils 源代码并编译它们,或者直接使用来自我的 nlm-kit 软件包的预编译 nlmconv。

2.5 nlm-kit 软件包

我的 nlm-kit 软件包可从 ftp://ftp.penguin.cz/pub/users/mhi/nlm/ 获取。它包含 NLM 开发所需的文件。解压它并运行 "make all""make install"。它将创建 /usr/nwsdk/ 目录,并安装所有导入文件、目标文件和 nlmimp(1) 实用程序。

2.6 来自 NDK 的包含文件和文档

获取 NDK 很简单

你需要来自 NDK 的这些文件(所有文件都可以在线获取,地址为 http://developer.novell.com/ndk/clib.htm

遗憾的是,上面提到的所有文件都是 InstallShield Win32 可执行文件。你必须找到一台 Windows 机器来解压它们,然后将包含文件复制到 /usr/nwsdk/include/,并将文档/示例复制到任何你想要的地方。Novell 许可证不允许我随 nlm-kit 分发包含文件或文档。

因为 NDK 包含文件在 Linux 下无法工作,你需要手动修补它们,方法是在 nlm-kit-X.Y/ 目录中输入 “make install-include”。

2.7 访问 NetWare 服务器 (Xconsole 或 rconsole)

你可以直接访问 NetWare 服务器控制台(键盘和显示器),使用 rconsole.exe(来自 dosemu),或者使用 telnetd.nlm/Xconsole(你需要为此安装 X 服务器)。


下一页 上一页 目录