- qemu-img linux.img 4G
- qemu -m 256 -hda ./xp.img -boot c -localtime -net nic -net user
使用vnc參數,會使用qemu變成一個vnc server,這時只要使用vnc client就可連線到機器上.其中":1"表示使用port 5901 (5900 + 1)來進行連線.這時可以先配合"-s -S"先暫停機器,再使用vnc連線上,再使用monitor mode啟動機器.
- qemu -hda linux.img -vnc :1
- vncviewer :1
Kernel GDB Debug
使用"-s"等待gdb連線到qemu,而"-S"會使機器保持未開機的狀態.
- 在目錄”/usr/src/linux/arch/x86/boot”建立一個空的img檔linux.img
- qemu -hda linux.img -kernel bzImage -s -S
- 在目錄"/usr/src/linux"執行gdb ./vmlinux
- 在gdb中使用指令來進行連線”target remote localhost:1234".
- 輸入"b start_kernel"來建立中斷點,輸入"c"開始執行.
映象檔相關
使用參數"snapshot",那麼所做的操作都不會記錄到映象檔中,在下次重開後,映象檔會回復原狀
- qemu -snapshot hda disk.img
- qemu-img create -b disk.img -f qcow testdisk.img
- qemu -hda testdisk.img
QEMU Monitor Mode
監視模式是用於查看目前系統的資訊,光碟的存取和除錯使用.使用方式如下.
點選QEMU的執行視窗,使用"Ctrl + Alt + 2"進行監視模式,使用"Ctrl + Alt + 1"回到guest system.
畫面截圖
- screendump test.ppm
- 使用"info block"來取得光碟機名稱,例如"ide1-cd0"
- 指令"change ide1-cd0 /root/gentoo.iso"來載入光碟.
- 指令"eject ide1-cd0"來取出光碟.
- "stop"暫停系統
- "cont"啟動系統
- "quit"離開系統
安裝busybox,使用static library選項.使用"make menuconfig", "make", "make install"來進行安裝,預設會安裝在目錄"_install".建立image檔,格式化,並安裝busybox,最後建立dev files.相關指令如下
- dd if=/dev/null of=linux.img bs=1k count=10000
- mke2fs -F linux.img
- mkdir tmp
- mount -o loop linux.img tmp
- cp -a cp -a busybox-1.13.2/_install/* tmp
- mkdir tmp/dev
- cd tmp/dev
- mknode console c 5 1
- mknode mem c 1 1
- mknode null c 1 3
- mkdnoe random c 1 8
- mknode tty0 c 4 0
- mknode tty1 c 4 1
- mknode tty2 c 4 2
- mknode tty3 4 3
- mknode tty4 4 4
- umount tmp
- qemu -hda linux.img -kernel kernel -append root=/dev/hda
沒有留言:
張貼留言