Hallo Lug,
ich bin gerade dabei ein Knoppix 3.4 zu remastern und möchte einerseits beim Booten die Lauffähigkeit der CD testen, mir also ein Script schreiben, was ich unter laufendem X-Windows starte, was mir eventuelle Fehler beim Startvorgang ausgibt, hat jemand eine Idee, welche Dateien dazu in Betracht kommen, die ich durchsuchen sollte ?
als weiteres möchte ich das Home Verzeichniss auf einem USB-Stick speichern und möchte diesen dazu einfach unter Home einmounten, kann mir jemand sagen, woher ich aus dem /proc Interface an die Information kommen, welches Gerät ein USB-Stick ist (ich möchte nicht ausversehen auf eine SCSI Platte schreiben, wenn jemand anderes meine Remasterte Version startet) ? Bis jetzt kenne ich dazu /proc/scsi/scsi und /proc/scsi/usb-storage - aber wie bekomme ich jetzt die Zuordnung zu /dev/sd? ?
Hallo Johannes,
On Wed, Jul 07, 2004 at 07:53:09PM +0200, Johannes Richter wrote:
Hallo Lug,
ich bin gerade dabei ein Knoppix 3.4 zu remastern und möchte einerseits beim Booten die Lauffähigkeit der CD testen, mir also ein Script schreiben, was ich unter laufendem X-Windows starte, was mir eventuelle Fehler beim Startvorgang ausgibt, hat jemand eine Idee, welche Dateien dazu in Betracht kommen, die ich durchsuchen sollte ?
Ich würde dazu in /var/log/syslog suchen.
als weiteres möchte ich das Home Verzeichniss auf einem USB-Stick speichern und möchte diesen dazu einfach unter Home einmounten, kann mir jemand sagen, woher ich aus dem /proc Interface an die Information kommen, welches Gerät ein USB-Stick ist (ich möchte nicht ausversehen auf eine SCSI Platte schreiben, wenn jemand anderes meine Remasterte Version startet) ? Bis jetzt kenne ich dazu /proc/scsi/scsi und /proc/scsi/usb-storage - aber wie bekomme ich jetzt die Zuordnung zu /dev/sd? ?
Falls das Dateisystem auf dem Stick ext2 oder xfs ist, kannst Du es per label finden, anstatt dich per /dev/hda o.ä. festzulegen. Nähere Infos liefert Dir man 5 fstab bzw. Google.
Alternativ könntest Du udev einsetzen.
Ciao, -Gregor
Hallo Gregor
Ich würde dazu in /var/log/syslog suchen.
Gute Idee, werd das mal testen ...
Bis jetzt kenne ich dazu /proc/scsi/scsi und /proc/scsi/usb-storage - aber wie bekomme ich jetzt die Zuordnung zu /dev/sd?
Falls das Dateisystem auf dem Stick ext2 oder xfs ist, kannst Du es per label finden, anstatt dich per /dev/hda o.ä. festzulegen. Nähere Infos liefert Dir man 5 fstab bzw. Google.
nein, ich möchte das Dateisystem auf vfat lassen, um auch mit komerziellen Betriebssystemen darauf zugreifen zu können ;) .
Es muss doch möglich sein aus der /proc/scsi/scsi auf den Device Eintrag zu schließen ? Hat da noch jemand eine Idee ?
cheers, Joe
Hi Johannes,
On Fri, Jul 09, 2004 at 00:20:42 +0200, Johannes Richter wrote:
Es muss doch moeglich sein aus der /proc/scsi/scsi auf den Device Eintrag zu schliessen ? Hat da noch jemand eine Idee ?
Leider geht das nicht so einfach. Hier mal eine Beispiel-Ausschrift eines System mit einer echten SCSI-Platte (sda) und zwei USB-Sticks, von denen einer gesteckt war (sdb) und der andere momentan gesteckt ist (sdc):
/proc/scsi/scsi: Attached devices: Host: scsi0 Channel: 00 Id: 03 Lun: 00 Vendor: PLEXTOR Model: CD-ROM PX-40TS Rev: 1.11 Type: CD-ROM ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: QUANTUM Model: ATLAS_V__9_WLS Rev: 0230 Type: Direct-Access ANSI SCSI revision: 03 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: USB 2.0 Model: Mobile Disk Rev: 2.00 Type: Direct-Access ANSI SCSI revision: 02 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: JMTek Model: USBDrive Rev: 7.77 Type: Direct-Access ANSI SCSI revision: 02
/proc/scsi/usb-storage-0/1: Host scsi1: usb-storage Vendor: TTI-TTI Product: U20 Mobile Disk Serial Number: 4C9A08AE3FE1CA01 Protocol: Transparent SCSI Transport: Bulk GUID: 126f21684c9a08ae3fe1ca01 Attached: 0
/proc/scsi/usb-storage-1/2: Host scsi2: usb-storage Vendor: JMTek Product: USBDrive Serial Number: None Protocol: Transparent SCSI Transport: Bulk GUID: 058f93800000000000000000 Attached: 1
Das Vorgehen ist nun, die Dateien /proc/scsi/usb-storage-X/Y durchzugehen, nach "Attached: Yes" (bei aelters Kernels "Attached: 1") zu suchen und das Feld "Host scsi?:" dem n-ten "Direct-Access"-Eintrag in /proc/scsi/scsi zuzuordnen. Fuer n=1 ist es dann sda, fuer n=2 sdb, usw.
Ich habe ein kleines Shellskript geschrieben, das diese Methode verwendet. Es liefert beim Aufruf alle /dev/sd? zurueck, die gesteckte usb-storage Devices repraesentieren und sollte auch mit an- und abziehen zurechtkommen. Probiers mal aus:
http://chris.silmor.de/find_usbstick.sh
bye, Chris
Danke, das war genau das was ich wissen wollte, zwischendurch habe ich noch eine andere Lösung entwickelt: ich lese die ersten 512 byte des Device und suche nach der Datenträgerbezeichnung.
Johannes Richter
On Fri, Jul 09, 2004 at 12:20:42AM +0200, Johannes Richter wrote:
nein, ich möchte das Dateisystem auf vfat lassen, um auch mit komerziellen Betriebssystemen darauf zugreifen zu können ;) .
Es muss doch möglich sein aus der /proc/scsi/scsi auf den Device Eintrag zu schließen ? Hat da noch jemand eine Idee ?
Falls Du Kernel 2.6 einsetzt sollte Dich udev zum Ziel bringen. Dazu mußt Du folgendes tun:
1. udev installieren apt-get install udev
2. Da ich nicht weiß, wie sich Knoppix mit udev verträgt, das udev Gerätedateienverzeichnis von /dev nach z.B. /udev ändern. Dazu mußt Du in /etc/udev/udev.conf die Parameter udev_root und udev_db ändern.
3. Eine Regel für Deinen USB-Stick erstellen (z.B. in /etc/udev/rules.d/local.rules):
Siehe dazu auch http://www.reactivated.net/udevrules.php
Für meine Digitalkamera und USB-Platte sieht das so aus: BUS="scsi", SYSFS{model}="*DSC*", KERNEL="sd?1", NAME="%k",SYMLINK="camera" BUS="scsi", SYSFS{vendor}="Genesys*", KERNEL="sd?1", NAME="%k",SYMLINK="usbhd"
4. In /etc/fstab den Geräteknoten von /home ändern.
Mit diesem Setup wird jedes Mal wenn Du den Stick einsteckst, ein Link von usbhd nach sd{x}1 erstellt.
Ich hoffe, Du bekommst das hin.
Ciao, -Gregor
lug-dd@mailman.schlittermann.de