修改init rc文件,把mount时的ro熟悉换成rw就可以了 mount rootfs rootfs / ro remount 换成 mount rootfs rootfs / rw remount然后重做固件烧写进去。
在串口运行:mount -o remount rw /system也可以,这样不用改Kernel。
直接修改init.rc下 RO 改成RW
# mount mtd partitions # Mount /system rw first to give the filesystem a chance to save a checkpoint mount ext4 /dev/block/mmcblk0p2 /system # mount ext4 /dev/block/mmcblk0p2 /system ro wait remount mount ext4 /dev/block/mmcblk0p3 /data wait nosuid nodev noatime mount ext4 /dev/block/mmcblk0p4 /cache nosuid nodev noatimeon post-fs # once everything is setup, no need to modify / mount rootfs rootfs / ro remount
一般内核都支持YAFFS和EXT4文件格式,这个在配置内核的时候可选
这个 init.rc 文件在什么位置?我搜到以下文件$ find -name "init.rc" -print ./device/fsl/imx5x/init.rc ./device/fsl/imx50_evk/init.rc ./device/fsl/imx53_ard/init.rc ./device/fsl/imx37_3stack/init.rc ./device/fsl/imx53_evk/init.rc ./device/fsl/imx31_3stack/init.rc ./device/fsl/imx51_bbg/init.rc ./device/fsl/imx53_smd/init.rc ./device/fsl/imx51_3stack/init.rc ./system/core/rootdir/init.rc ./build/target/board/generic_x86/init.rc ./bootable/recovery/etc/init.rc ./bootable/diskinstaller/init.rc ./out/target/product/imx51_bbg/root/init.rc 修改后,还是不能成为 rw 的 rootfs. 板子跑起来后,/init.rc 文件里 rootfs 部分仍为 ro on post-fs # once everything is setup, no need to modify / mount rootfs rootfs / ro remount那板子里的 /init.rc 这个文件是怎么生成的?
mount -o remount -rw rootfs /system/
这个方法可行 # # # mount -o remount rw /system EXT4-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) # # #
mount -o remount -rw rootfs /system/ 这样应该行吧,这个是纯的LINUX的操作。
这个文件修改后,还是 ro 状态。 编译的时候有什么要特别注意的地方吗?如果只是要重新生成 system.img, 有没有简易命令,我是按 doc 里的命令,如下: make PRODUCT-imx51_bbg-eng 2>&1 tee build_imx51_bbg_android.log
mount rootfs rootfs / ro remount
换成
mount rootfs rootfs / rw remount然后重做固件烧写进去。
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount ext4 /dev/block/mmcblk0p2 /system
# mount ext4 /dev/block/mmcblk0p2 /system ro wait remount
mount ext4 /dev/block/mmcblk0p3 /data wait nosuid nodev noatime
mount ext4 /dev/block/mmcblk0p4 /cache nosuid nodev noatimeon post-fs
# once everything is setup, no need to modify /
mount rootfs rootfs / ro remount
这个 init.rc 文件在什么位置?我搜到以下文件$ find -name "init.rc" -print
./device/fsl/imx5x/init.rc
./device/fsl/imx50_evk/init.rc
./device/fsl/imx53_ard/init.rc
./device/fsl/imx37_3stack/init.rc
./device/fsl/imx53_evk/init.rc
./device/fsl/imx31_3stack/init.rc
./device/fsl/imx51_bbg/init.rc
./device/fsl/imx53_smd/init.rc
./device/fsl/imx51_3stack/init.rc
./system/core/rootdir/init.rc
./build/target/board/generic_x86/init.rc
./bootable/recovery/etc/init.rc
./bootable/diskinstaller/init.rc
./out/target/product/imx51_bbg/root/init.rc
修改后,还是不能成为 rw 的 rootfs.
板子跑起来后,/init.rc 文件里 rootfs 部分仍为 ro
on post-fs
# once everything is setup, no need to modify /
mount rootfs rootfs / ro remount那板子里的 /init.rc 这个文件是怎么生成的?
这个方法可行
#
#
# mount -o remount rw /system
EXT4-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
#
#
#
这样应该行吧,这个是纯的LINUX的操作。
编译的时候有什么要特别注意的地方吗?如果只是要重新生成 system.img, 有没有简易命令,我是按 doc 里的命令,如下:
make PRODUCT-imx51_bbg-eng 2>&1 tee build_imx51_bbg_android.log
./system/core/rootdir/init.rc将这两个文件改了。从你的out目录来看,你用的init.rc是
./device/fsl/imx51_bbg/init.rc
./system/core/rootdir/init.rc
是android的原始init rc文件。