本帖最后由 MOP 于 2016-5-31 17:38 编辑
<前言>
本篇用比較好玩的方式來撰寫,其實主要目的是研究虛擬化,而跑WindowsXP只是一個附加實驗,請各位有興趣的小伙伴們可自己嘗試唷,將講述如何編譯開源的Qemu和安裝並啟動WindowsXP
<準備>
1. Banana Pi M3
2. MicroUSB傳輸線
3. SD卡16G以上
4. 5V 2A Adapter
1. Qemu是一項開源的虛擬和模擬軟體,它可以幫助Host的硬體架構去模擬不同架構的ISA,並且執行相關的二進制執行檔,也可以做虛擬化,將Host OS上再開啟另外一個OS,如同VMware和VirtualBox,簡單來說就是開源且為Linux訂製的一套虛擬化和模擬軟體,更多細節可參考
官網
2. 從官網下載最新剛釋出的2.6.0版本,以往在A80上測試的是更早期的版本,期望可得到更多的支援和加速,
點擊我下載
3. 利用MicroUSB傳輸線連接BPI-M3和電源,這裡假設您已經安裝好官方的Debian或者Ubuntu,這裡我使用Ubuntu MATE的鏡像,這鏡像和後續作業需要16G以上的SD卡
4. 打開MATE Terminal,輸入以下指令
sudo apt-get update
5. 開始安裝編譯Qemu所需要的套件,這裡Ubuntu MATE 16.04已經提供了GCC 5.3.1和相關編譯工具
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev
6. 以下是建議套件,建議也安裝才可以得到最佳化的Qemu編譯
sudo apt-get install git-email
sudo apt-get install libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev
sudo apt-get install libcap-dev libcap-ng-dev libcurl4-gnutls-dev
sudo apt-get install libibverbs-dev libjpeg8-dev libncurses5-dev
sudo apt-get install librbd-dev librdmacm-dev
sudo apt-get install libsasl2-dev libsdl1.2-dev libseccomp-dev libsnappy-dev libssh2-1-dev
sudo apt-get install libvde-dev libvdeplug-dev libxen-dev liblzo2-dev
sudo apt-get install valgrind xfslibs-dev
sudo apt-get install libnfs-dev libiscsi-dev
清單是取自官方Wiki,但有些不同,說明如下
libvte-2.90-dev和libgtk-3-dev
為gnome相關的圖形庫,但安裝時候會額外安裝mesa函式庫,將會與PowerVR的驅動衝突,所以不安裝,但會影響XP的顯示效果
libnuma-dev
Non-Uniform Memory Access技術函式庫,ARMv7並不支援,始於ARMv8 (64位元),所以無法安裝
7. 設定組態設定值和編譯,輸入以下指令
cd qemu-2.6.0
mkdir build
cd build
../configure
make -j8
等待編譯結束即可,沒有錯誤的話會產生相關的模擬和虛擬化二進制執行檔
<安裝WindowsXP>
8. 網路上可以找到許多原版的鏡像檔,我手邊的是Windows XP SP2版本,建議安裝XP之前的系統才不會遲鈍到無法忍受
9. 輸入以下指令產生硬碟的鏡像檔,供XP安裝時使用
cd qemu-2.6.0/build
./qemu-img create /xp.img 2G
這裡我產生2G的空白鏡像檔,基本上足夠安裝和使用
10. 輸入以下指令開始啟動X86的模擬器,用來模擬X86的CPU來安裝XP
cd x86_64-softmmu
./qemu-system-x86_64 -m 1G -smp 8 -drive file=,id=disk,if=none,format=raw -device ide-hd,drive=disk -serial vc -device intel-hda,addr=1b.0 -device hda-duplex -cdrom -boot d
以上是啟動參考設置,
-device和
-serial部分可以省略的,
-drive和
-cdrom則不可省略,第一次啟動安裝時,需要增加
-boot d,
-m為RAM大小設為1G,
-smp為有幾顆CPU,A83T可模擬8顆
11. 接下來您就可以看到SeaBIOS去啟動XP的ISO檔來安裝XP了
可偵測ISO檔來啟動安裝,圖為已經安裝之後由硬碟鏡像檔啟動,若為空白鏡像則直接以CD ROM啟動
12. 等待安裝和設定完成,這將花費許多時間,覺得有趣的可以嘗試自己安裝看看,或者可以跟我索取已安裝好的鏡像檔
開始DOS底下的安裝
安裝途中
安裝途中,速度當然相當慢...
重新啟動後會繼續後續的安裝,這也是時間最久的步驟
等待安裝完畢
安裝完畢後,第一次啟動XP
進到桌面後,打開控制台觀看系統參數,可發現由Qemu模擬出來的X86 CPU
13. 測試就到這裡結束,當然速度慢的情況下,頂多當作為觀賞用,不太具有操作和使用性,而之後啟動就不再需要CD ROM了,改為以下指令,直接讀取硬碟的鏡像檔來啟動
./qemu-system-x86_64 -m 1G -smp 8 -drive file=,id=disk,if=none,format=raw -device ide-hd,drive=disk -serial vc -device intel-hda,addr=1b.0 -device hda-duplex
第二次啟動
進入桌面的啟動畫面
到桌面整體呈現約10分鐘左右,供參考
新接龍:)
<小結>
本篇使用Qemu模擬技術來模擬X86 CPU來安裝XP,Qemu雖然歷經改版後,但對於ARM的優化仍相當薄弱,另外BPI-M3的Kernel也過於老舊,所以無法啟動虛擬化來加速,即KVM,但一般上來說仍然可以使用Mainline的Kernel來嘗試,可預期的是會失去GPU 3D硬體加速,不過對於2D基本繪圖和虛擬化應用已經足夠應付了,接下來會嘗試看看,本篇XP玩法供小伙伴們參考
本帖最后由 MOP 于 2016-5-31 17:38 编辑
<前言>
本篇用比較好玩的方式來撰寫,其實主要目的是研究虛擬化,而跑WindowsXP只是一個附加實驗,請各位有興趣的小伙伴們可自己嘗試唷,將講述如何編譯開源的Qemu和安裝並啟動WindowsXP
<準備>
1. Banana Pi M3
2. MicroUSB傳輸線
3. SD卡16G以上
4. 5V 2A Adapter
1. Qemu是一項開源的虛擬和模擬軟體,它可以幫助Host的硬體架構去模擬不同架構的ISA,並且執行相關的二進制執行檔,也可以做虛擬化,將Host OS上再開啟另外一個OS,如同VMware和VirtualBox,簡單來說就是開源且為Linux訂製的一套虛擬化和模擬軟體,更多細節可參考
官網
2. 從官網下載最新剛釋出的2.6.0版本,以往在A80上測試的是更早期的版本,期望可得到更多的支援和加速,
點擊我下載
3. 利用MicroUSB傳輸線連接BPI-M3和電源,這裡假設您已經安裝好官方的Debian或者Ubuntu,這裡我使用Ubuntu MATE的鏡像,這鏡像和後續作業需要16G以上的SD卡
4. 打開MATE Terminal,輸入以下指令
sudo apt-get update
5. 開始安裝編譯Qemu所需要的套件,這裡Ubuntu MATE 16.04已經提供了GCC 5.3.1和相關編譯工具
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev
6. 以下是建議套件,建議也安裝才可以得到最佳化的Qemu編譯
sudo apt-get install git-email
sudo apt-get install libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev
sudo apt-get install libcap-dev libcap-ng-dev libcurl4-gnutls-dev
sudo apt-get install libibverbs-dev libjpeg8-dev libncurses5-dev
sudo apt-get install librbd-dev librdmacm-dev
sudo apt-get install libsasl2-dev libsdl1.2-dev libseccomp-dev libsnappy-dev libssh2-1-dev
sudo apt-get install libvde-dev libvdeplug-dev libxen-dev liblzo2-dev
sudo apt-get install valgrind xfslibs-dev
sudo apt-get install libnfs-dev libiscsi-dev
清單是取自官方Wiki,但有些不同,說明如下
libvte-2.90-dev和libgtk-3-dev
為gnome相關的圖形庫,但安裝時候會額外安裝mesa函式庫,將會與PowerVR的驅動衝突,所以不安裝,但會影響XP的顯示效果
libnuma-dev
Non-Uniform Memory Access技術函式庫,ARMv7並不支援,始於ARMv8 (64位元),所以無法安裝
7. 設定組態設定值和編譯,輸入以下指令
cd qemu-2.6.0
mkdir build
cd build
../configure
make -j8
等待編譯結束即可,沒有錯誤的話會產生相關的模擬和虛擬化二進制執行檔
<安裝WindowsXP>
8. 網路上可以找到許多原版的鏡像檔,我手邊的是Windows XP SP2版本,建議安裝XP之前的系統才不會遲鈍到無法忍受
9. 輸入以下指令產生硬碟的鏡像檔,供XP安裝時使用
cd qemu-2.6.0/build
./qemu-img create /xp.img 2G
這裡我產生2G的空白鏡像檔,基本上足夠安裝和使用
10. 輸入以下指令開始啟動X86的模擬器,用來模擬X86的CPU來安裝XP
cd x86_64-softmmu
./qemu-system-x86_64 -m 1G -smp 8 -drive file=,id=disk,if=none,format=raw -device ide-hd,drive=disk -serial vc -device intel-hda,addr=1b.0 -device hda-duplex -cdrom -boot d
以上是啟動參考設置,
-device和
-serial部分可以省略的,
-drive和
-cdrom則不可省略,第一次啟動安裝時,需要增加
-boot d,
-m為RAM大小設為1G,
-smp為有幾顆CPU,A83T可模擬8顆
11. 接下來您就可以看到SeaBIOS去啟動XP的ISO檔來安裝XP了
可偵測ISO檔來啟動安裝,圖為已經安裝之後由硬碟鏡像檔啟動,若為空白鏡像則直接以CD ROM啟動
12. 等待安裝和設定完成,這將花費許多時間,覺得有趣的可以嘗試自己安裝看看,或者可以跟我索取已安裝好的鏡像檔
開始DOS底下的安裝
安裝途中
安裝途中,速度當然相當慢...
重新啟動後會繼續後續的安裝,這也是時間最久的步驟
等待安裝完畢
安裝完畢後,第一次啟動XP
進到桌面後,打開控制台觀看系統參數,可發現由Qemu模擬出來的X86 CPU
13. 測試就到這裡結束,當然速度慢的情況下,頂多當作為觀賞用,不太具有操作和使用性,而之後啟動就不再需要CD ROM了,改為以下指令,直接讀取硬碟的鏡像檔來啟動
./qemu-system-x86_64 -m 1G -smp 8 -drive file=,id=disk,if=none,format=raw -device ide-hd,drive=disk -serial vc -device intel-hda,addr=1b.0 -device hda-duplex
第二次啟動
進入桌面的啟動畫面
到桌面整體呈現約10分鐘左右,供參考
新接龍:)
<小結>
本篇使用Qemu模擬技術來模擬X86 CPU來安裝XP,Qemu雖然歷經改版後,但對於ARM的優化仍相當薄弱,另外BPI-M3的Kernel也過於老舊,所以無法啟動虛擬化來加速,即KVM,但一般上來說仍然可以使用Mainline的Kernel來嘗試,可預期的是會失去GPU 3D硬體加速,不過對於2D基本繪圖和虛擬化應用已經足夠應付了,接下來會嘗試看看,本篇XP玩法供小伙伴們參考