2011年5月11日 星期三

Beagleboard-XM NFS HOWTO

一般开发都事基于NFS,所以,Beagleboard-XM也不例外。

我的环境:Beagleboard-XM板子一块;laptop一台,一个USB移动硬盘,因为laptop硬盘不够大,所以,rowboat关于bb的代码和编译生成的文件系统均放在引动硬盘里面的一个分区里面。


挂载USB移动硬盘,有权限限制:

sudo umount 200-1

sudo /sbin/mount.ntfs /dev/sdb1 /media/200-1 -o rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,dmask=0022,fmask=0022

目录起码应该有755,文件有755的权限,不然可能有如下的问题

Init: cannot execve('/system/bin/keystore'): Permission denied

init: cannot execve('/system/bin/dbus-daemon'): Permission denied

其实这个事权限的问题,如果不是在外置的移动硬盘或者U盘上,直接进入NFS挂载的那个文件系统里面,chmod 777 某些bin文件就可以了,但是因为我的是移动硬盘,并且是ntfs的,所以,被限制了,所以,重新umount,然后mount上,给与足够的权限,NFS才可能正常工作。

NFS挂载分区:/media/200-1/tftpboot/rootfs/bb/froyo

froyo的代码编译过后,执行命令
“cp -a /media/200-1/lntsz/beagleboard/rowboat/froyo-dsp/froyo/out/target/product/beagleboard/root/* /media/200-1/tftpboot/rootfs/bb/froyo”

“rm -rf /media/200-1/tftpboot/rootfs/bb/froyo/system”

“mv /media/200-1/lntsz/beagleboard/rowboat/froyo-dsp/froyo/out/target/product/beagleboard/system /media/200-1/tftpboot/rootfs/bb/froyo”

“ln -s /media/200-1/tftpboot/rootfs/bb/froyo/system /media/200-1/lntsz/beagleboard/rowboat/froyo-dsp/froyo/out/target/product/beagleboard/system”

“cd /media/200-1/tftpboot/rootfs/bb/froyo”

编辑init.rc文件,把mkdir /system注释掉。


编辑笔记本上系统里面的/etc/exports 文件,在后面添加一行

/media/200-1/tftpboot/rootfs/bb/froyo *(rw,sync,no_root_squash,no_subtree_check)


最后重新启动NFS服务。

sudo /etc/init.d/nfs-kernel-server restart


BB的启动参数

touch bb

编辑bb文件,添加如下几行:

if fatload mmc 0 80200000 uImage

then

echo ***** Kernel: /dev/mmcblk0p1/uImage *****

fi

echo ***** RootFS: /dev/mmcblk0p2 *****

setenv bootargs 'console=ttyS2,115200n8 androidboot.console=ttyS2 mem=256M init=/init omap_vout.vid1_static_vrfb_alloc=y omapdss.def_disp=dvi omapfb.mode=dvi:720x480MR-16 mpurate=1000 root=/dev/nfs rw nfsroot=192.168.0.56:/media/200-1/tftpboot/rootfs/bb/froyo ip=192.168.0.59:192.168.0.1:255.255.255.0 rootdelay=1 rootwait'

bootm 0x80200000


然后执行命令

mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Beagleboard-xM boot script" -d bb boot.scr


最后把boot.scr件放到SD卡里面的boot分区,替换原来的boot.scr文件。


再未替换NFS文件系统的boot.src文件之前,一定先给BB设置固定IP192.168.0.59,不要使用dhcp。接着把sd卡取出插到电脑,替换带有NFSboot.src,插上网线,插上SD卡,重新启动BB,就可以开始NFS 开发了。


标签:NFS Beagleboard-XM boot.scr rowboat boot develop

沒有留言:

張貼留言