1,602 瀏覽數

Busybox

在介紹 BusyBox 前先來回顧一下, Linux 的開機流程 , RHEL 6 的開機方式 稍微不同不過大致上差異不大.

  1. Boot Loader(GRUB or LILO )從 BIOS 取得控制權
  2. 載入 kernel
  3. 載入 initrd
  4. kernel 執行的第一個程式/sbin/init

系統載入 Kernel 後接下來將 initrd 先載入至 ram disk (dev/ram0) 中,執行完 linuxrc 後去存取 root partitaion 並執行第一個程式/sbin/init.這是系統正常開機的方法,但在 Embedded system 是不太可能將完整的 Linux 安裝上去的,所以很多的 Embedded system 採用了 BusyBox 的方式去解決.

BuzyBox 匯集常用 UNIX 指令於單一執行檔的工具集,它包含了七十多種 Linux 上標準的工具程式,只需要的磁碟空間僅幾百 k,在嵌入式 系統上常用到它 ,可在 http://busybox.net 找到參考資料及下載, Busybox 為何能夠佔有如此小的容量,卻能提供為數不少的常用工具呢?這訣竅在於 busybox 在編譯後,雖然整體只是一個執行檔,卻可以透過 symbolic link 的方式,將常用指令連到 busybox 這個執行檔上,更詳細的說明請參考 Floppy Linux

相關的指令請參考 http://www.busybox.net/downloads/BusyBox.html

  • ifconfig
    在 BusyBox 要修改 MAC addresses 出乎意料的簡單,先來說說 MAC addresss 所代表的意義,它主要由 48 bits 所組成,前 24 bits 為製造公司序號,後面 24bits 為產品流水號:

    MM:MM:MM:SS:SS:SS

    我們可以利用這個網站可以查詢到製造商的名稱 http://www.coffer.com/mac_find/ . 
    比如 Intel 的網卡 MAC Address 為00:A0:C9:14:C8:29,所以只要是 00A0C9 開頭的都是由 Intel 所製造

    在 BusyBox 的環境,網路設定檔位於 /etc/network/interfaces  ,要修改 MAC Address 也只要透過下面指令.

    # ifconfig eth0 hw ether 00:11:22:33:44:55
    
  • udhcpc
    透過 DHCP 來獲取 IP 位址

    # udhcpc -i eth0
    

發表迴響