VicoTas
Câu hỏi
NgocUk Ngoc
26/04/2013 21:36

Làm ơn chỉ cho em cách cài đặt UML Linux với được không?



Danh sách câu trả lời (1)
Chip chip chipchip 26/04/2013 21:36
Cài đặt và điều chỉnh môi trường nền

Để cài đặt UML Linux, chúng ta cần có một số điều chỉnh nhỏ cho môi trường nền, bao gồm: cài đặt các công cụ của UML linux và biên dịch lại hạt nhân với một bản vá SKAS (Separate Kernel Address Space) của dự án UML Linux (Bản vá này cho phép chương trình hạt nhân thực thi trong một không gian bộ nhớ tách biệt với không gian bộ nhớ của hạt nhân nền).
Vá và biên dịch hạt nhân

(Nếu bạn dùng UML ở chế độ theo dõi luồn - thread tracing mode - thì bước này không cần thiết)

Các bước tiến hành cài đặt:

Tải về mã nguồn của hạt nhân linux từ http://www.kernel.org, chúng ta cần phải lựa chọn phiên bản có khả năng làm việc tốt với UML, trong bài viết này chúng ta sử dụng phiên bản linux-2.6.8.1 (hay còn được gọi là vanilla kernel 2.6.8.1).

# cd ~/kernel/
# wget ftp://ftp.us.kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.1.tar.bz2

Tải bản vá SKAS cho hạt nhân nền. Chúng ta có thể tải về từ trang tải về của dự án UML. Tuy nhiên, bản vá này có thể tải về từ trang tải về của tác giả - trang này được cập nhật thường xuyên hơn. Với linux-2.6.8.1 chúng ta sử dụng bản vá mới nhất host-skas3-2.6.7-v5.patch, mặc dù đây là bản vá cho hạt nhân linux-2.6.7 nhưng nó vẫn làm việc tốt với hạt nhân linux-2.6.8.1:

# wget http://www.user-mode-linux.org/~blaisorblade/patches/host-skas3-2.6.7-v5.patch

Xả nén vào nới thích hợp. Thông thường mã nguồn của hạt nhân được đặt trong /usr/src, tuy nhiên nếu chúng ta muốn biên dịch hạt nhân bằng tài khoản thông thường, chúng ta có thể chọn một vị trí mà tài khoản đó có quyền ghi, ở đây chúng ta xả nén vào ~/kernel:

# tar jxvpf linux-2.6.8.1.tar.bz2

Tiến hành vá hạt nhân vanilla kernel linux-2.6.8.1:

# cd linux-2.6.8-1
# patch -p1 --dry-run < ../host-skas3-2.6.7-v4.patch
# patch -p1 < ../host-skas3-2.6.7-v4.patch

Cấu hình hạt nhân môi trường nền, quá trình được tiến hành thông thường tuy nhiên cần phải nhớ kích hoạt tính năng hỗ trợ /proc/mm trong mục "Processor type and features":

# make mrproper
# make menuconfig
# make all

(Chúng ta cũng có thể sử dụng các công cụ xconfig hoặc menuconfig)

Tiến hành cài đặt hạt nhân mới biên dịch vào hệ thống:

# su
# make modules_install
# mount /boot
# make install
# vi /boot/grub/grub.conf (chỉnh lại cấu hình grub)

(Tùy vào từng môi trường/cá nhân mà các bước tiếng hành có thể tùy biến)
Cài đặt công cụ của UML Linux

Rất nhiều đặc điểm của hạt nhân UML cần được hỗ trợ bởi các chương trình chạy ở không gian người dùng (user space) của môi trường nền. Do vậy một số công cụ trợ giúp được xây dựng và phân phối trên trang chủ của UML. Người dùng cần phải tải về và cài đặt nhưng công cụ này trong môi trường nền. Những chương trình này bao gồm:

1.
port-helper - được sử dụng bởi consoles để kết nối tới xterms hoặc ports
2.
tunctl - Công cụ cấu hình dùng để thiết lập và xoá các thiết bị TAP
3.
uml_net - Setuid binary chương trình tự động cấu hình thiết bị tap
4.
uml_switch - bộ chuyển đổi ảo, sử dụng cho daemon transport

Lưu ý rằng mỗi bản vá của hạt nhân UML sẽ yêu cầu một phiên bản phân phối tương ứng của các công cụ uml. nếu bạn không theo dõi mailing lists,thì phải đảm bảo là bạn sử dụng phiên bản phát hành mới nhất nếu bạn gặp các vấn đề với hạt nhân UML thì cũng cần lưu ý tới vấn đề tương thích giữa công cụ trợ giúp và hạt nhân UML.

Tải về, biên dịch và cài đặt công cụ uml_utilities:

# wget http://ovh.dl.sourceforge.net/sourceforge/user-mode-linux/uml_utilities_20040406.tar.bz2
# tar jxvpf uml_ultilities_20040406.tar.bz2
# cd tools
# make && make install
Biên dịch và cài đặt "chương trình hạt nhân" UML
Tải về và tạo mã nguồn UML

Xả nén mã nguồn của hạt nhân vanilla linux-2.6.8.1 vào một vị trí khác:

# mkdir uml-2.6.8.1
# cd uml-2.6.8.1
# tar jxvpf ../linux-2.6.8.1.tar.bz2

Tải về bản vá UML mới nhất của dự án UML Linux:

# wget http://ovh.dl.sourceforge.net/sourceforge/user-mode-linux/uml-patch-2.6.8.1-1.bz2

(Người dùng nên vào trang tải về của dự án UML Linux để chọn một mirror gần nhất)

Và chúng ta cũng cần một bản vá nhỏ điểu chỉnh hệ thống tmpfs, bản vá này là cần thiết cho chương trình hạt nhân UML.

Để có mã nguồn của chương trình UML linux, Chúng ta tiến hành vá lần lượt từng bản vá:

# cd linux-2.6.8.1
# bzcat ../uml-patch-2.6.8.1-1.bz2 | patch -p1 --dry-run
# bzcat ../uml-patch-2.6.8.1-1.bz2 | patch -p1
# patch -p1 --dry-run < ../tmpfs.patch
# patch -p1 < ../tmpfs.patch

(khi vá bản vá tmpfs.patch chúng ta sẽ gặp một sỗ trục trặc, nhưng đơn giản là bỏ qua và tiếp tục tiến hành)
Tiến hành cấu hình và biên dịch chương trình hạt nhân UML

Để cấu hình hạt nhân uml, bạn có thể sử dụng các công cụ cấu hình thông thường như: oldconfig, menuconfig, xconfig. Tuy nhiên bạn cần chỉ rõ kiến trúc hệ thống bạn sẽ biên dịch, ở đây thay vì các kiến trúc thông thường: x86, ia64,.. . Bạn cần phải chỉ rõ kiến trúc biên dịch là "User Mode" thông qua tham số chỉ thị "ARCH=um".

# make ARCH=um xconfig

Quá trình biên dịch hạt nhân uml được tiến hành với tham số chỉ thị "ARCH=um" và mục tiêu biên dịch là "linux" thay vì bzImage, bzdisk,...:

# make ARCH=um linux

Quá trình biên dịch này sẽ cho kết quả là một tập tin nhị phân trong thư mục chính của mã nguồn hạt nhân uml:

# ll
........................
-rwxr-xr-x 1 tuanndh users 25M Thg 10 7 07:27 linux
........................

đây chính là chương trình hạt nhân uml, cùng với các tài nguyên "ảo" chương trình này sẽ đem tới cho bạn một môi trường uml linux mới. Như bạn thấy tập tin này có kích thước khá lớn, bạn có thể giảm nhỏ kích thước của tập tin này:

# strip linux
# ll
........................
-rwxr-xr-x 1 tuanndh users 3,0M Thg 10 7 07:29 linux
........................

Để thuận lợi trong sử dụng, bạn nên chép tập tin này vào một thư mục có trong biến môi trường $PATH của bạn:

# echo $PATH
/bin:/usr/bin:/usr/local/bin:/opt/bin:~/bin:
# copy linux /usr/local/bin


Chúc
bạn thành công!
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
lighting Các anh chị làm ơn có thể hướng dẫn em cách tạo đĩa tự cài đặt Windown XP với được không ạ? Em xin cảm ơn.

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

Nguyễn Văn Siêu Bài tập Pascal giải giúp mình với . Gấp Gấp

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

Đức Vân Hiện dung lượng và tốc độ khi upload dữ liệu?

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

Lê Thị Hoa Hồng Giải hộ tớ bài lập trình này với các bạn ơi

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

vietnamconnection Nhập vào một mảng n số nguyên tìm số min

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

Vinh Bác nào từng lắp đặt Patch Panel chỉ em một cái. Chi tiết càng tốt. Em đọc hướng dẫn cứ rối tinh lên?

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

nophoto Tại sao lại gọi là "lập trình đồ họa"?

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

Link Trong mạng LAN thì làm sao để tạo được một thông báo đến các máy tính? không sử dụng chat.

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

Hương nLite là phần mềm gì vậy ạ ??

Đăng lúc: 17:22 - 26/06/2013 trong Lập trình

nophoto Giúp em làm 1 trang web cá nhân?

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

Đức Vân Các bác share cho tớ code chạy quảng cáo khi rê chuột được hem?

Đăng lúc: 21:35 - 26/04/2013 trong Lập trình

Uk Cách tạo 1 file bằng cách lập trình như thế nào ?

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

MrTien Ai có phần mềm phông chữ ABC cho mình với. Mình đang cần. Thanks.

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

Thu Trang Dùng class để biểu diễn kiểu ngày tháng năm đúng ko ạ?

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

Thu Trang Ai cho em hỏi trưng trình con thủ tục và hàm dùng làm gì và dùng khi nào trong lập trình ạ?

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

Hoài Nam (Nam Tước) Bạn đã thử đăng ký sử dụng phần mềm dự toán miễn phí Gxd chạy trên Excel chưa?

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

Link Giúp em với: Viết chương trình nhập 3 số từ bàn phím, tìm USCLN của 3 số đó, sử dụng chương trình tìm USCLS

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Chuyển file Pas thành txt

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

nophoto Làm Sao Copy Text Từ Text Document Vô Pascal?

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

vietnamconnection Làm thế nào để in qua cổng COM ?

Đăng lúc: 21:34 - 26/04/2013 trong Lập trình

Rao vặt Siêu Vip