fish.zou

    1. 好像没错呀,我查看了2.3的源码,init.rc确实是从init_sdmmc.rc里面转过来的。我现在这个版本4.0.4是这样定义的: ifeq ($(BOARD_SDMMC_BSP),true) source_init_rc_file := $(LOCAL_PATH)/init.smdkv210_sdmmc.rc else source_init_rc_file := $(LOCAL_PATH)/init.smdkv210.rc endif PRODUCT_COPY_FILES := \ $(source_init_rc_file):root/init.smdkv210.rc \ 而且init.smdkv210_sdmmc.rc文件比init.rc文件少了很多内容,这样我就试着将init.rc中on fs部分修改成mount /dev/blkmmc0p2 /system这样。结果还是不行,同样还是找不到ramdisk。 Freeing init memory: 176K init: /init.rc: 435: invalid option 'symlink' init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead. init: cannot open '/initlogo.rle' EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) EXT4-fs (mmcblk0p3): recovery complete EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) EXT4-fs (mmcblk0p4): recovery complete EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null) init: cannot find '/system/bin/servicemanager', disabling 'servicemanager' init: cannot find '/system/bin/vold', disabling 'vold' init: cannot find '/system/vendor/bin/pvrsrvinit', disabling 'pvrsrvinit' init: cannot find '/system/bin/netd', disabling 'netd' init: cannot find '/system/bin/debuggerd', disabling 'debuggerd' init: cannot find '/system/bin/rild', disabling 'ril-daemon' init: cannot find '/system/bin/surfaceflinger', disabling 'surfaceflinger' init: cannot find '/system/bin/app_process', disabling 'zygote' init: cannot find '/system/bin/drmserver', disabling 'drm' mfc_firmware_request_complete_handler: failed to load MFC F/W, MFC will not working init: cannot find '/system/bin/mediaserver', disabling 'media' init: cannot find '/system/bin/dbus-daemon', disabling 'dbus' init: cannot find '/system/bin/installd', disabling 'installd' init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery' init: cannot find '/system/bin/keystore', disabling 'keystore' init: property (null) has no value for writing to /sys/class/android_usb/android0/iManufacturer init: property (null) has no value for writing to /sys/class/android_usb/android0/iProduct init: cannot find '/system/bin/sh', disabling 'console' android_usb: already disabled adb_bind_config warning: `adbd' uses 32-bit capabilities (legacy support in use) android_work: did not send uevent (0 0   (null)) adb_open android_work: sent uevent USB_STATE=CONNECTED android_usb gadget: high speed config #1: android android_work: sent uevent USB_STATE=CONFIGURE 直接将init.rc用替换init.smdkv_sdmmc.rc,也起不来。
    2. 我编译出来的源码,out/target/product/smdkv210/root/ 有一个init.rc还有一个是init.smdkv210.rc.  其中init.rc是system/core/rootdir/下面的init.rc转过来的,init.smdkv210.rc是device/下 init.smdkv210_sdmmc.rc转过来的,这样应该是没有问题的呀。 我试过将init.rc里面关于mount fs这段修改成我上面说的那种 mount /dev/mmcblk0p2 /system这种形式,就不会存在: yaffs: dev is 32505860 name is "mtdblock4" rw yaffs: yaffs: Attempting MTD mount of 31.4,"mtdblock4" yaffs: yaffs_read_super: is_checkpointed 1 yaffs: dev is 32505862 name is "mtdblock6" rw yaffs: yaffs: Attempting MTD mount of 31.6,"mtdblock6" yaffs: yaffs_read_super: is_checkpointed 0 yaffs: dev is 32505861 name is "mtdblock5" rw yaffs: yaffs: Attempting MTD mount of 31.5,"mtdblock5" yaffs: yaffs_read_super: is_checkpointed 0 这种信息。 一旦还原的话,就会存在。 需不需要有传递给kernel的参数?像这样的 CONFIG_BOOTARGS  root=/dev/mmcblk0p2
    3. 我现在的system.img,不是mkyaffs2image编译出来的,应该是mk_ext4这个编译出来的,具体我没深究这个,因为现在直接用file命令查看很容易就看出它是不是ext4格式的,至于楼主您说的ramdisk还是yaffs格式的,这个我还真不会看,因为我烧进sd卡中的也是ramdisk-uboot.img.  file 命令查看这个ramdisk-uboot.img好像也是对的,怎么样才能确定ramdisk也做成了ext4格式的呢?:Cry:
    4. 另外,我的init.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 ext4 /dev/mmcblk0p2 /system     chown root /system/bin/pppd     chmod 4755 /system/bin/pppd     chmod 0755 /system/lib/libztewcdma-ril.so         mount ext4 /dev/mmcblk0p2 /system ro remount         mount ext4 /dev/mmcblk0p3 /data nosuid nodev         mount ext4 /dev/mmcblk0p4 /cache nosuid nodev     #mount yaffs2 mtd@system /system ro remount     #mount yaffs2 mtd@userdata /data nosuid nodev     #mount yaffs2 mtd@cache /cache nosuid nodev
    5. 版主啊,现在按你的方法试了,还是挂载不上文件系统。以前的yaffs2已经没有了,证明system.img已经是ext4格式的,并且file 查看也正确。但是报错如下: Freeing init memory: 176K init: /init.rc: 422: invalid option 'symlink' init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead. init: cannot open '/initlogo.rle' EXT4-fs (mmcblk0p2): recovery complete EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) EXT4-fs (mmcblk0p3): recovery complete EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) EXT4-fs (mmcblk0p4): recovery complete EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null) init: cannot find '/system/bin/servicemanager', disabling 'servicemanager' init: cannot find '/system/bin/vold', disabling 'vold' init: cannot find '/system/vendor/bin/pvrsrvinit', disabling 'pvrsrvinit' init: cannot find '/system/bin/netd', disabling 'netd' init: cannot find '/system/bin/debuggerd', disabling 'debuggerd' init: cannot find '/system/bin/rild', disabling 'ril-daemon' init: cannot find '/system/bin/surfaceflinger', disabling 'surfaceflinger' init: cannot find '/system/bin/app_process', disabling 'zygote' init: cannot find '/system/bin/drmserver', disabling 'drm' init: cannot find '/system/bin/mediaserver', disabling 'media' init: cannot find '/system/bin/dbus-daemon', disabling 'dbus' init: cannot find '/system/bin/installd', disabling 'installd' init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery' mfc_firmware_request_complete_handler: failed to load MFC F/W, MFC will not working init: cannot find '/system/bin/keystore', disabling 'keystore' init: property (null) has no value for writing to /sys/class/android_usb/android0/iManufacturer init: property (null) has no value for writing to /sys/class/android_usb/android0/iProduct init: cannot find '/system/bin/sh', disabling 'console' android_usb: already disabled adb_bind_config warning: `adbd' uses 32-bit capabilities (legacy support in use) android_work: did not send uevent (0 0   (null)) adb_open android_work: sent uevent USB_STATE=CONNECTED android_usb gadget: high speed config #1: android android_work: sent uevent USB_STATE=CONFIGURED 是我的分区问题吗?又该如何分区呢?
    6. Android4.0 system.img制作请教 2/4189 Linux开发 2013-06-06
      可是我重新打包的system.img并没有修改驱动方面的东西呀,即使对于生成的out/target/product/smdkv210/system/ 这个目录,什么都不作修改,用mkyaffs2image工具重新打包成system.img,下到板子上,就会出错。
    7. 嗯~谢谢版主。 另外我还有别的一个问题想请教一下,用的android4.0系统编译出来的system能够正常跑,但是我将system重新用mkyaffs2image打包之后,系统就跑不起来了,是什么原因呢。我重新打包的时候,只是将out/target/product/smdkv210/system/usr/idc/里面的一个文件换了个名字, 即将上s3c_ts.idc换成了sis9200_i2c_touchscreen.idc. 这个文件只是和触摸屏有关的,但是重新打包之后,就出现PVR_K:(Error): BridgedDispatchKM: Driver initialisation not completed yet. [4799, drivers/gpu/pvr/bridged_pvr_bridge.c]。 用原来的就行。
    8. 好像最后4.0里面有个脚本mkusering.sh,会调用make_ext4fs这个命令,把system做成ext4格式的。我这俩天要调一个touchscreen驱动,调完了才能继续SD卡制作。还是想多向版主请教一些。你说的工具主要都是重新制作system的,但是ramdisk怎么办呢,我最头痛的是ramdisk,看别人工具里都mkext3image这样的工具,我这源码里只有mkyaffs2image。 还有我的uboot好像确实是比较老1.3.4版本的,里面的命令找不到ext4format,只有ext2和ext3,这样应该能通过吧,因为内核选项里有use ext4 for ext2 and ext3.
    9. system 6M的肯定起不来呀,可能就像版主说的,2.3的系统存在问题,还是什么的。
    10. 谢谢版主的解答,我的uboot分区已经是更改了的,原来应该是250M的,但是我用android4.0系统编译出来的system有260M,所以就改了这个: #ifdef CONFIG_S5PC110 //#define                SYSTEM_PART_SIZE                (256*1024*1024) #define                SYSTEM_PART_SIZE                (384*1024*1024) #else #define                SYSTEM_PART_SIZE                (384*1024*1024) #endif //#define                USER_DATA_PART_SIZE                (350*1024*1024)        #define                USER_DATA_PART_SIZE                (322*1024*1024)        另外版主说的2.3.1这个版本有问题,给了我一个安慰。因为我用这个版本用制作SD卡镜像的这种方式编译出来的system只有6M。 制作SD卡镜像ramdisk一定要用ext2格式的吗? ramdisk好像是脚本里面自动生成的,制作起来好像也比较麻烦。能不能给点方法怎么去处理?
    11. 按着版主的说法做了 erase userdata和cache,可是erase system会报错,找不到这个分区。还有把镜像重新打包成ext2格式,这个镜像是ramdisk,而不是system.img? 另外我还想问的就是:把系统制作在sd卡中,其实android代码里就是打开这个宏就可以了,BOARD_SDMMC_BSP := true.还是需要有别的改动? Freeing init memory: 176K init: /init.rc: 418: invalid option 'symlink' init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instea d. init: cannot open '/initlogo.rle' yaffs: dev is 32505860 name is "mtdblock4" rw yaffs: yaffs: Attempting MTD mount of 31.4,"mtdblock4" yaffs: yaffs_read_super: is_checkpointed 1 yaffs: dev is 32505862 name is "mtdblock6" rw yaffs: yaffs: Attempting MTD mount of 31.6,"mtdblock6" yaffs: yaffs_read_super: is_checkpointed 0 yaffs: dev is 32505861 name is "mtdblock5" rw yaffs: yaffs: Attempting MTD mount of 31.5,"mtdblock5" yaffs: yaffs_read_super: is_checkpointed 0 EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) EXT4-fs (mmcblk0p3): warning: checktime reached, running e2fsck is recommended EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) EXT4-fs (mmcblk0p4): warning: checktime reached, running e2fsck is recommended EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null) init: cannot find '/system/bin/servicemanager', disabling 'servicemanager' init: cannot find '/system/bin/vold', disabling 'vold' init: cannot find '/system/vendor/bin/pvrsrvinit', disabling 'pvrsrvinit' init: cannot find '/system/bin/netd', disabling 'netd' init: cannot find '/system/bin/netd', disabling 'netd' init: cannot find '/system/bin/rild', disabling 'ril-daemon' init: cannot find '/system/bin/surfaceflinger', disabling 'surfaceflinger' init: cannot find '/system/bin/app_process', disabling 'zygote' init: cannot find '/system/bin/drmserver', disabling 'drm' init: cannot find '/system/bin/mediaserver', disabling 'media' init: cannot find '/system/bin/dbus-daemon', disabling 'dbus' init: cannot find '/system/bin/installd', disabling 'installd' init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery' init: cannot find '/system/bin/keystore', disabling 'keystore' init: property (null) has no value for writing to /sys/class/android_usb/android 0/iManufacturer init: property (null) has no value for writing to /sys/class/android_usb/android 0/iProduct init: cannot find '/system/bin/sh', disabling 'console' mfc_firmware_request_complete_handler: failed to load MFC F/W, MFC will not work ing android_usb: already disabled adb_bind_config adb_open android_work: did not send uevent (0 0   (null)) android_work: sent uevent USB_STATE=CONNECTED android_usb gadget: high speed config #1: android android_work: sent uevent USB_STATE=CONFIGURED 我的系统跑到这里就死掉了,应该还是文件系统没做好,不知道什么原因。
    12. 你好,楼主,我现在正好也在做这个sd卡,同样是android文件系统起不来,kernel和uboot都正常,能不能给点指导啊?

最近访客

< 1/1 >

统计信息

已有159人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:12

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言