BeagleBoard-XM -- NFS How To?
關於如何架設 BeagleBoard-XM NFS的步驟。
要使用開發板前,當然想先做的就是使用NFS把自己的RFS(RootFileSystem)同步在Ubuntu上debug。
1.首先當然先下載好你所想要的版本別,我使用的版本別:
TI-Android-Gingerbread_2.3.4
TI-Android-GingerBread-2.3.4-DevKit-2.1_DeveloperGuide
照步驟做把X-Boot、U-Boot、Kernel、Android RFS 編譯好之後,在網頁下方中
有個步驟是 "Create root filesystem tarball"這TAR包準備要放入SD卡中RFS,
把這TAR包解壓到你所想要的Ubuntu目錄裡,如:/home/Anderson/xxxx/nfs 中
以及製作好的開機用SD卡,裏頭有包含三個分割區 rootfs、 boot 、data。
2.設定Ubuntu上的NFS
先下載NFS
~# sudo apt-get install nfs-kernel-server
~# vi /etc/export/
依據你所設定的路徑加入
/home/Anderson/xxxx/nfs *(rw,sync,no_root_squash,no_subtree_check)
之後執行
~# sudo/etc/init.d/portmap start
~# sudo/etc/init.d/nfs-common start
~# sudo/etc/init.d/nfs-kernel-server start
3. 再來是設定BeagleBoard端的NFS
先確認 TI-Android-Gingerbread_2.3.4 /kernel/中的NFS是否有開啟
檢查方法 make menuconfig
File system --->
[*] Network File Systems --->
<*> NFS client support
[*] NFS client support for NFS version 3
[*] NFS client support for NFS version 4
[*] Root file system on NFS
再次編譯好再把uImage 檔放入SD卡中boot分割區,
此時boot 分割區有 boot.scr 、MLO 、u-boot.bin、uImage四個檔案,
先說明下beagle board的開機流程,為X-loader 、u-boot 接下來 u-boot會根據
boot.scr裡的內容作為開機的內容,例如:從SD卡中哪個區塊中讀出 Linux Kernel
所以首先要更改 boot.scr 中設定。
4.設定boot.scr首先要先下載 Tools.tar.gz
TI_Android_DevKit/TI_Android_GingerBread_2_3_4_DevKit_2_1
其中有 mk-bootscr/mkimage
隨便開個文件 設定開機路徑 ~# vi bb.cmd
if fatload mmc 0 82000000 uImage
then echo ***** Kernel: /dev/mmcblk0p1/uImage ****
fi
echo **** RootFS: /dev/mmcblk0p2 ****
setenv bootargs 'console=tty02,115200n8 androidboot.console=tty02 mem=256M root=/dev/nfs rw nfsroot=192.168.1.139:/home/Anderson/xxxx/nfs rootdelay=1 init=/init ip=dhcp omap_vout.vid1_static_vrfb_alloc=y vram=8M
bootm 0x82000000
此處的IP位置要設定為Ubuntu的位置, ~# ifconfig 查一下就知道惹
寫好儲存 執行
~# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "BeagleBoard" -d bb.cmd boot.scr
產生出新的 boot.scr 在取代 SD卡中boot分割區中的boot.scr,
以上步驟大致上就可以讓BeagleBoard-XM開機完成,由於XM板沒有C4板USB轉網路的困擾,所以NFS簡單很多。
沒有留言:
張貼留言