Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] [won't fix] dosemu geht mit Kernel 4.x nicht mehr  (Read 8538 times)

Offline Hanisch

  • User
  • Posts: 455
[DE] [won't fix] dosemu geht mit Kernel 4.x nicht mehr
« on: 2015/11/09, 19:46:30 »
Hallo,
mit Kernels 4.x funktioniert 'dosemu' nicht mehr.
In dem Link http://www.pro-linux.de/news/1/22920/linux-kernel-43-freigegeben.html
steht:
"Die Konfiguration CONFIG_VM86, mit der man Zugriff auf den veralteten 16-Bit-Modus von x86-Prozessoren erhält, sollte ursprünglich entfernt werden. Stas Sergeev bezeichnete dieses Vorhaben als schlechten Scherz und legte Protest ein. Zumindest Dosemu benötigt den vm86-Aufruf noch, und für die reine DOS-Emulation ist Dosemu besser und schneller als Dosbox und KVM. Da der vm86-Aufruf auf der anderen Seite ein Sicherheitsrisiko darstellt, sollte er aber möglichst deaktiviert werden. Linus Torvalds bemerkte, dass vm86 aber für die DOS-Emulation unbrauchbar ist, wenn /proc/sys/vm/mmap_min_addr auf einen Wert ungleich 0 eingestellt wird, was inzwischen Standard ist. Der Kompromiss besteht nun darin, dass vm86() abgeschaltet wird, wenn /proc/sys/vm/mmap_min_addr nicht 0 ist."

Bei mir gibt es die Datei /proc/sys/vm/mmap_min_addr von der Größe Null mit dem Inhalt 0.
Code: [Select]
~$ sudo sysctl -w vm.mmap_min_addr=0
vm.mmap_min_addr = 0
hat auch keine Auswirkungen.

In ~/.dosemu/boot.log steht:
 
Code: [Select]
...
 WARN: vm86plus service not available in your kernel
 WARN: using CPU emulation for vm86()
 ...
Was ist also zu tun, damit 'dosemu' auch mit Kernels 4.x läuft?

Gruß
Ch. Hanisch
« Last Edit: 2015/11/14, 20:37:21 by musca »

Offline towo

  • Administrator
  • User
  • *****
  • Posts: 2.919
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #1 on: 2015/11/09, 20:22:45 »
Ich weiss ja nicht, was bei Dir läuft, aber kein siduction, wie es scheint!


Code: [Select]
~
towo:Defiant> cat /proc/sys/vm/mmap_min_addr
4096

Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

Offline Hanisch

  • User
  • Posts: 455
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #2 on: 2015/11/10, 11:48:41 »
Ich weiss ja nicht, was bei Dir läuft, aber kein siduction, wie es scheint!
Sorry, richtig erkannt. Es handelt sich um aptosid, was ja auch auf SID beruht.
Dort habe ich:
Code: [Select]
@aptosid:~$ cat /proc/sys/vm/mmap_min_addr
0
Trotzdem läuft 'dosemu' nicht.

Gruß
Ch. Hanisch


Offline towo

  • Administrator
  • User
  • *****
  • Posts: 2.919
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #3 on: 2015/11/10, 11:50:01 »
Und was interessieren uns Deine Probleme mit aptosid?
Außerdem ist uns dosemu auch relativ egal, nimm halt dosbox.
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

Offline Hanisch

  • User
  • Posts: 455
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #4 on: 2015/11/10, 17:28:52 »
Und was interessieren uns Deine Probleme mit aptosid?
Außerdem ist uns dosemu auch relativ egal, nimm halt dosbox.
Sorry, das ist weder sachlich noch irgendwie zielführend.

Ich stelle fest, daß auch unter siduction z.B. mit dem Kernel 3.17-3.towo-siduction-686
und der Eintragung in der neu anzulegenden Datei /etc/sysctl.d/90-dosemu.conf
Code: [Select]
# Dosemu needs to access the bottom 64k of memory in order to launch
# 16 bit programs.
vm.mmap_min_addr = 0
das Programm 'dosemu' einwandfrei läuft.

Mit dem Kernel 4.3.0-towo.1-siduction-686
zeigt sich das speziell auf PCDOS angepaßte 'dosemu' wie im Anhang zu sehen.

Es muß also eindeutig am Kernel 4.x liegen, weshalb das dort nicht mehr reibungslos geht.

Gruß
Ch. Hanisch


« Last Edit: 2015/11/10, 17:38:38 by Hanisch »

Offline towo

  • Administrator
  • User
  • *****
  • Posts: 2.919
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #5 on: 2015/11/10, 17:56:13 »
Da Du siduction ja eh' nur in VBox benutzt, ist mir Dein "Problem" relativ egal.
Ich sagte auch schon, nimm halt DosBox.
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

Offline Hanisch

  • User
  • Posts: 455
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #6 on: 2015/11/10, 18:24:44 »
Da Du siduction ja eh' nur in VBox benutzt, ist mir Dein "Problem" relativ egal.
Ich sagte auch schon, nimm halt DosBox.
Das hat aber sicher nichts mit VBox zu tun. Der Übeltäter ist der Kernel 4.x - und der ist in VBox und in einem realen System derselbe.

Der Umstieg auf DosBox ist für mich nicht so einfach zu bewerkstelligen, habe ich doch viele Spezialitäten in 'dosemu' installiert. Außerdem möchte ich nicht noch eine weitere DOS-Emulation haben.
Ich könnte ja 'dosemu' mit einem alten Kernel 3.x weiterhin betreiben. Aber wo liegt denn da der Fortschritt von Kernel 4.x (Verschlimmbesserung)?

 
Gruß
Ch. Hanisch

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #7 on: 2015/11/10, 18:59:16 »
und wieder mal: Nimm windows oder debian stable - echt, ist so.
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #8 on: 2015/11/10, 19:50:15 »
[...]
Ich könnte ja 'dosemu' mit einem alten Kernel 3.x weiterhin betreiben. Aber wo liegt denn da der Fortschritt von Kernel 4.x (Verschlimmbesserung)?
[...]

Hi Hanisch,
es doch sicherlich kein großes Thema wenn du in einer VM den Kernel 3.x behälst. Ich gebe zu ein das ist ein Workaround, der aber ohne Probleme zu bewerkstelligen ist. Irgenwann "stirbt" auch Code im Kernel wenn er kaum noch genutzt wird.

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #9 on: 2015/11/10, 20:47:55 »
Der Hinweis auf debian-stable ist auch nicht ganz umsonst gewesen. Wenn man wirklich einen definierten Satz an Funktionalität benötigt. dann benutzt man stable - wenn man das Neuste haben möchte, dann kann und wird es passieren, dass man in Regressionen reinläuft, bestimmte liebgewonnene Funktionalität einfach verschwindet, Sachen auf einmal gefixt werden, die man dringend benötigt hat, die andere Leute aber als Bug angesehen haben etc. pp.

Und das ist auch in Ordnung so, auch wenn man als User erst mal richtig doof aus der Wäsche schaut. Nachdem es wohl so ist, dass dosemu noch benötigt wird, wird wahrscheinlich die ein oder andere Lösung gefunden werden, wenn es wirklich wichtig ist. Ich könnte mir durchaus vorstellen, dass sich an dieser Front bis zum nächsten stabilen Debian Release noch was bewegt. Das hilft aber Usern von Sid momentan wirklich nicht weiter, soll es auch nicht - es ist einfach egal, da es innerhalb von debian ausreichend Alternativen gibt, die stabil und zufriedenstellend funktionieren.

Wir haben als User von Sid die große Freude, relativ neue bis brandneue Software in die Finger zu bekommen und damit arbeiten zu dürfen. Und ich schreib bewusst User, weil auch wenn ich entwickle, dann bin ich zu über 96% reiner User. (ca. 1200-1300 installierte Pakete, ca. 40 an denen ich selbst arbeite. Wir haben als User von Sid die Bürde, dass uns neue Software als erste im Debian-Ökosystem trifft. Und wenn User an der richtige Stelle und konstruktiv laut werden und eventuell sogar an Problemlösungen mitarbeiten, ist allen gedient.

Und nicht jede Änderung in Sid findet meinen ungeteilten Beifall, allerdings ist es in den letzten 5 Jahren immer so gewesen, dass ich auf nichts verzichten musste, was mir wirklich wichtig war - weil es halt Alternativen gibt. Und Bluelupo hat schon darauf hingewiesen: Ein älterer Kernel sollte möglich sein, wenn das nicht hilft, sollte eine stable VM möglich sein etc. pp.
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline Hanisch

  • User
  • Posts: 455
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #10 on: 2015/11/10, 20:50:38 »
Irgenwann "stirbt" auch Code im Kernel wenn er kaum noch genutzt wird.
Das ist doch durch keinerlei Erhebungen belegt, daß 'dosemu' u.a. kaum noch genutzt werden.
Nehmt Euch ein Beispiel an Manjaro, wo das mit Kernel 4.x ( 4.1.12-1-MANJARO)
funktioniert.
Wenn ich es recht verstanden habe, will auch Linus Torwalds diese Fähigkeit erhalten
"...Linus Torvalds bemerkte, dass vm86 aber für die DOS-Emulation unbrauchbar ist, wenn /proc/sys/vm/mmap_min_addr auf einen Wert ungleich 0 eingestellt wird, was inzwischen Standard ist. Der Kompromiss besteht nun darin, dass vm86() abgeschaltet wird, wenn /proc/sys/vm/mmap_min_addr nicht 0 ist."

Also müßte auch Kernel 4.x bei /proc/sys/vm/mmap_min_addr gleich 0 wie bisher immer 'dosemu' zum Laufen bringen und nicht vm86() abschalten.

Gruß
Ch. Hanisch
« Last Edit: 2015/11/10, 20:54:38 by Hanisch »

Offline towo

  • Administrator
  • User
  • *****
  • Posts: 2.919
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #11 on: 2015/11/10, 21:02:25 »
Quote
Nehmt Euch ein Beispiel an Manjaro, wo das mit Kernel 4.x ( 4.1.12-1-MANJARO)
funktioniert.
Schön, dann hast Du ja endlich die richtige Distro für Dich gefunden und wirst uns nun endlich nicht mehr mit Deinen Banalitäten nerven.
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

Offline musca

  • User
  • Posts: 725
  • sid, fly high!
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #12 on: 2015/11/10, 21:09:08 »
Hallo Hanisch,

Die Emulation wird doch nur benötigt, weil diese proprietären Closed-Source-Programme seit 1987 nicht an den i386-Prozessor angepasst wurden. Irgendwann wird die Frage immer lauter gestellt: Warum sollten sich talentierte Open-Source-Entwickler mit diesem Kram wertvolle Arbeitszeit blockieren?

Apropos DOS, ein kleiner Exkurs zum Original:
Mit dem Umstieg auf 64 Bit hat Windows vor ca. 10 Jahren die Fähigkeit verloren, noch weiterhin alten 16-Bit-Code auszuführen. Das ist in dem Fall besonders ekelhaft, da auch alle 32-Bit-Setup.exe-Programme per Konvention einen 16-Bit-Stub enthalten mussten, der zunächst prüft, ob 32-Bit-Code ausgeführt werden könnte und andernfalls eine Fehlermeldung ausgibt. Trotzdem versucht Windows diese Binaries noch auszuführen, in dem der 16-Bit-Stub eben nicht ausgeführt wird, sondern versuchsweise direkt der Anfang der 32-Bit-Routinen angesprungen wird (mit Patch-Kung-Fu á la "Betrunkener Affe").

Warum darf Microsoft die Gesamtheit wertvoller Investitionen in 16-Bit-Code vernichten,
und warum soll jede Linux-Distribution verpflichtet sein, die Funktion zu ermöglichen?

Folgende Lösungsvorschläge:
- Unter http://www.dosemu.org/ wird auf eine Mailingliste verlinkt.
- Du könntest bei Debian einen Bug melden, solange Dosemu noch in Debian ist.
 (Aber selbstverständlich wollen die Debianer natürlich auch nicht den slh- oder towo- oder Manjaro-Kernel supporten.)
- Du könntest einen Consultant anheuern und nach Stunden bezahlen, damit er versucht, Dir Deine Wünsche umzusetzen.

Grüße
musca

[Edit: Tippfehler korrigiert]
« Last Edit: 2015/11/10, 21:16:21 by musca »
„Es irrt der Mensch, solang er strebt.“  (Goethe, Faust)

Offline Hanisch

  • User
  • Posts: 455
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #13 on: 2015/11/10, 21:45:25 »
Hallo,
hier gibt es wohl ein schweres Mißverständnis Eurerseits.
Es geht hier nicht vorrangig um 'dosemu', sondern um das Einlösen des Kompromisses von Linus Torwalds bezüglich der slh- und  towo- Kernel der Reihe 4.x.
Daher wird es von mir auch keinen Bug-Report an Debian geben. Ich vermisse etwas in den slh- und  towo- Kernels der Reihe 4.x und wollte sehr devot darauf aufmerksam machen und um Abstellen des Mangels ersuchen.
"...Und wenn User an der richtige Stelle und konstruktiv laut werden und eventuell sogar an Problemlösungen mitarbeiten, ist allen gedient. "
In aller Bescheidenheit ist das mein Anliegen.

Gruß
Ch. Hanisch
« Last Edit: 2015/11/10, 21:53:45 by Hanisch »

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: dosemu geht mit Kernel 4.x nicht mehr
« Reply #14 on: 2015/11/11, 02:29:06 »
Goldene Regel: Wenn es keinen interessiert, was Du willst, mach es selbst. Und dabei ist es eher zweitrangig, was Herr Torwalds für Kompromisse eingeht oder nicht (btw. war es überhaupt Linus, der zurückgerudert ist? Ich denke mal, es war jemand anders. Fängt mit Lub* an) Und Linus letzter Kommentar war: Malt einen dicken fetten Kommentar drüber und überlasst es den Distributionen. WIR sollen das also entscheiden und haben das auch gemacht. Der Code insgesamt hat mehr Nachteile als Vorteile, also ab dafür.

For the records, wir folgen in vielen Sachen dem Debian Kernel, aber nicht in allen. Die Abschaltung von VM86 war gewollt und fand bei debian mit diesem Commit statt - wir sind gefolgt:
https://anonscm.debian.org/cgit/kernel/linux.git/commit/?id=b6d0d17b8a48068459b1db3ad0f4a6b479a41847

Wenn Du das also brauchen solltest, bau es wieder ein, kurz auf den Kompilierknopf gedrückt und gut ist. Danach installieren und fertig. Wir werden es nicht mehr auf alle User loslassen.
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)