Changes between Version 8 and Version 9 of jazz/11-09-27


Ignore:
Timestamp:
Sep 29, 2011, 12:38:10 AM (13 years ago)
Author:
jazz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • jazz/11-09-27

    v8 v9  
    4040}}}
    4141 * rock 的 init 切入點蠻特殊的,我原本是把切換成 br0 的程序加在 udhcpc 之前,試圖讓 br0 去取得 IP 位址。可是卻會出現 /sbin/init 第 175 行錯誤的問題。
     42 * [[Image(jazz/11-09-27:brctl_br0.png)]]
    4243{{{
    4344150 $echo "Bringing up loopback interface"
     
    5051+   ifconfig eth0 0.0.0.0 
    5152+   sleep 0.1
     53}}}
     54 * [[Image(jazz/11-09-27:init_175.png)]]
     55 * 關於 /tftpboot/node_root/sbin/init 第 175 行的錯誤,是因為 161 行只有找 eth 開頭,但拿到 IP 的是 br0
     56{{{
     57#!sh
     58160 # find my IP address
     59161 NETDEVICES="$(cat /proc/net/dev | awk -F: '/eth.:|tr.:/{print $1}')"
     60162 for DEVICE in $NETDEVICES; do
     61163   IP_tmp="$(ifconfig $DEVICE | grep -A1 $DEVICE | grep -v $DEVICE | grep "inet addr" | sed -e     's/^.*inet addr:\([0-9\.]\+\).*$/\1/')"
     62164   if [ -n "$IP_tmp" ]; then
     63165     # Got the IP address, stop to get from other port, so break
     64166     IP=$IP_tmp
     65167     echo "My IP address is $IP ([$DEVICE])."
     66168     break
     67169   fi
     68170 done
     69171
     70172 IP_prefix="$(echo $IP | cut -d"." -f1-3)"
     71173 if [ -n "$(echo "$NFSSERVER_LIST" | grep -E "$IP_prefix.[0-9]+")" ]; then
     72174   for i in $NFSSERVER_LIST; do
     73175     if [ "$(echo $i | cut -d"." -f1-3)" = $IP_prefix ]; then
     74176       nfsserver=$i
     75177       break
     76178     fi
     77179   done
     78180 else
    5279}}}
    5380 * 若是在 udhcpc 已經用 eth0 取得 IP 之後,才去把 eth0 暫停,新增 br0,再將 eth0 加入 br0,就能正常掛載 NFS 當 ROOTFS。這真的是需要一些觀念啊~
     
    89116bash /bin/network-bridge start netdev=$NIC
    90117}}}
    91  * 關於 /tftpboot/node_root/sbin/init 第 175 行的錯誤,是因為 161 行只有找 eth 開頭,但拿到 IP 的是 br0
    92 {{{
    93 #!sh
    94 160 # find my IP address
    95 161 NETDEVICES="$(cat /proc/net/dev | awk -F: '/eth.:|tr.:/{print $1}')"
    96 162 for DEVICE in $NETDEVICES; do
    97 163   IP_tmp="$(ifconfig $DEVICE | grep -A1 $DEVICE | grep -v $DEVICE | grep "inet addr" | sed -e     's/^.*inet addr:\([0-9\.]\+\).*$/\1/')"
    98 164   if [ -n "$IP_tmp" ]; then
    99 165     # Got the IP address, stop to get from other port, so break
    100 166     IP=$IP_tmp
    101 167     echo "My IP address is $IP ([$DEVICE])."
    102 168     break
    103 169   fi
    104 170 done
    105 171
    106 172 IP_prefix="$(echo $IP | cut -d"." -f1-3)"
    107 173 if [ -n "$(echo "$NFSSERVER_LIST" | grep -E "$IP_prefix.[0-9]+")" ]; then
    108 174   for i in $NFSSERVER_LIST; do
    109 175     if [ "$(echo $i | cut -d"." -f1-3)" = $IP_prefix ]; then
    110 176       nfsserver=$i
    111 177       break
    112 178     fi
    113 179   done
    114 180 else
    115 }}}