Ubuntu 使用 Bridge 模式, ExtractRootFSFromScratch Ubuntu, chroot

我需要一個Debian ARM (aurel) 版本的 RootFS,這樣就可以用他的裡面的工具程式,所以打算QEMU來安裝一下,於是從網路上下載了 kernel 跟 initrd,就準備使用qemu-system-arm 來安裝了,結果到了要從網路上下載套件來安裝的時候,一直無法抓到遠端套件,進shell看,以為是IP配措之類的,所以打算把Qemu設為 Bridge 模式,雖然我心裡覺得預設的NAT模式應該是可以的。

到 /etc/network/interfaces
原本是
auto eth0
iface eth0 inet dhcp
加上
auto br0
iface br0 inet dhcp
   bridge_ports eth0
   bridge_maxwait 0

存檔出來之後
apt-get install bridge-utils
ifdown eth0
ifup br0
這裡我就不太清楚為甚麼要使用 br0 取得IP

接下來建立 /etc/qemu-ifup

#!/bin/sh
echo "Executing /etc/qemu-ifup"
echo "Bringing up $1 for bridged mode…"
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
echo "Adding $1 to br0…"
sudo /usr/sbin/brctl addif br0 $1
sleep 2

這是 qemu-system-arm 在設定網卡的時候會執行的 script,當然參數裡面也可以加上其他路徑的script
qemu-system-arm  xxx   -net nic -net tap

啟動qemu之後,裡面的網卡就可以拿到外面網段的IP了,但很殘念的,我還是沒有辦法下載套件回來安裝。只能判斷是我IP分享器外面的問題,因為我自己的電腦互ping的到。

於是想要使用 DVD 來安裝,沒想到qemu-system-arm 不支援從光碟機開機,google的範例都是要使用網路下載的,且一定要指定kernel參數,聽說就等同於 BIOS。

後來不想用debian了,竟然發現 ubuntu也有ARM版的,且不用安裝,網路上就有直接解出rootFS的方法了~
RootfsFromScratch – Ubuntu Wiki
sad,花了一下午~

又遇到問題就是chroot之後沒法讀取/proc,要改為 chroot /myroot `mount –bind /proc /myroot/proc; mount –bind /dev /myroot/dev;` /bin/bash。
再記得把 /etc/resolv.conf 複製過去 應該就可以上網了~

This entry was posted in 工作. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s