安裝順序如下
測試環境
1 2 3 4 5 6 |
|
安裝Qemu
1
|
|
拉ARM安裝相關檔案
- 首先先來看Qemu有支援那些ARM平台
1 2 3 4 5 6 |
|
安裝ARM版本Debian需要
- kernel
- initrd
- ISO 首先到提供Debian下載的網站中的debian/dists找一個你想安裝的版本,我選了7.8 (Wheezy)。 假設Debain下載網站叫host
先抓平台相關的kernel和initrd,路徑如下
http://host/debian/dists/Debian7.8/main/installer-armel/20130430/images/
下面有不同的ARM平台,還記得上面qemu-system-arm -machine help
,請和這邊目錄下的比對,挑一個順眼的。我使用
versatile,所以就切到下面的目錄
http://host/debian/dists/Debian7.8/main/installer-armel/20130430/images/versatile/netboot/
把下面的兩個檔案拉下來
- initrd.gz
- vmlinuz-3.2.0-4-versatile
接下來在同樣的主機上,下載ISO檔。
http://host/debian-cd/7.8.0/armel
開始安裝
透過下面的指令安裝虛擬磁碟,請自行決定大小
1
|
|
然後叫qemu載入ARM kernel,initrd,以及ISO
1
|
|
這邊可以看到versatileab又出現了,請往上找一下這個字串吧。
抽出虛擬磁碟的kernel和initrd
最tricky的地方在這邊,理論上你要透過loopback裝置mount 虛擬磁碟,複製/boot就可以了。但是現實就是,因為磁碟機/root的partition有offset,所以直接mount程式無法辨認Filesystem所以無法mount。正確方式如下
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
有兩個東西要注意
- unit為512 bytes
- root partition offset為2048個unit
所以正確的mount方式如下
1
|
|
接下來抽出就簡單了,請在剛才安裝的虛擬磁碟檔案同一個目錄操作。
1 2 |
|
載入安裝的系統
這邊就照表操課,我有指定localhost將port 2222 forward到Qemu的port 22,以便將來ssh進去
1
|
|
驗收看看是不是真的可以連進去,並且裏面真的是ARM的binary?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|