{{tag> linbo}} ====== Speichertester memtest86+ beim Booten aufrufen ====== //(die hier vorgestellen Verfahren wurden unter linbo 1.1.18-1 getestet)// Der Speichertester [[http://www.memtest86.com|memtest86+]] (GPL) wird üblicherweise über eine CD gebootet und überprüft dann intensiv den Speicher des Computer mit mehreren Tests. Mit linbo stehen dafür 3 verschiedene Umsetzungsmöglichkeiten zur Verfügung: - Client bootet linbo über PXE und memtest86+ erscheint als ein "Betriebssystem" im Auswahlmenü - Client bootet lokal und memtest86+ ist auswählbar - Client bootet per PXE und memtest86+ wird über Netzwerk gestartet (keine Festplatte im Client erforderlich) Memtest86+ ist technisch ein spezieller Linux-Kernel. Diesen gibt es in verschiedenen Verpackungen, als normalen Linux-Kernel (memtest86+.bin); als Kernel, der per Netzwerk oder mit kexec gestartet werden kann (sogenannter ELF-Kernel, [[http://www.smop.co.uk/blog/index.php/2009/01/04/grub-error-28-selected-item-cannot-fit-into-memory/|www.smop.co.uk]], [[http://www.smop.co.uk/files/memtest|download]]) und verpackt in iso-Dateien (CD-Boot) oder Floppy-images. Zunächst auf dem Server die "**''memtest86+.bin''**" - Datei installieren (liegt dann in ''**/boot/**''): # aptitude install memtest86+ Dieses Debian-Paket liefert eine relative alte Version von memtest86+ (v1.65). Aktuellere Kernel (v4.0) muss man sich direkt bei den Entwicklern besorgen. Aktuellere Kernel unterstützen dann auch mehr Chipsätze. **Namensgebung zu folgenden Beispielen:** Den Platzhalter **''''** in den folgenden Abschnitten muss man durch den Namen der Hardwareklasse ersetzen. Falls nichts anderes angegeben, liegen die Dateien unter **''/var/linbo/''**. Im folgenden wird angemommen, dass der linbo-cache auf sda6 (hd0,5) liegt. Dies ggf. den eigenen Verhältnissen anpassen. ===== 1. Client bootet linbo über PXE und memtest86 erscheint als ein "Betriebssystem" im Auswahlmenü ===== Dazu die **''start.conf.''** um folgenden Eintrag ergänzen. Hier wird linbo "missbraucht" um den Kernel als "BaseImage" in den linbo-cache zu laden. ... [OS] Name = memtest86+ BaseImage = memtest86+.bin Root = /dev/sda6 Boot = /dev/sda6 Kernel = grub.exe Append = keeppxe --config-file=pxe; default 0; timeout 0; hiddenmenu; title memtest; kernel (hd0,5)/memtest86+.bin StartEnabled = yes NewEnabled = no SyncEnabled = no Hidden = yes Autostart = no ... Nun am Server den "**''memtest86+.bin''**" Kernel nach **''/var/linbo/''** kopieren. Zuletzt am Server: # update-linbofs Den Client über Netzwerk booten und zunächst den Cache aktualisieren (über linbo-Tab "Imaging"). Dann Reboot des Client und "memtest" mit "Start" auswählen. ===== 2. Client bootet lokal und memtest86 ist auswählbar ===== Auf dem Server die Datei **''/var/linbo/menu.lst.''** erstellen: timeout 3 default 0 title Linbo Starten root (hd0,5) kernel /linbo quiet vga=771 initrd /linbofs..gz title memtest86 root (hd0,5) kernel memtest86+.bin Nun kann linbo "missbraucht" werden, um den memetst86+ Kernel in die Cache-Partition (hier sda6 bzw (hd0,5) ) zu laden. Dazu die **''start.conf.''** um folgenden Eintrag ergänzen: ... [OS] Name = memtest86+ BaseImage = /boot/memtest86+.bin StartEnabled = no NewEnabled = no SyncEnabled = no Hidden = yes Autostart = no ... Schließlich am Server: # update-linbofs Den Client über Netzwerk booten und zunächst den Cache aktualisieren (über linbo-Tab "Imaging"). Danach im BIOS des Clients auf lokalen Boot umstellen. ===== 3. Client bootet per PXE und memtest86 wird über Netzwerk gestartet ===== **Für diese Umsetzungsmöglichkeit habe ich bisher keinen memtest86 Kernel gefunden, der korrekt startet. ** Zunächst muss die Datei **''/var/linbo/pxelinux.cfg/''** der Hardwareklasse editiert werden: DEFAULT LINBO PROMPT 1 TIMEOUT 300 KBDMAP /german/kbd DISPLAY /boot/msg LABEL LINBO KERNEL linbo APPEND initrd=linbofs.vmware.gz vga=771 acpi=off quiet Beim Booten erscheint dann ein PROMPT und man kann einen Kernel durch direkte Eingabe des Dateinamens starten. Die Kernel-Datei muss unter **''/var/linbo/''** liegen.