Boot-CD bzw. -Stick mit Linux zum Schnelltesten der Hardware
Hallo alle zusammen,
ich suche ein Mini-Linux das von CD oder USB-Stick booten kann und die vorgefundene Hardware in einer Art Bericht in der Konsole bzw. noch besser auf ttyS0 ausgibt.
Ich möchte damit einen Schnelltest für PCs realisieren. Ziel soll es sein, daß man in kurzer Zeit mehrere Rechner auswerten kann ohne daß man viel auf dem Tastenkasten rumhacken muss. Am besten so, daß nur der Prüfling per Nullmodemkabel mit dem Auswerterechner verbunden wird, Boot-CD rein und ab die Post. Auf dem Auswerterechner hab ich ein Windowsprogramm laufen das alles mitschneidet was auf COM1 rein kommt. Also z.B. den Schnelltest-Report vom Test-Linux.
Ihr müsst euch das so vorstellen, daß ich palettenweise gebrauchte Rechner habe. Nach einer kurzen Sichtprüfung (alles was älter als Pentium 4 ist wird geshreddert) müssen die übrig gebliebenen Rechner mit ihrer Ausstattung erfasst werden. Die ermittelten Daten sollen in einer Datenbank gesammelt werden, deshalb der Auswerterechner auf dem ein selbstentwickeltes Datenbank-Frontend läuft.
Ich benötige folgende Daten des Prüflings:
Prozessor (ID, Vendor, Stepping, Takt, Multiplikator etc.)
Mainboard (BIOS-Vendor, Vendor, System-ID etc.)
Chipsatz (Vendor etc.)
RAM-Größe und Anzahl der Module (evtl. ein paar SPD-Daten, Durchsatz etc.)
Graka (Vendor, Speicher etc.)
HDD-Controller (IDE/SATA/SCSI, RAID etc.)
Festplattentyp und -größe (evtl. U/min, Durchsatz etc.)
Art des optischen Laufwerks (CD-RW/-ROM DVD-RW/-ROM, Bluray-RW/-ROM etc.)
USB (1.0, 1.1, 2.0)
Firewire vorhanden
Sound (Vendor etc.)
Parallele Schnittstelle vorhanden
Serielle Schnittstelle vorhanden
Netzwerk (10/100/1000 MBit
Vendor etc.)
Bluetooth
WLAN
und was es sonst noch an interessanten Schnittstellen gibt.
Im Prinzip gibt es ja diverse Linux-Progs die solche Infos ausgeben können (cpuid, hdparm z.B.) darum denke ich könnte man das meiste mit einem Script erledigen. Vielleicht hat ja schon mal jemand sowas gebastelt, man muss ja nicht das Rad neu erfinden. Da ich aber bei weitem kein Linux-Experte bin könnte ich ein paar Tips gebrauchen.
Grüße
Cody
ich suche ein Mini-Linux das von CD oder USB-Stick booten kann und die vorgefundene Hardware in einer Art Bericht in der Konsole bzw. noch besser auf ttyS0 ausgibt.
Ich möchte damit einen Schnelltest für PCs realisieren. Ziel soll es sein, daß man in kurzer Zeit mehrere Rechner auswerten kann ohne daß man viel auf dem Tastenkasten rumhacken muss. Am besten so, daß nur der Prüfling per Nullmodemkabel mit dem Auswerterechner verbunden wird, Boot-CD rein und ab die Post. Auf dem Auswerterechner hab ich ein Windowsprogramm laufen das alles mitschneidet was auf COM1 rein kommt. Also z.B. den Schnelltest-Report vom Test-Linux.
Ihr müsst euch das so vorstellen, daß ich palettenweise gebrauchte Rechner habe. Nach einer kurzen Sichtprüfung (alles was älter als Pentium 4 ist wird geshreddert) müssen die übrig gebliebenen Rechner mit ihrer Ausstattung erfasst werden. Die ermittelten Daten sollen in einer Datenbank gesammelt werden, deshalb der Auswerterechner auf dem ein selbstentwickeltes Datenbank-Frontend läuft.
Ich benötige folgende Daten des Prüflings:
Prozessor (ID, Vendor, Stepping, Takt, Multiplikator etc.)
Mainboard (BIOS-Vendor, Vendor, System-ID etc.)
Chipsatz (Vendor etc.)
RAM-Größe und Anzahl der Module (evtl. ein paar SPD-Daten, Durchsatz etc.)
Graka (Vendor, Speicher etc.)
HDD-Controller (IDE/SATA/SCSI, RAID etc.)
Festplattentyp und -größe (evtl. U/min, Durchsatz etc.)
Art des optischen Laufwerks (CD-RW/-ROM DVD-RW/-ROM, Bluray-RW/-ROM etc.)
USB (1.0, 1.1, 2.0)
Firewire vorhanden
Sound (Vendor etc.)
Parallele Schnittstelle vorhanden
Serielle Schnittstelle vorhanden
Netzwerk (10/100/1000 MBit
Vendor etc.)
Bluetooth
WLAN
und was es sonst noch an interessanten Schnittstellen gibt.
Im Prinzip gibt es ja diverse Linux-Progs die solche Infos ausgeben können (cpuid, hdparm z.B.) darum denke ich könnte man das meiste mit einem Script erledigen. Vielleicht hat ja schon mal jemand sowas gebastelt, man muss ja nicht das Rad neu erfinden. Da ich aber bei weitem kein Linux-Experte bin könnte ich ein paar Tips gebrauchen.
Grüße
Cody
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115116
Url: https://administrator.de/contentid/115116
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
9 Kommentare
Neuester Kommentar
Hmmm... diese Problem hatte ich nie, dies wegen kann ich dir mit vertilgen Tool oder Script nicht helfen. Ein paar Vorschläge für den Script vielleicht mache ich doch:
cat /proc/cpuinfo
dmidecode
lspci
dmidecode und/oder free -m
lspci und grep -i VideoRam /var/log/Xorg.0.log
lspci
hdparm -i /dev/sg[0-4]
hdparm -i /dev/sg[0-4]
lspci
lspci
lspci
k.a.
k.a.
lspci
lsusb ? oder dmesg | grep "Bluetooth: HCI device and connection manager initialized"
lspci
Fast die Hälfte kann man mit den dmesg rausfiltern.
Prozessor (ID, Vendor, Stepping, Takt, Multiplikator etc.)
cat /proc/cpuinfo
Mainboard (BIOS-Vendor, Vendor, System-ID etc.)
dmidecode
Chipsatz (Vendor etc.)
lspci
RAM-Größe und Anzahl der Module (evtl. ein paar SPD-Daten, Durchsatz etc.)
dmidecode und/oder free -m
Graka (Vendor, Speicher etc.)
lspci und grep -i VideoRam /var/log/Xorg.0.log
HDD-Controller (IDE/SATA/SCSI, RAID etc.)
lspci
Festplattentyp und -größe (evtl. U/min, Durchsatz etc.)
hdparm -i /dev/sg[0-4]
Art des optischen Laufwerks (CD-RW/-ROM DVD-RW/-ROM, Bluray-RW/-ROM etc.)
hdparm -i /dev/sg[0-4]
USB (1.0, 1.1, 2.0)
lspci
Firewire vorhanden
lspci
Sound (Vendor etc.)
lspci
Parallele Schnittstelle vorhanden
k.a.
Serielle Schnittstelle vorhanden
k.a.
Netzwerk (10/100/1000 MBit Vendor etc.)
lspci
Bluetooth
lsusb ? oder dmesg | grep "Bluetooth: HCI device and connection manager initialized"
WLAN
lspci
Fast die Hälfte kann man mit den dmesg rausfiltern.
Du kannst folgendes machen:
Installiere Bootloader syslinux auf ein USB-Stick
Nimm ein Kerenl von debian oder ubuntu zusammen mit initrd.
Entpake initrd und ändere den init script.
Nimm statisch kompilierte lshw. (fals du schaffst nicht selbst es zu kompilieren kann ich dir schicken).
Packe wieder initrd zusammen mit lshw.
Dann hasst du dein eigenes minidistro, ungefähr 10MB groß mit Startzeit 10 Sekunden.
Klingt nach kleines Abenteuer ;)
Installiere Bootloader syslinux auf ein USB-Stick
Nimm ein Kerenl von debian oder ubuntu zusammen mit initrd.
Entpake initrd und ändere den init script.
Nimm statisch kompilierte lshw. (fals du schaffst nicht selbst es zu kompilieren kann ich dir schicken).
Packe wieder initrd zusammen mit lshw.
Dann hasst du dein eigenes minidistro, ungefähr 10MB groß mit Startzeit 10 Sekunden.
Klingt nach kleines Abenteuer ;)
Ich bin gerade unter dem Studiendruck, dies wegen werde ich wahrscheinlich nur gelegentlich antworten. Meistens musst selbst machen, ich gebe nur die Stichworts oder Links... ich will doch das du auch selbst was lernst :D
Du brauchst ein Distro damit du arbeiten kannst. Ich nutze Ubuntu dies wegen schlage ich dir das selbe vor.
Statischgelinkte lshw brauch nichts außer kernel, aber für eine normale minisystem brauchst du busybox. Busybox wird auch bei initrd benutzt. Wie man initrd entpackt kannst du überall finden z.B. hier:
http://wiki.openvz.org/Modifying_initrd_image
Du brauchst ein Distro damit du arbeiten kannst. Ich nutze Ubuntu dies wegen schlage ich dir das selbe vor.
Statischgelinkte lshw brauch nichts außer kernel, aber für eine normale minisystem brauchst du busybox. Busybox wird auch bei initrd benutzt. Wie man initrd entpackt kannst du überall finden z.B. hier:
http://wiki.openvz.org/Modifying_initrd_image
Ein Prototyp habe gerade gemacht. Das init von ubuntu initrd habe ich gekürzt und ein paar Zeilen eingefügt:
es braucht noch Bearbeitung aber es funktioniert. Ich habe unter qemu getestet.
#!/bin/sh
echo "Loading, please wait..."
[ -d /dev ] || mkdir -m 0755 /dev
[ -d /root ] || mkdir -m 0700 /root
[ -d /sys ] || mkdir /sys
[ -d /proc ] || mkdir /proc
[ -d /tmp ] || mkdir /tmp
mkdir -p /var/lock
echo "mounting sysfs and procfs"
mount -t sysfs -o nodev,noexec,nosuid none /sys
mount -t proc -o nodev,noexec,nosuid none /proc
# Note that this only becomes /dev on the real filesystem if udev's scripts
# are used; which they will be, but it's worth pointing out
mount -t tmpfs -o mode=0755 udev /dev
[ -e /dev/console ] || mknod -m 0600 /dev/console c 5 1
[ -e /dev/null ] || mknod /dev/null c 1 3
> /dev/.initramfs-tools
mkdir /dev/.initramfs
echo "creating nodes"
mknod /dev/mem c 1 1
mknod /dev/ttyS0 c 4 64
mknod /dev/ttyS1 c 4 65
echo "lshw"
/bin/lshw > /dev/ttyS0
es braucht noch Bearbeitung aber es funktioniert. Ich habe unter qemu getestet.
Mit diesen Anleitung kannst du ein bootloader auf Usbstick installieren und eine fertige kernel mit initrd nutzen. Aber es ist schon mal gut für den Anfang, Wen du das schaffst dann kann man nur initrd korrigieren.