2018年8月24日 星期五

在Linux作業系統,使用ethtool來切換網路的速度

假設我們要把eth0從10G速度切換成固定1G(關閉Auto-nego),執行下面指令就可以

1. 關閉Auto-negotiation 同時切換網路速度為 1000Mb/s 並設為全雙工
# ethtool -s eth0 autoneg off speed 1000 duplex full



2018年8月6日 星期一

fdisk 自動完成partition,使用一個script來完成切割

把/dev/sda 切一個partition,全部空間都切成一個partition
 echo -e "o\nn\np\n1\n\n\nw" | fdisk /dev/sda


把/dev/sda 切兩個partition,sda1=150GB, sda2=50GB 
echo -e "o\nn\np\n1\n\n+150GB\nn\np\n2\n\n+50GB\nw" | fdisk /dev/sda

2018年8月1日 星期三

busybox 的 udhcpc 執行後,印出的訊息中有取到ip,但是本地端ip沒有更改

今天在我們自己Build的Linux kernel上要使用udhcpc -i eth0來自動分配ip

原先所設定的Static IP為 192.168.1.3 如下:








使用udhcpc -i eth0 指令後,結果出現如下的情形:











udhcpc有從Server端取到IP,但是卻沒設定到eth0介面,後來爬文發現,udhcpc執行的流程會去執行 /usr/share/udhcpc/default.script,這個script會把從Server端取到的IP設定到網路介面


/usr/share/udhcpc/default.script 內容如下:
#################################################
#!/bin/sh

# udhcpc script edited by Tim Riker <Tim@Rikers.org>

[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1

RESOLV_CONF="/etc/resolv.conf"
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"

case "$1" in
  deconfig)
    /sbin/ifconfig $interface 0.0.0.0
    ;;

  renew|bound)
    /sbin/ifconfig $interface $ip $BROADCAST $NETMASK

    if [ -n "$router" ] ; then
      echo "deleting routers"
      while route del default gw 0.0.0.0 dev $interface ; do
        :
      done

      for i in $router ; do
        route add default gw $i dev $interface
      done
    fi

    echo -n > $RESOLV_CONF
    [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
    for i in $dns ; do
      echo adding dns $i
      echo nameserver $i >> $RESOLV_CONF
    done
    ;;
esac

exit 0
####################################################

請自行新增這個檔案,並且使用 chmod 777 /usr/share/udhcpc/default.script,確保可執行。
之後再去執行udhcpc -i eth0 就可以了

可以使用的ntp server的domain name 與 ip address

Domain Name: tw.pool.ntp.org

IP Address: 103.18.128.60

我們可以使用ntpdate去同步ntp_server時間,最後使用指令hwclock -w 來寫入到hwclock