Uboot設定

1.在開機的時候先進入uboot
在此畫面要快速按下任何鍵就可以進入uboot模式

2.接下來就是開始設定uboot
uboot有很多參數必須被設定如下
bootcmd    - see CONFIG_BOOTCOMMAND
bootargs    - Boot arguments when booting an RTOS image
ipaddr    - IP address; needed for tftpboot command
serverip    - TFTP server IP address; needed for tftpboot command
ethact    - When CONFIG_NET_MULTI is enabled controls which interface is currently active.
gatewayip    - IP address of the Gateway (Router) to use
netmask    - Subnet Mask
ethaddr    - Ethernet address
那要如何設定
打set的指令加上你要設定的參數名稱和參數(有些舊版本要打setenv)
參數名稱除了上面的之外
也可以自己命名其他的名子
例如要設定這台機器的ip
set ipaddr 192.168.0.99
那設定完要如何看??
就打print(有些舊版本要打printenv)
print
但是這些設定完後
重新開機會回歸原始狀態
那要如何儲存??
就打save(有些舊版本要打saveenv)
save
基本設定如下:
set ipaddr 192.168.0.99
set serverip 192.168.0.101
save
print 
如下圖所示


接下來就是從遠端下載kernel的image的設定
通常都是用tftp來下載
在server的安裝教學按此
接下來就是下令
tftp的指令就是tftp
後面要跟的參數是
tftp loadAddress bootfilename
loadaddress就是你要將image下載到硬體的哪裡(通常以16進位來表示)
bootfilename就是在你主機上的檔名
設定如下:
tftp 22000000 uImage
成功如下圖

要是出現
*** ERROR: `ethaddr' not set
請設定ethaddr
ethaddr只能設定一次
也就是設定MAC address
輸入32位元的數值
set ethaddr 11:22:33:44:55:66
save
要是出現Loading: T T T T
如下圖
可以按下ctrl+c強制中斷
並且檢查是否server的ip設錯
或是硬體的ip設錯網段
是否可以連到server

接下來就是如何讓uboot利用nfs掛載root-file-system
就要設定以下參數
set bootargs console=fb0 console=ttyS0,115200 androidboot.console=ttyS0 root=/dev/nfs rw init=/init nfsroot=192.168.0.101:/root/rootfs ip=192.168.0.99:192.168.0.101:192.168.0.254:255.255.255.0::eth0 off rootwait
save 
裡面比較重要的是
console為用什麼輸出訊息
上面設定是讓uart輸出包率為115200
init為一開始掛載完root-file-system之後先開啟的檔案
nfsroot為設定server的IP和資料夾的位子
ip為設定機器的ip server的ip 網路閘道 遮罩 使用哪個網路口

接下來就可以開啟kernel
下的指令是
bootm
後面的參數是16進位
bootm 22000000
就等掛載好了就會出現一個#
如下圖
就可以用linux的指令去玩了

0 意見:

張貼留言