PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Automatisches laden von kompiliertem Modul (DeLock USB)



jac
10.09.06, 20:11
Hallo Forum,

habe einen DeLock USB-Ethernet Adapter. Da er von Suse 9.2 nativ nicht erkannt wird, habe ich mir das Modul aus den verfügbaren Quellen des Chipherstellers selber kompilert (MOSCHIP, mcs7830).
Das kompilieren hat auch funktioniert und mit einem:

make install
Ausgabe: insmod mcs7830.ko wird er aktiviert und funzt auch.
Das Problem ist jedoch bei einem Neustart, denn da ist das Modul wieder weg.
Ich habe nun die Quellen mir angeschaut. Im makefile steht:

...
install:
insmod mcs7830.ko
...
Habe nun, damit er automatisch geladen wird, den Befehl mit Pfad wie oben unter /etc/init.d/boot.local eingefügt.

Meine Fragen nun: ist das so ok (es funktionert zwar aber man will ja auch wissen ob das passt ;) ) oder gibt es da einen besseren Platz?

Und Zweitens: Bei den Quellen war noch ein File "moinst.c" dabei was jedoch nirgends eingebunde wird.
Es enthät wohl die Instalationsanweisungen:

main()
{
system("mkdir /usr/lib/mos7830");
system("cp mcs7830.ko /usr/lib/mos7830");
system("insmod mcs7830.ko");
system("touch /tmp/nprtmp");
system("grep -v 'cd /usr/lib/mos7830' /etc/rc.d/rc.local > /tmp/nprtmp");
system("cp /tmp/nprtmp /etc/rc.d/rc.local > /dev/null 2>&1");
system("rm -f /tmp/nprtmp > /dev/null 2>&1");
system("echo 'cd /usr/lib/mos7830' >> /etc/rc.d/rc.local");
system("ln -s /etc/rc.d/rc.local /etc/rc.local > /dev/null 2>&1");
system("chmod 755 /etc/rc.d/rc.local");
system("touch /tmp/nprtmp");
system("grep -v mosdriver /etc/rc.d/rc.local > /tmp/nprtmp");
system("cp /tmp/nprtmp /etc/rc.d/rc.local > /dev/null 2>&1");
system("rm -f /tmp/nprtmp > /dev/null 2>&1");
system("echo 'insmod mcs7830.ko ' >> /etc/rc.d/rc.local");
system("ln -s /etc/rc.d/rc.local /etc/rc.local > /dev/null 2>&1");
system("chmod 755 /etc/rc.d/rc.local");
}
Die Anweisungen sind m.E. für Suse 9.2 für die Tüte, da es ein /etc/rc.d/rc.local nicht gibt. Könnte ich die Umschreiben und automatisch beim kompilieren mit einbinden/ausführen (das gibt es nämlich auch noch analog für ein uninstall: mosuninst.c)?

Danke für die Hilfe und Gruß

JAC

pferdefreund
11.09.06, 06:07
Normalerweise sollten Module in der /etc/modules.conf eingetragen werden,
aber du hast ja nicht Wind... sondern LInux und bist daher flexibel.
Wenns funktioniert - ist doch gut. Schau doch mal in deiner
/ertc/modules.conf (oder wie das DIng heutzutage heißt) nach, -eventuell gibts
da ja schon muster - irgendwas mit alias.... - Modulname. Da ich noch nen
2.4-er Kernel habe, kenne ich die neue Syntax nicht so genau

baumgartner
11.09.06, 07:57
Das Skript brauchst dir nicht umschreiben, weil deine aktuelle Lösung ja auch nix anderes macht. Ansonsten kannst du ja mal bei meinem Rätselthread vorbeischauen: http://www.linuxforen.de/forums/showthread.php?t=221646

mfg Martin

jac
11.09.06, 11:29
Hi,

danke Euch erstmal. Werde mal den Rat von bla!zilla aus dem "Rätselthread" ausprobieren und in der /etc/sysconfig/kernel eintragen.

Melde mich bei Vollzug!

Danke und Gruß JAC