Die benötigten Kernelmodule befinden sich in den Kernelpaketen. Zusätzlich
werden noch die Pakete pcmcia und
hotplug benötigt. Beim Start von
PCMCIA werden die Module pcmcia_core,
yenta_socket und ds geladen. In sehr
seltenen Fällen wird alternativ zu yenta_socket das
Modul tcic benötigt. Sie initialisieren die vorhandenen
PCMCIA-Controller und stellen Basisfunktionen zur Verfügung.
Da PCMCIA-Karten zur Laufzeit gewechselt werden können, müssen die Aktivitäten in den Steckplätzen überwacht werden. Diese Aufgabe erledigen die in den Basismodulen implementierten CardServices. Die Initialisierung einer eingeschobenen Karte wird dann vom Cardmanager (für PC-Cards) bzw. vom Hotplug-System des Kernels (CardBus) übernommen. Der Cardmanager wird vom PCMCIA-Startskript nach dem Laden der Basismodule gestartet; Hotplug ist automatisch aktiv.
Ist eine Karte eingeschoben, ermittelt der Cardmanager bzw. Hotplug Typ und
Funktion und lädt die passenden Module. Wurden diese erfolgreich geladen,
startet der Cardmanager bzw. Hotplug je nach Funktion der Karte bestimmte
Initialisierungsskripten, die ihrerseits die Netzwerkverbindung aufbauen,
Partitionen von externen SCSI-Platten einhängen (mounten) oder andere
hardwarespezifische Aktionen ausführen. Die Skripten des Cardmanagers
befinden sich im Verzeichnis /etc/pcmcia. Die Skripten
für Hotplug sind in /etc/hotplug zu finden. Wenn die
Karte wieder entfernt wird, beendet der Cardmanager bzw. Hotplug mit
denselben Skripten sämtliche Kartenaktivitäten. Anschließend werden die
nicht mehr benötigten Module wieder entladen.
Es gibt für Vorgänge dieser Art so genannte Hotplug-Events. Wenn
Festplatten oder Partitionen hinzugefügt werden
(„block“-Events), sorgen die Hotplug-Skripten dafür, dass die
neuen Datenträger über subfs zur sofortigen Verwendung
in /media bereitstehen. Um Datenträger über die
älteren PCMCIA-Skripten einzubinden, sollte subfs in
Hotplug ausgeschaltet werden.
Sowohl der Startvorgang von PCMCIA als auch die Kartenereignisse werden in
der Systemprotokolldatei (/var/log/messages)
protokolliert. Dort wird festgehalten, welche Module geladen
und welche Skripten zur Einrichtung aufgerufen wurden.
Theoretisch kann eine PCMCIA-Karte einfach entnommen werden. Dies
funktioniert hervorragend für Netzwerk-, Modem- oder ISDN-Karten, solange
keine aktiven Netzwerkverbindungen mehr bestehen. Es funktioniert nicht im
Zusammenhang mit eingehängten Partitionen einer externen Platte oder mit
NFS-Verzeichnissen. Hier müssen Sie dafür sorgen, dass die Einheiten
synchronisiert und sauber ausgehängt werden (unmounten). Das ist natürlich
nicht mehr möglich, wenn die Karte bereits herausgenommen wurde. Im
Zweifelsfall hilft der Befehl
cardctl eject. Dieser Befehl
deaktiviert alle Karten, die sich noch im Laptop befinden. Um nur eine
der Karten zu deaktivieren, können Sie zusätzlich die Slotnummer angeben,
zum Beispiel cardctl eject 0.