Je moet het volgende installeren en configureren voor NLM ontwikkeling:
Wellicht dat je ook het package met nlm-voorbeelden vanaf mijn FTP-site wilt downloaden: ftp://ftp.penguin.cz/pub/users/mhi/nlm/ of ftp://ftp.funet.fi/pub/mirrors/ftp.penguin.cz/pub/users/mhi/nlm/.
Laten we beginnen met de NetWare server. Je kunt gebruik maken van NetWare versie 3.X, 4.X of 5.X. De "demo" versie van NetWare 5 (of 5.1) voor drie gebruikers kan voor een paar dollar worden besteld bij Novell Inc.. Laat je niet in de war brengen door het woord "demo", het is een volledige functionele NetWare, behalve dat het beperkt is tot drie gebruikers. Tussen twee haakjes, deze licentie kan online, zonder kosten, tot vijf gebruikers worden bijgewerkt. Je zou ook kunnen proberen je lokale Novell partner om demo CD's te vragen (wellicht kosten deze niks).
Je moet je kernel opnieuw compileren met "IPX protocol" en de "NCP file system support" opties geactiveerd. Vergeet niet YES te antwoorden op "NDS authentication support" als je gebruik maakt van NDS. Vervolgens moet je het IPX protocol configureren en je NetWare servervolumes configureren. Zorg dat je het ncpfs package hebt geïnstalleerd! Ik gebruik dit script:
#!/bin/sh ipx_interface delall ipx_interface add -p eth0 802.2 120 # Frame Ethernet_802.2, ipx net num 120 insmod ncpfs # Ik heb NCPfs als module gecompileerd ncpmount -U admin -S elf -P XYZ /nw # mount alle ELF's volumes als /nw
Zie de IPX-HOWO voor meer informatie over het configureren van IPX en NCPFS.
Ik denk dat in alle moderne Linux distributies voor de Intel X86 gcc is opgenomen, waarmee ELF32/i386 objectbestanden worden gegenereerd. Als je een oudere Linux distributie hebt, kan het zijn dat het a.out formaat wordt gebruikt in plaats van ELF. Als je Linux geen gebruik maakt van ELF, haal dan een nieuwer gcc op en installeer dat.
Het nlmconv(1) utility linkt objectbestanden naar het NLM formaat. Het maakt standaard onderdeel uit van GNU binutils, maar helaas is het niet in de huidige distributies (RedHat, SuSE, Debian, ...) opgenomen. Haal de binutils sources op van ftp.gnu.org, en compileer ze, of gebruik eenvoudigweg de voorgecompileerde nlmconv vanuit mijn nlm-kit package.
Mijn nlm-kit package is beschikbaar vanaf
ftp://ftp.penguin.cz/pub/users/mhi/nlm/. Het bevat de
benodigde bestanden voor NLM ontwikkeling. Extraheer het en start
"make all"
en "make install"
.
Er zal een directory /usr/nwsdk/
worden aangemaakt en alle
importbestanden, objectbestanden en het nlmimp(1) utility zullen worden
geïnstalleerd.
Er is eenvoudig aan de NDK te komen:
Je hebt de volgende bestanden uit de NDK nodig (allen zijn online beschikbaar op) http://developer.novell.com/ndk/clib.htm:
Het is jammer dat alle bestanden die hier zijn genoemd InstallShield Win32
uitvoerbare bestanden zijn. Je moet een Windows computer zien te vinden om
ze te extraheren en de include bestanden vervolgens kopiëren naar
/usr/nwsdk/include/
en documentation/samples naar waar je ook maar
wilt. De Novell Licentie staat me niet toe include bestanden of documentatie
met de nlm-kit te distribueren.
Omdat de NDK include bestanden onder Linux niet werken, moet je er handmatig een patch op toepassen door te typen "make install-include" in de nlm-kit-X.Y/ directory.
Je kunt de NetWare serverconsole direct benaderen (toetsenbord en monitor), door gebruik te maken van rconsole.exe (van dosemu), of door gebruik van telnetd.nlm/Xconsole (je hebt hier een X-server voor nodig).