Mục tiêu :
- Cài đặt được phần mềm DOSEMU - Lập được cấu hình DOSEMU
Sau khi chạy các ứng dụng Linux một thời gian, có thể chúng ta sẽ muốn chạy vài chương trình DOS hoặc Windows. Một số phần mềm như DOSEMU và Wine cho phép làm việc này bằng cách mô phỏng nhiều hệ điều hành khác nhau.
DOSEMU giúp các chương trình dựa vào DOS (và những biến thể khác như PC-DOS) chạy được với Linux. DOSEMU có nghĩa là Mô phỏng DOS (DOS EMUlator). Còn phần mềm Wine thì mô phỏng Windows và sẽ được giới thiệu ở mục “Chạy các chương trình Windows với Linux”.
Ghi chú: Một vài bản phát hành Linux có lệnh “simply dos” để khởi động một
chương trình chỉnh sửa theo chế độ DOS. Những bản phát hành mang tính thương mại như RedHat Linux hoặc tương tự đều có lệnh này.
6.1. Cài đặt DOSEMU
Phần mềm DOSEMU (phiên bản thường dùng là 1.0.2) được lưu ở dạng nén trong thư mục /contrib/ cuẩ đĩa CD-ROM với tên dosemu_1.0.2.tgz hoặc dosemu_1.0.2.tar. Chúng ta sao tệp này vào thư mục /usr/src rồi bung ra bằng những lệnh giải nén thích hợp như sau đây:
[root@web src] # gzip – d dosemu_1.0.2.tgz [root@web src] # tar – xvf dosemu_1.0.2.tar
Sau đó chúng ta tạo ra một số tệp bằng những lệnh khác: [root@web src] # make config
[root@web src] # make depend [root@web src] # make most
Từ đó các tệp DOSEMU sẽ hiện diện trong thư mục /var/lib/dosemu. Để thực hiện thao tác vừa qua, chúng ta phải đăng nhập như là root và máy chúng ta phải còn trống ít nhất 10 MB bộ nhớ ảo.
Ghi chú: Máy chúng ta phải được cài đặt gói phần mềm Development, một số
công cụ và trình biên dịch để xây dựng ứng dụng mô phỏng DOS.
Chúng ta cũng có thể dùng dạng RPM của phiên bản này, gọi là dosemu_1.0.1-1.i386.rpm. Khi đó chúng ta chỉ cần gõ lệnh sau:
[root@web src] # rpm –i dosemu_1.0.1-1.i386.rpm
6.2. Lập cấu hình DOSEMU
DOSEMU được xây dựng để chạy một số lệnh DOS và chương trình DOS trong môi trường DOS phỏng tạo.
Sau khi xây dựng xong phần mô phỏng, chúng ta phải lập cấu hình cho hệ thống. Đầu tiên chúng ta tạo ra một đĩa mềm DOS khởi động, sau đó chép các tệp DOS sau đây vào đĩa: command.com, fdisk.exe và sys.com.
Tiếp theo, chúng ta chép các tệp DOSEMU từ thư mục dosemu vào đĩa: emufs.sys, ems.sys, cdrom.sys và exitemu.com. Chúng ta có thể dùng các lệnh –m được đề cập trước đây tại mục “Xử lý các tệp DOS với Linux” để sao chép các tệp từ phân vùng Linux sang đĩa mềm.
Ghi chú: Nếu khó tìm các tệp Linux, chúng ta hãy sử dụng lệnh find, thí dụ
như lệnh sau đây sẽ hiển thị vị trí tệp ấy trên hệ thống máy của chúng ta: find / -name emufs.sys-print
DOSEMU cần phải có tệp cấu hình dosemu.conf và global.conf để chạy được hoàn hảo. Tệp global.conf là tệp cấu hình chính của dosemu luôn được thực thi khi khởi động dosemu. Tệp dosemu.conf là tệp chứa các giá trị cho những cấu hình đã khai báo trong global.conf. Có thể sửa chữa chúng thông qua công cụ ‘setup- dosemu’.
Chúng ta phải tuỳ chỉnh tệp dosemu.conf cho hợp với hệ thống máy mình nhưng không nên chỉnh sửa gì ở tệp global.conf. Để có một ý niệm ban đầu, chúng ta xem các tệp mẫu như danh sách 5.1 dưới đây hiển thị toàn bộ dosemu.conf và global.conf trong bộ cài đặt. Những nhận xét được đánh dấu bằng dấu thăng (pound #) và hầu hết các tuỳ chọn đều mang hình thức giá trị tham số. Nếu một tham số nào đó có hơn một giá trị, thì các giá trị ấy được đặt trong ngoặc móc ({}).
Các giá trị sẽ được xem là một chuỗi (string) hay một giá trị số (numeric) hoặc logic (boolean) tuỳ theo việc chúng được đặt giữa 2 dấu nháy kép hay giữa 2 ngoặc đơn.
Nội dung tệp dosemu.conf và global.conf điển hình (xem phần phụ lục) Sau đó chúng ta phải dùng một chương trình soạn thảo văn bản để thay đổi mọi thiết lập sẵn có trong tệp thí dụ sao cho phù hợp với hệ thống máy chúng ta. Một số thiết bị như bộ xử lý card video cũng phải tương thích.
Ghi chú: Chúng ta cũng có thể khởi động DOSEMU từ một phân vùng
(partition) trên ổ đĩa cứng thay vì từ đĩa mềm. Muốn truy cập ổ đĩa cứng, chúng ta chỉ cần lập cấu hình cho một ổ đĩa cứng hoặc một phân vùng trong tệp dosemu.conf.
6.3. Chạy DOSEMU
Muốn chạy DOSEMU chúng ta chỉ cần gõ lệnh tại dấu nhắc Linux. Muốn thoát ra, chúng ta gõ exitemu. Bảng 5.9 liệt kê các tuỳ chọn từ dòng lệnh cho DOSEMU. Chúng ta dùng tùy chọn -? để hiển thị toàn bộ các tham số.
Bảng 5.9 Các tham số DOSEMU tại dòng lệnh
Tham số Mô tả
-A Khởi động từ ổ đĩa mềm A -C Khởi động từ ổ đĩa cứng
-c Tối ưu hoá hiệu năng video từ các terminal ảo -D Lập các tuỳ chọn gỡ lỗi
-e Xác định bộ nhớ EMS
-F# Xác định số lượng (#) đĩa mềm để sử dụng từ dosemu.conf -f Hoán chuyển định nghĩa của các ổ đĩa mềm A và B
-H# Xác định số lượng (#) đĩa cứng để sử dụng từ dosemu.conf -k Sử dụng bàn phím được định nghĩa bằng các tham số
rawkeyboard trong tệp dosemu.conf -p Chép các thông số gỡ lỗi vào một tệp -t Phát ngắt thời gian 9
-V Kích hoạt mô phỏng màn hình VGA -x Xác định bộ nhớ XMS
-? Hiển thị trợ giúp tóm tắt cho từng lệnh -2 Mô phỏng máy 286
-3 Mô phỏng máy 386 -4 Mô phỏng máy 486
Từ dấu nhắc DOS của DOSEMU, chúng ta có thể chạy hầu hết các chương trình DOS ngoại trừ chương trình nào đòi hỏi DPMI (DOS Protected Mode Interface: Giao diện theo chế độ DOS có bảo vệ). Chúng ta chỉ cần gõ tên của chương trình, sau đó DOSEMU sẽ căn cứ theo đường dẫn mà chúng ta đã cung cấp để nạp và chạy, với điều kiện là DOSEMU tìm được chương trình ấy.
Chạy chương trình với DOSEMU có nhiều rắc rối, đa phần bởi vì máy đang mô phỏng DOS thay vì chạy DOS thật. Việc mô phỏng sẽ làm giảm tốc độ hệ thống và tốc độ sẽ đặc biệt chậm nếu máy phải chạy các chương trình Linux khác ở các terminal.
Nhiều chương trình của DOS sẽ chiếm bộ xử lý CPU, khiến các chương trình Linux khác khó mà chen vào. Để giải toả bớt vấn đề, người ta đã viết một chương trình mang tên garrot giúp cho Linux có điều kiện chiếm CPU. Chúng ta có thể tải garrot xuống từ website FTP mang tên sunsiste.unc.edu tại thư mục /pub/linux/alpha/dosemu.