Hallo David, hallo Leute, noch ein paar Ergänzungen zu meiner letzten Mail. Ich mache "Fortschritte" nach dem Motto: Drei Schritte vor und zwei zurück ;-) Am Samstag, 25. Mai 2002 20:47 schrieb Christian Boltz:
Am Samstag, 25. Mai 2002 10:54 schrieb David Haller:
On Sat, 25 May 2002, Christian Boltz wrote:
Am Donnerstag, 23. Mai 2002 04:21 schrieb David Haller:
On Wed, 22 May 2002, Christian Boltz wrote: [..]
Ich verwende Kernel 2.4.16-4GB von SuSE.
2.4.16-2 (Vanilla Kernel, 2te config ;)
Hat SuSE da was kaputtgepatcht?
Scheint so :-( Inzwischen lässt sich das Modul manchmal (!) laden. Also: cd /verzeichnis/zu/plex86/misc su for i in `seq 1 100` ; do ./load_module.sh ; done geht meistens ;-) Das kann doch nicht die Lösung sein, oder?
Kannst Du mit diesen Meldungen aus /var/log/messages was anfangen? May 20 21:05:03 tux kernel: retrieve_vm_pages returned error. May 20 21:05:03 tux kernel: retrieve_monitor_pages returned error
Inzwischen habe ich host_linux.c - InitModule() mit ein wenig Gesprächsbereitschaft kompiliert. Die jeweiligen Ausgaben (im Fehlerfall) stehen in /* */ jeweils in der Folgezeile. /* register the device with the kernel */ err = register_chrdev(plex_major, "plex86", &plex86_fops); printk(KERN_WARNING "plex86 cb1: err = %d\n", err); /* err = 254, also eigentlich kein Fehler */ printk(KERN_WARNING "plex86 cb1: plex_major = %d\n", plex_major); /* plex_major = 0 */ if (err < 0) { [...] } [...] /* register the /proc entry */ #ifdef CONFIG_PROC_FS #if LINUX_VERSION_CODE >= VERSION_CODE(2,3,25) if (!create_proc_info_entry("driver/plex86", 0, NULL, plex86_read_procmem)) printk(KERN_ERR "plex86: registering /proc/driver/plex86 failed\n"); printk(KERN_WARNING "plex86 cb2: executed cb 2\n"); /* wird ausgeführt */ #else proc_register_dynamic(&proc_root, &plex86_proc_entry); printk(KERN_WARNING "plex86 cb3: executed cb 3\n"); /* wird _nicht_ ausgeführt */ #endif #endif /* register /dev/misc/plex86 with devfs */ #ifdef CONFIG_DEVFS_FS printk(KERN_WARNING "plex86 cb4: executed\n"); /* wird _nicht_ ausgeführt */ my_devfs_entry = [...] if (!my_devfs_entry) printk(KERN_ERR "plex86: registering misc/plex86 devfs entry failed\n"); #endif /* retrieve the monitor physical pages */ printk(KERN_WARNING "plex86 cb5: executed (mark)\n"); /* wird ausgeführt */ if (!retrieve_monitor_pages()) { printk(KERN_ERR "retrieve_monitor_pages returned error\n"); err = -EINVAL; printk(KERN_WARNING "plex86 cb6: err = %d \n", err); /* err = -22 */ goto fail_retrieve_pages; [...] In /var/log/messages erscheinen außer meinen Meldungen weiterhin nur die bereits genannten 2 Fehlermeldungen. Falls sich das Modul tatsächlich einmal laden lässt, steht folgendes in /var/log/messages: May 26 19:11:20 tux kernel: plex86 cb1: err = 254 May 26 19:11:20 tux kernel: plex86 cb1: plex_major = 0 May 26 19:11:20 tux kernel: plex86 cb2: executed cb 2 May 26 19:11:20 tux kernel: plex86 cb5: executed (mark) May 26 19:11:20 tux kernel: 1 monitor pages located May 26 19:11:20 tux kernel: host CR0=0x8005003B May 26 19:11:20 tux kernel: und beim Versuch, ein (nicht existierendes) Image zu booten: May 26 19:12:28 tux kernel: plex86: vm_t size is 265224 May 26 19:12:28 tux kernel: guest_cpu.cr0 = 0x60000010 May 26 19:12:28 tux kernel: Using 174/1024 PTE slots in 4Meg monitor range. May 26 19:12:28 tux kernel: Soweit, so gut. Dann habe ich mal mit dem createdisk-Script ein Diskimage (500 MB) erzeugt und mit fdisk die CHS-Werte eingetragen. Anschließend habe ich die conf/win95 angepasst und ./plex86 -f ../conf/win95 aufgerufen. Das Ergebnis war ein sofortiger Reboot meines Pinguins :-( Er hatte nichtmal Zeit, irgendeine Logdatei zu schreiben. So langsam habe ich das Gefühl, dass ich auf einen Vanilla-Kernel umsteigen muss... Für weitere Tips bin ich natürlich dankbar. Gruß Christian Boltz -- Registrierter Linux-Nutzer #239431 Linux - life is too short for reboots.