[an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive] (none)
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive] (none)
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
>Drivermodulet ligger i /lib/modules/2.2.12/net/
>betyder det ikke at der med i kernen?
Jo, det er fint, så behøver du ingen re-compiling selv.
>Jeg kiggede i conf.modules, men der står intet om
>eth0!
>Men hvis jeg efter startup kører modprobe -c står der
>alias eth0 off...
>Jeg prøvede at tilføje alias eth0 de4x5.o (gør det
>noget endelsen er med?)
>Men det virker ikke...
De to ting hænger jo sammen! eth0 er ikke defineret i conf-modules.
Det er det samme som, at det er slået fra. I conf-modules slår man
netop ting fra ved at sætte dem til "off". Så hvis du vil slå dit
netkort til, burde denne linje kunne gøre det:
alias eth0 de4x5 # nej, intet .o med
Og hvis du absolut vil slå det fra, gøres det sådan:
alias eth0 off
Det betyder ganske simpelt, at når kernen leder efter en driver, der
kan styre eth0 (netkortet), så skal den lede efter de4x5 (den sætter
selv .o på).
Hvis du selv vil checke det, kan du jo altid først prøve 'insmod
de4x5' og se om det virker. Hvis driveren er den rigtige, burde der
aldrig være problemer i at loade den. Det er dog ikke det samme som at
du kan få kontakt med nettet med det samme! Det kræver nemlig, at din
routing-tabel (check den med 'route -n') bliver opdateret når
netkorts-driveren bliver loadet. Det er det, som "network" sørger fro
(se jesper Krogh's mail). Det som "network" hovedsageligt gør er
(vist) at udføre kommandoen 'ifconfig eth0 up', som du også selv kan
skrive på kommandolinjen. ifconfig-prorgammet konfigurer et interface
(netkort), og her er det altså eth0, og du kan så enten skrive 'up'ø
eller 'down' for at åbne eller lukke for kortet.
>Hvor kan man se hvilken driver der loades til
>kortet?(Et ellera andet må den vel loade? Men det er
>altså ikke nævn i den fil).
>
>Egentlig vil jeg også gerne vide hvordan alle disse
>"mod" programmer fungerer. Jeg bryder mig ikke om
>mystiske/kryptiske kommandoer jeg ikke forstår(og man
>filerne til mod programmerne er noget af det mest
>kryptiske jeg nogen sinde har læst, det er ikke så
>underligt at folk ikke kan finde ud af linux, det er
>sgu ikke styresystemet der er noget galt med, det er
>hjælpefilerne!)
Man-pages og anden dokumentation forklarer ofte en masse tekniske
detaljer, men ikke hvad de grundlæggende koncepter er. Med andre ord:
De giver svaret, men stiller ikke spørgsmålet. Så hvis man ikke selv
har fundet spørgsmålet, er de gerne mere forvirrende end oplysende.
Trist, og forkert efter min mening. Men sådan går det ofte når nørder
skriver dokumentation; for dem er spørgsmålene selvindlysende.
Men folk har jo ikke lavet dem for penge. Det er svært at skælde ud på
folk, der kun har gjort noget for at glæde en...
Anyway, nørden bag denne mail kan jo forsøge at forklare lidt:
Drivere i Linux kan ligge fast indlejret kernen (compilet ind), eller
de kan ligge eksternt - så er de moduler. De kan så indsættes når
systemet kører, enten af superbrugeren (root), eller automatisk, når
et program har brug for dem. Når moduler bliver indsat (loadet),
fungerer de præcis som hvis de havde været compilet ind fra starten.
Brugeren root kan gøre følgende (fx. med din netkortsdriver):
modprobe de4x5: Prøv at indsætte modulet.
insmod: Load modulet.
lsmod: List hvilke moduler der er loadet. Nu skulle de4x5 gerne stå
der.
rmmod de4x5: Fjern modulet.
Der er vist et par flere...
For alel kommandoerne gælder det, at du kun bruger selve navnet.
Kernen sætter selv .o på, og leder efter driveren alle subdirectories
i /lib/modules/<kerne-version>/.
Spørgsmål: Hvordan fungerer det, når programmer indsætter moduler?
Svar: conf.modules er svaret. Når ifconfig skal konfigurere dit eth0
netkort, sørger den for at loade den rigtige driver. Og det finder den
ud af ved at checke med conf-modules, hvor der så gerne skulle stå
'alias eth0 de4x5', så systemet kan finde driveren for ifconfig. Eler
rettere: Det er faktisk kernen, der gør det meste af arbejdet i
samarbejde med insmod. Programmet spørger bare efter den
funktionalitet, som "eth0" står fro (dvs. et netværks-interface), og
kernen sørger så for, at de nødvendige drivere er loadet for at kunne
tilbyde denne funktionalitet; for at "eth0" fungerer.
Spørgsmål: Hordan ser man så hvem der har loadet hvilke moduler?
Svar: Det er der (vist?) ikke nogen helt præcis kommando til. 'lsmod'
viser nogle gange noget information.
Håber det klarer en smule op...
/Simon
Last modified
2005-08-10, 20:58 CEST
[an error occurred while processing this directive] This page is maintained by
[an error occurred while processing this directive]MHonArc
[an error occurred while processing this directive] #
[an error occurred while processing this directive] *