2011-07-15 25 views
15

Tôi muốn chạy một số chương trình trên Máy tính Hiệu suất Cao (Với bộ vi xử lý 8 nhân) trong bộ phận của tôi. Bây giờ tôi sử dụng máy đó với ssh sử dụng thiết bị đầu cuối. Máy có cài đặt Red Hat linux trên đó. Nhưng các chương trình của tôi cần chạy trên Solaris. Tôi sử dụng Nexenta Solaris cho x86.Làm thế nào để sử dụng qemu để chạy một hệ điều hành không gui trên thiết bị đầu cuối?

Qemu có thể được sử dụng để chạy Nexenta Solaris trên máy đó thông qua thiết bị đầu cuối. Tôi cần phải thuyết phục quản trị viên rằng nó có thể, nếu không anh ta sẽ không cài đặt qemu trên máy đó và do đó cho phép tôi sử dụng Solaris thông qua một máy ảo. Cũng lưu ý rằng tôi không sử dụng GUI với Nexenta Solaris, chỉ cần dòng lệnh. Trong máy của tôi, tôi sử dụng VMware để chạy nó.

+0

tương tự nhưng với các ràng buộc hệ điều hành ít: http://stackoverflow.com/questions/18098455/redirect-qemu-console-to-a-file-or-the-host-terminal và http : //stackoverflow.com/questions/19565116/redirect-qemu-window-output-to-terminal-running-qemu –

Trả lời

22

Bạn có thể biên dịch qemu cho chính mình và cài đặt nó vào thư mục chính của bạn. Sẽ không có bộ tăng tốc qemu hạt nhân, nhưng qemu sẽ hoạt động và tốc độ sẽ khá cao.

Qemu có hai lựa chọn để bắt đầu phi gui: http://wiki.qemu.org/download/qemu-doc.html

Tùy chọn hiển thị:

-nographic - Thông thường, qemu sử dụng SDL để hiển thị đầu ra VGA. Với tùy chọn này, bạn hoàn toàn có thể vô hiệu hóa đầu ra đồ họa để QEMU là một ứng dụng dòng lệnh đơn giản. Cổng nối tiếp mô phỏng được chuyển hướng trên bàn điều khiển. Do đó, bạn vẫn có thể sử dụng QEMU để gỡ lỗi hạt nhân Linux bằng một bàn điều khiển nối tiếp.

-curses - Thông thường, QEMU sử dụng SDL để hiển thị đầu ra VGA. Với tùy chọn này, QEMU có thể hiển thị đầu ra VGA khi ở chế độ văn bản sử dụng giao diện curses/ncurses. Không có gì được hiển thị ở chế độ đồ họa.

Ngoài ra nó có thể gửi sản lượng đồ họa để máy khác thông qua VNC giao thức (-vnc tùy chọn)

+25

các lời nguyền là đẹp: http://blog.scaramanga.co.uk/wp-content/uploads/ 2010/06/winxp-textmode.png – osgx

+0

Có, '-curses' hoạt động trên ssh trong khi -nographic chỉ bị treo. –

+1

Bản sao curses gốc cho qemu, 2005: https://lists.gnu.org/archive/html/qemu-devel/2005-12/msg00084.html "[Qemu-devel] qemu nguyền rủa trình điều khiển" Từ: \t andrzej zaborowski Ngày : \t Sat, 10 Dec 2005 "* Khi qemu đang chạy với" -curses " nó hiển thị mọi thứ trong terminal hiện tại, có thể là bàn điều khiển gốc, framebuffer linux, xterm hoặc chạy trên ssh, để lại nhiệm vụ của các ký tự hiển thị đến thiết bị đầu cuối .... Tính năng này hoạt động miễn là bộ điều hợp đồ họa ảo ở chế độ văn bản . * " – osgx

5

-append 'console=ttyS0' cũng là cần thiết cho Linux kernel được ngoài -nographic đề cập bởi osgx như trong:

qemu-system-x86_64 -kernel bzImage \ 
        -initrd rootfs.cpio.gz \ 
        -nographic \ 
        -append 'console=ttyS0' 

Thật không may, -append 'console=ttyS0' yêu cầu -kernel bzImage để hoạt động, vì vậy tôi không quản lý để sử dụng tính năng này h -cdrom distro.iso.

Điều này có thể dễ dàng được kiểm tra với Buildroot qemu_x86_64_defconfig. Tôi đã tạo this is a highly self-contained and automated setup cho phép bạn dùng thử.

câu hỏi tiếp theo của bạn sẽ làm thế nào để vượt qua một tổ hợp phím Ctrl + C để vị khách: https://unix.stackexchange.com/questions/167165/how-to-pass-ctrl-c-to-the-guest-when-running-qemu-with-nographic :-)

Thử nghiệm trên Ubuntu 17.10.

1

Tôi đã vật lộn này trong một thời gian và cuối cùng đã tìm ra cách để làm cho nó làm việc cho tôi:

Bạn cần có SGABIOS cài đặt.Điều thú vị là BIOS này không được bao gồm trong gói debian qemu, vì vậy bạn cần phải cài đặt nó (như superuser):

apt install sgabios 

Sau đó, khi bạn chạy qemu sử dụng tùy chọn -device để nói với máy virtural sử dụng SGA đầu ra

qemu-system-i386 -nographic -device sga discimage.bin 

Thì đấy! hoạt động hoàn hảo trên ssh với cả màn hình và đầu ra văn bản được gửi qua stdio. Bạn có thể truy cập màn hình qemu bằng C-a c.

cổ vũ, ben

Các vấn đề liên quan