主题 : TINY4412:请问如何用nfs来引导android。 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 112056
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2015-01-15
最后登录: 2015-02-08
楼主  发表于: 2015-01-17 15:05

 TINY4412:请问如何用nfs来引导android。

TINY4412:请问如何用nfs来引导android。

问题:
我打开了linux用来支持nfs启动android。并且制作了一个android的文件系统
但是机器出现 nfs: server <server ip> not responding, still trying 的问题。

我怀疑的地方有两个:
1. android的文件系统的制作:
我将./system的内容,拷贝到了./root/system的下面。
这个是否正确?

2. bootargs的设定:
我的设定为:
bootargs=root=/dev/nfs nfsroot=192.168.200.27:/opt/fs-412  ip=192.168.200.127:192.168.200.27:192.168.200.27:255.255.255.0:ARM:eth0:off init=/init console=ttySAC0,115200 lcd=S70 androidboot.console=ttySAC0,115200
这个是否正确?

问题表现:
[    7.467950] Link Status is: 1
[    7.473141] dm9620 1-2.2:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[    7.477579] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    7.483877] link_reset() speed: 10 duplex: 0
[    7.490178] IP-Config: Complete:
[    7.490215]      device=eth0, addr=192.168.200.127, mask=255.255.255.0, gw=192.168.200.27,
[    7.490304]      host=ARM, domain=, nis-domain=(none),
[    7.490357]      bootserver=192.168.200.27, rootserver=192.168.200.27, rootpath=
[    7.503898] VFS: Mounted root (nfs filesystem) on device 0:12.
[    7.504028] Freeing init memory: 324K
[    7.671320] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
[    8.119309] MFC F/W loaded successfully (size: 376448)
[    8.138664] init: cannot open '/initlogo.rle'
[    9.846492] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    9.860116] EXT4-fs (mmcblk0p4): warning: checktime reached, running e2fsck is recommended
[    9.862223] EXT4-fs (mmcblk0p4): recovery complete
[    9.864219] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=panic
[    9.937098] EXT4-fs (mmcblk0p3): recovery complete
[    9.937941] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,noauto_da_alloc,errors=panic
[   10.101541] init: service 'console' requires console
[   10.595459] adb_open
[   10.595869] DUN is registerd
[   10.595941] adb_bind_config
[   10.664698] init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
[   10.772497] warning: `rild' uses 32-bit capabilities (legacy support in use)
[   10.874084] FriendlyARM http://www.arm9.net
[   11.003026] asoc: wm8960-hifi <-> samsung-i2s.0 mapping ok
[   11.003400] asoc: wm8960-hifi <-> samsung-i2s.4 mapping ok
[   11.169674] s3c-fimc3: FIMC3 1 opened.
[   11.669864] [HPD_IF] s5p_hpd_ioctl: HPD status is unplugged
[   11.733185] s3cfb s3cfb.0: [fb3] win0: Alloc dma: 0x6bcc6000, size: 0x002ee000
[   11.733277] s3cfb s3cfb.0: [fb4] win1: Alloc dma: 0x6bfb4000, size: 0x002ee000
[   11.733375] s3c-fimc3: FIMC3 2 opened.
[   18.280234] s3c-usbgadget s3c-usbgadget: usb phy usage(22)
[   18.280324] s3c-usbgadget s3c-usbgadget: Already power on PHY
[   18.601757] android_usb gadget: high speed config #1: android
[   19.900182] nfs: server 192.168.200.27 not responding, still trying        # 停在这了。


host系统为:
CENTOS 6.5

linux:
3.0.31

android:
4.1.2

target板子配置为:
TINY4412 1306
TINY4412SDK 1312
级别: 新手上路
UID: 112056
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2015-01-15
最后登录: 2015-02-08
1楼  发表于: 2015-01-19 20:12
如果直接将内核mount 到一linux的nfs上,是可以正常工作的。那么就排除了 内核的问题。
可能跟android 的init有关。
请问有什么好的测试方法呢?
级别: 新手上路
UID: 112056
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2015-01-15
最后登录: 2015-02-08
2楼  发表于: 2015-01-21 16:08
去除了android从定向后:
发现以下问题
iptables v1.4.11.1: Couldn't find target `natctrl_FORWARD'                # issue(id5): iptables no target "natctrl_FORWARD"
iptables v1.4.11.1: Couldn't find target `natctrl_nat_POSTROUTING'            # issue(id6): iptables no target "natctrl_nat_POSTROUTING"


Log file:
[    7.742553] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    7.746059] dm9620 1-2.2:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[    7.752850] link_reset() speed: 10 duplex: 0
[    7.755254] IP-Config: Complete:
[    7.755296]      device=eth0, addr=192.168.200.127, mask=255.255.255.0, gw=192.168.200.27,
[    7.755397]      host=ARM, domain=, nis-domain=(none),
[    7.755457]      bootserver=192.168.200.27, rootserver=192.168.200.27, rootpath=
[    8.961786] VFS: Mounted root (nfs filesystem) on device 0:12.
[    8.962261] Freeing init memory: 328K
[ import /init.${ro.hardware}.rc ]
[ import /init.usb.rc ]
[ import /init.trace.rc ]
[ on early-init ]
[ on init ]
[ on fs ]
[ on post-fs ]
[ on post-fs-data ]
[ on boot ]
[ on property:init.svc.tscal=stopped ]
[ on nonencrypted ]
[ on charger ]
[ on property:vold.decrypt=trigger_reset_main ]
[ on property:vold.decrypt=trigger_load_persist_props ]
[ on property:vold.decrypt=trigger_post_fs_data ]
[ on property:vold.decrypt=trigger_restart_min_framework ]
[ on property:vold.decrypt=trigger_restart_framework ]
[ on property:vold.decrypt=trigger_shutdown_framework ]
[ service ueventd ]
[ service console ]
[ on property:ro.debuggable=1 ]
[ service tscal ]
[ service tsd ]
[ service adbd ]
[ on property:ro.kernel.qemu=1 ]
[ on property:persist.service.adb.enable=1 ]
[ on property:persist.service.adb.enable=0 ]
[ service vncserver ]
[ on property:ro.autorun.vncserver=1 ]
[ service servicemanager ]
[ service vold ]
[ service netd ]
[ service debuggerd ]
[ service ril-daemon ]
[ on property:ril.reset.rild=1 ]
[ service pppd_gprs ]
[ service surfaceflinger ]
[ service zygote ]
[ service drm ]
[ service media ]
[ service bootanim ]
[ service dbus ]
[ service bluetoothd ]
[ service installd ]
[ service flash_recovery ]
[ service racoon ]
[ service mtpd ]
[ service keystore ]
[ service dumpstate ]
[ service sshd ]
[ service mdnsd ]
[ import init.tiny4412.usb.rc ]
[ on init ]
[ on post-fs-data ]
[ on boot ]
[ on fs ]
[ service setup_fs ]
[ service tiny4412-setup ]
[ service wpa_supplicant ]
[ service dhcpcd_wlan0 ]
[ service iprenew_wlan0 ]
[ service p2p_supplicant ]
[ service dhcpcd_p2p ]
[ service iprenew_p2p ]
[ service dhcpcd_eth0 ]
[ service iprenew_eth0 ]
[ service sdcard ]
[ on boot ]
[ on property:sys.usb.config=mtp ]
[ on property:sys.usb.config=mtp,adb ]
[ on property:sys.usb.config=rndis ]
[ on property:sys.usb.config=rn[    9.518306] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj        instead.
dis,adb ]
[ on property:sys.usb.config=ptp ]
[ on property:sys.usb.config=ptp,adb ]
[ on post-fs-data ]
[ on property:sys.usb.config=none ]
[ on property:sys.usb.config=adb ]
[ on property:sys.usb.config=accessory ]
[ on property:sys.usb.config=accessory,adb ]
[ on property:sys.usb.config=audio_source ]
[ on property:sys.usb.config=audio_source,adb ]
[ on property:sys.usb.config=accessory,audio_source ]
[ on property:sys.usb.config=accessory,audio_source,adb ]
[ on property:persist.sys.usb.config=* ]
[ on boot ]
[   14.008759] init: Timed out waiting for /dev/.coldboot_done
[   18.280316] s3c-usbgadget s3c-usbgadget: usb phy usage(22)
[   18.280427] s3c-usbgadget s3c-usbgadget: Already power on PHY
[   19.002346] fs_mgr: Cannot mount filesystem on /dev/block/mmcblk0p2 at /system    # issue(id3): not partition
[   19.002520] init: fs_mgr_mount_all returned an error                        # issue(id3)
[   19.050568] init: Unable to open persistent property directory /data/property errno: 2    # issue(id3)
[   19.190289] init: service 'console' requires console                    # issue(id1): not console
Cannot create parent ptty    
Cannot create parent ptty
[   20.091678] init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'    
binder: cannot open device (No such file or directory)                    # issue(id2): no file '/system/etc/install-recovery.sh'
[   20.256944] init: untracked pid 1209 exited
[   20.257139] init: untracked pid 1210 exited
[   20.309168] init: untracked pid 1208 exited
[   20.334907] init: untracked pid 1207 exited
not a block device name: /dev/block/mmcblk0p3                        # issue(id3): not block device
not a block device name: /dev/block/mmcblk0p4
[   22.748609] warning: `rild' uses 32-bit capabilities (legacy support in use)        # issue(id4): rild need lib
dlopen failed: Cannot load library: load_library[1093]: Library '/system/lib/libzte-ril.so' not found    #issue(id4): no lib "/system/lib/libzte-ril.so"
[   23.505947] FriendlyARM http://www.arm9.net
[   23.641653] asoc: wm8960-hifi <-> samsung-i2s.0 mapping ok
[   23.642015] asoc: wm8960-hifi <-> samsung-i2s.4 mapping ok
oops: No such file or directory            
iptables v1.4.11.1: Couldn't find target `natctrl_FORWARD'                # issue(id5): iptables no target "natctrl_FORWARD"

Try `iptables -h' or 'iptables --help' for more information.                # issue(id5)
binder: cannot open device (No such file or directory)                    # issue(id5)
iptables: No chain/target/match by that name.                        # issue(id5)
[   25.522056] init: untracked pid 1214 exited
[   25.522185] init: untracked pid 1216 exited
[   25.522295] init: untracked pid 1217 exited
[   25.522410] init: untracked pid 1219 exited
dlopen failed: Cannot load library: load_library[1093]: Library '/system/lib/libzte-ril.so' not found  # issue(id4)
iptables v1.4.11.1: Couldn't find target `natctrl_nat_POSTROUTING'            # issue(id6): iptables no target "natctrl_nat_POSTROUTING"

Try `iptables -h' or 'iptables --help' for more information.                # issue(id6)
iptables: No chain/target/match by that name.                        # issue(id6)
[   26.112130] rtw driver version=v3.4.4_4749.20121105
[   26.112188] Build at: Jul  9 2014 20:31:16
[   26.112877] usbcore: registered new interface driver rtl8192cu
[   26.256190] Compat-drivers backport release: compat-drivers-v3.8.3-2-snpu
[   26.256277] Backport based on linux-stable.git v3.8.3
[   26.256338] compat.git: linux-stable.git
[   27.549384] cfg80211: Calling CRDA to update world regulatory domain
[   36.670222] nfs: server 192.168.200.27 not responding, still trying
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
3楼  发表于: 2015-01-23 15:15
不建议采用 NFS 来启动 Android。
主要是因为 Android 的 init 有其特别的处理,同时还有权限的问题,这些都会影响到 Android 的启动。
级别: 新手上路
UID: 73281
精华: 0
发帖: 19
金钱: 100 两
威望: 20 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2012-07-06
最后登录: 2015-04-13
4楼  发表于: 2015-01-28 19:45
[    9.846492] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    9.860116] EXT4-fs (mmcblk0p4): warning: checktime reached, running e2fsck is recommended
[    9.862223] EXT4-fs (mmcblk0p4): recovery complete
[    9.864219] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=panic
[    9.937098] EXT4-fs (mmcblk0p3): recovery complete
[    9.937941] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,noauto_da_alloc,errors=panic


这个地方,考虑 fstab.tiny4412问题

我也卡在这里

请加我qq  307---29 ---776  一起解决。
级别: 新手上路
UID: 73281
精华: 0
发帖: 19
金钱: 100 两
威望: 20 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2012-07-06
最后登录: 2015-04-13
5楼  发表于: 2015-01-28 19:47
是否友善的内核,本身就对rootnfs不支持?
级别: 新手上路
UID: 95812
精华: 0
发帖: 45
金钱: 225 两
威望: 45 点
贡献值: 0 点
综合积分: 90 分
注册时间: 2013-08-26
最后登录: 2019-03-08
6楼  发表于: 2015-06-29 09:10

 回 4楼(pyongyang) 的帖子

这个问题解决了吗?
级别: 新手上路
UID: 115620
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
贡献值: 0 点
综合积分: 14 分
注册时间: 2015-05-21
最后登录: 2015-07-21
7楼  发表于: 2015-06-29 10:38
我正打算这么做,但我之前做过。
1. kernel配置为支持nfs
2. bootarags中挂载根文件系统
3. init.rc中nfs挂载system/, data/