망고보드 ICS NFS 부팅 방법
안드로이드 ICS 사용하는 망고210, 망고310, 망고4412 , 망고5250 모두 적용 가능합니다.
동작은 느리게 동작합니다.
네트워크으로 파일 시스템을 마운트해서 그렇죠.
Init.rc 파일에서
system/core/rootdir/init.rc
파일을
$ cp init.rc ../../../device/samsung/smdk4x12/conf/init_nfs.rc
$ cd ../../../device/samsung/smdk4x12/conf
$ cp init.smdk4x12.rc init.smdk4x12.nfs.rc
$ vi init_nfs.rc
수정
#on fs
# mount mtd partitions
#Mount /system rw first to give the filesystem a chance to save a checkpoint
# mount yaffs2 mtd@system /system
# mount yaffs2 mtd@system /system ro remount
# mount yaffs2 mtd@userdata /data nosuid nodev
# mount yaffs2 mtd@cache /cache nosuid nodev
on post-fs
#once everything is setup, no need to modify /
mount rootfs rootfs / rw remount
#service netd /system/bin/netd
# class main
# socket netd stream 0660 root system
# socket dnsproxyd stream 0660 root inet
]$ vi init.smdk4x12.nfs.rc
#on fs
# mount ext4 /dev/block/mmcblk0p2 /system rw wait
# mount ext4 /dev/block/mmcblk0p3 /data wait nosuid nodev noatimenomblk_io_submit,noauto_da_alloc
# mount ext4 /dev/block/mmcblk0p4 /cache wait nosuid nodev noatimenomblk_io_submit
# setprop ro.crypto.fuse_sdcard true
#service mango_service/system/etc/mango_gpio.sh
# class main
# user root
# group root
# oneshot
컴파일 후 nfsroot 자신에 맞는 디렉토리에 복사를 합니다.
$ sudo cp -r rootfs/* ~/work/nfsroot/rootfs
$ sudo chmod -R 777 ~/work/nfsroot/rootfs
$ cpdevice/samsung/smdk4x12/conf/init_nfs.rc ~//work/nfsroot/rootfs/init.rc
]$ cpdevice/samsung/smdk4x12/conf/init.smdk4x12.nfs.rc~//work/nfsroot/rootfs/init.smdk4x12.rc
커널 configuration
]$ cd kernel/
커널 설정
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_ROOT_NFS=y
CONFIG_NFSD=y
CONFIG_IP_PNP=y
File systems ---> [*] Network File Systems --->
--- Network File Systems x x
xx <*> NFS client support x x
xx [*] NFS client support for NFS version 3 x x
xx [*] NFS client support for the NFSv3 ACLprotocol extensionx x
xx [*] NFS client support for NFS version 4 x x
xx [*] NFS client support for NFSv4.1(EXPERIMENTAL) x x
xx [*] Root file system on NFS x x
xx [*] Use the legacy NFS DNS resolver x x
xx [*] Use the new idmapper upcall routine x x
xx <*> NFS server support x x
xx [*] Include support for deprecatedsyscall interface to NFSD x x
xx -*- NFS server support for NFS version 3 x x
xx [*] NFS server support for the NFSv3 ACLprotocol extensionx x
x x [*] NFS server support for NFS version 4 (EXPERIMENTAL)
그리고 드디어 부팅 아래와 같이 설정
setenv bootcmd "movi read kernel 040008000;bootm 40008000 "
setenv ipaddr 192.168.3.20; setenv serverip192.168.3.9; setenv gatewayip 192.168.3.1; setenv netmask 255.255.255.0
setenv bootargs "root=/dev/nfs rwnfsroot=192.168.3.9:/home/icanjji/work/nfsroot/rootfs,nolock init=/initip=192.168.3.20:192.168.3.9:192.168.3.1:255.255.255.0::eth0:off console=ttySAC1,115200"
내용