Apr 172009
 

Masih membutuhkan dosemu di GNU/Linux OS untuk menjalankan program-program DOS lama? Mulai Fedora 8 yang ter-update (juga Ubuntu dan variasinya dengan kernel yang baru) kernelnya, dosemu tidak mau dijalankan lagi. Pesan error kalau dijalankan via terminal adalah sebagai berikut:

LOMRAM mmap: Invalid argument
Segmentation fault

Hal ini disebabkan dosemu tidak bisa mengakses low memory yang dibutuhkannya. Kenapa pada kernel yang lama masih bisa jalan? Ternyata mulai kernel tertentu yang lebih baru akses ke low memory diproteksi. Ini dilakukan untuk mengantisipasi kemungkinan masalah sekuritas dimasa datang yang mengeksploitasi low memory ini.

Dimana file yang mengatur proteksi ini? Untuk mengecek apakah low memory diproteksi atau tidak silahkan lihat file /proc/sys/vm/mmap_min_addr, misalkan dengan perintah cat. Kalau hasilnya 65536 berarti low memory diproteksi, kalau 0 berarti tidak. Dengan merubah isi file ini menjadi 0 sudah bisa menjalankan dosemu kembali, tetapi setiap menghidupkan komputer file ini akan berisi 65536 kembali. Bagaimana caranya supaya perubahan menjadi permanen?

Untuk fedora tambahkan baris berikut:

vm.mmap_min_addr = 0

pada file /etc/sysctl.conf

Begitu saja, dan pada saat menghidupkan komputer file /proc/sys/vm/mmap_min_addr akan berisi 0 terus dan dosemu akan bisa berjalan lancar. Untuk perubahan di Ubuntu dan turunannya bisa dilihat di blog-nya High-Tech Rojak

%d bloggers like this: