0. 先以 qemu 安裝 ARM 版 Debian Linux 至 arm.img
檔案位置:
~/qemu_image/ -> 所有虛擬 ARM 檔案目錄
/arm.img -> 虛擬 ARM 硬碟映像檔
/vmlinuz-3.2.0-4-versatile -> ARM 開機核心
/initrd.img-3.2.0-4-versatile -> ARM 開機 initrd
/runarm.sh -> 開機 script
0. 先執行底下指令:
# losetup -a
此時會看到目前沒有輸出。
1. 接著將開機核心擷取出來:
# losetup /dev/loop0 arm.img
再執行
# losetup -a
其輸出如下:
/dev/loop0: [0831]:31198060 (/home/herman/qemu_image/arm.img)
這表示 /dev/loop0 與 arm.img 已經連接 (attach) 在一起,之後我們可以使用 fdisk -lu /dev/loop0 來觀看是否為當初安裝時所分割的磁區:
Device Boot Start End Blocks Id System
/dev/loop0p1 2048 3913727 1955840 83 Linux
/dev/loop0p2 3915774 4192255 138241 5 Extended
/dev/loop0p5 3915776 4192255 138240 82 Linux swap / Solaris
開機核心位於 ?
/boot
因此,我們要將 /dev/loop0p1 掛載上來,再至其 boot 目錄擷取 ARM 版 Linux 核心及 initrd。
losetup -o `expr 2048 \* 512` /dev/loop1 /dev/loop0
接著我們可以將 /dev/loop1 掛載至 /mnt 目錄下:
mount /dev/loop1 /mnt
掛載完後可以執行 df -h /mnt 來觀看結果:
檔案系統 容量 已用 可用 已用% 掛載點
/dev/loop1 1.9G 506M 1.3G 30% /mnt
接著可以至 /mnt/boot 目錄下擷取 Linux 核心
cp /mnt/boot/initrd.img-3.2.0-4-versatile .
cp /mnt/boot/vmlinuz-3.2.0-4-versatile .
如此一來即完成核心擷取,接下來可以進行開機作業。
2. 使用 qemu 來開機
請將底下指令另存 runarm.sh 以便進行開機:
qemu-system-arm -M versatilepb -m 512 \
-kernel ./vmlinuz-3.2.0-4-versatile \
-initrd ./initrd.img-3.2.0-4-versatile \
-hda arm.img \
-append "root=/dev/sda1"
接著請執行 sh runarm.sh
3. 登入系統,確定我們是在 ARM 的機器中
請在登入畫面使用 root 帳號、密碼,看能不能登入,並執行
cat /proc/cpuinfo
來觀看 CPU 狀態。
如果在 qemu 視窗中點擊滑鼠將會使 qemu 把滑鼠「抓走」,此時我們要按
Ctrl+Alt 讓 qemu 將滑鼠「釋放」出來,否則會沒有遊標可用,要確定目前
滑鼠是否有被 qemu 抓走請看 qemu 之狀態列。
在 qemu 畫面下按 Ctrl+Alt+f 可以放大/縮小全螢幕狀態。
4. 安裝 arm 的 Xwindow,並進入 Xwindow 環境
4.1 將 /etc/apt/sources.list 中的鏡像站改至校內:
加上這兩行
deb ftp://120.117.72.71/debian wheezy main contrib non-free
deb ftp://120.117.72.71/debian wheezy-updates main contrib non-free
將 deb-src 註解,保留 security.debian.org 設定
修改完畢後執行 apt-get update
再安裝 xorg icewm 套件
4.2 安裝完畢後以一般 user 登入
登入完畢後執行
startx
看看能不能進入 Xwindow
5. 清除已安裝之 .deb 檔案
# apt-get clean
清除完畢可以執行 df -h 來看目前磁碟空間
6. 依照 X86 流程,安裝 iceweasel,並觀察能否上網。
沒有留言:
張貼留言