查看: 864|回复: 5
打印 上一主题 下一主题

[banana pi BPI-M3学习笔记] WindowsXP on 好吃的香蕉

[复制链接] qrcode

34

主题

37

帖子

112

积分

注册会员

Rank: 2

积分
112
楼主
跳转到指定楼层
发表于 2016-5-31 03:25 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 MOP 于 2016-5-31 17:38 编辑

<前言>
本篇用比較好玩的方式來撰寫,其實主要目的是研究虛擬化,而跑WindowsXP只是一個附加實驗,請各位有興趣的小伙伴們可自己嘗試唷,將講述如何編譯開源的Qemu和安裝並啟動WindowsXP

<準備>
1. Banana Pi M3
2. MicroUSB傳輸線
3. SD卡16G以上
4. 5V 2A Adapter

<Qemu>
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,輸入以下指令
  1. sudo apt-get update
复制代码

5. 開始安裝編譯Qemu所需要的套件,這裡Ubuntu MATE 16.04已經提供了GCC 5.3.1和相關編譯工具
  1. sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev
复制代码

6. 以下是建議套件,建議也安裝才可以得到最佳化的Qemu編譯
  1. sudo apt-get install git-email
  2. sudo apt-get install libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev
  3. sudo apt-get install libcap-dev libcap-ng-dev libcurl4-gnutls-dev
  4. sudo apt-get install libibverbs-dev libjpeg8-dev libncurses5-dev
  5. sudo apt-get install librbd-dev librdmacm-dev
  6. sudo apt-get install libsasl2-dev libsdl1.2-dev libseccomp-dev libsnappy-dev libssh2-1-dev
  7. sudo apt-get install libvde-dev libvdeplug-dev libxen-dev liblzo2-dev
  8. sudo apt-get install valgrind xfslibs-dev
  9. sudo apt-get install libnfs-dev libiscsi-dev
复制代码
清單是取自官方Wiki,但有些不同,說明如下

  1. libvte-2.90-dev和libgtk-3-dev
复制代码
為gnome相關的圖形庫,但安裝時候會額外安裝mesa函式庫,將會與PowerVR的驅動衝突,所以不安裝,但會影響XP的顯示效果

  1. libnuma-dev
复制代码
Non-Uniform Memory Access技術函式庫,ARMv7並不支援,始於ARMv8 (64位元),所以無法安裝

7. 設定組態設定值和編譯,輸入以下指令
  1. cd qemu-2.6.0
  2. mkdir build
  3. cd build
  4. ../configure
  5. make -j8
复制代码
等待編譯結束即可,沒有錯誤的話會產生相關的模擬和虛擬化二進制執行檔

<安裝WindowsXP>

8. 網路上可以找到許多原版的鏡像檔,我手邊的是Windows XP SP2版本,建議安裝XP之前的系統才不會遲鈍到無法忍受

9. 輸入以下指令產生硬碟的鏡像檔,供XP安裝時使用
  1. cd qemu-2.6.0/build
  2. ./qemu-img create <path-to-your-directory>/xp.img 2G
复制代码
這裡我產生2G的空白鏡像檔,基本上足夠安裝和使用

10. 輸入以下指令開始啟動X86的模擬器,用來模擬X86的CPU來安裝XP
  1. cd x86_64-softmmu
  2. ./qemu-system-x86_64 -m 1G -smp 8 -drive file=<path-to-your-image-file>,id=disk,if=none,format=raw -device ide-hd,drive=disk -serial vc -device intel-hda,addr=1b.0 -device hda-duplex -cdrom <path-to-your-XP-ISO> -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了,改為以下指令,直接讀取硬碟的鏡像檔來啟動
  1. ./qemu-system-x86_64 -m 1G -smp 8 -drive pold=<path-to-your-image-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玩法供小伙伴們參考

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

67

帖子

4

积分

新手上路

Rank: 1

积分
4
沙发
发表于 2016-5-31 09:00 AM | 只看该作者
不错的玩法,支持!
回复 支持 反对

使用道具 举报

0

主题

85

帖子

14

积分

新手上路

Rank: 1

积分
14
板凳
发表于 2016-5-31 09:15 AM | 只看该作者
超详细
回复 支持 反对

使用道具 举报

0

主题

75

帖子

12

积分

新手上路

Rank: 1

积分
12
地板
发表于 2016-5-31 10:54 AM | 只看该作者
我是来点赞的。。。
回复 支持 反对

使用道具 举报

0

主题

70

帖子

8

积分

新手上路

Rank: 1

积分
8
5#
发表于 2016-5-31 01:18 PM | 只看该作者
踩一下
回复 支持 反对

使用道具 举报

0

主题

74

帖子

16

积分

新手上路

Rank: 1

积分
16
6#
发表于 2016-6-16 10:59 PM | 只看该作者
不错嘛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表