方法一: 将他们制作成文件系然后统烧写到板子的存储分区上,
最后将该分区上的文件系统挂载到指定目录即可
请查看init.rc 就知道了
on emmc
mkdir /system
mkdir /data 0771 system system
mkdir /persist 0771 system system
devwait /dev/block/mmcblk0p12
mount ext3 /dev/block/mmcblk0p12 /system ro
devwait /dev/block/mmcblk0p13
exec /system/bin/e2fsck -p /dev/block/mmcblk0p13
mount ext3 /dev/block/mmcblk0p13 /data nosuid nodev
mount ext3 /dev/block/mmcblk0p14 /persist nosuid nodevon nand
mkdir /system
mkdir /data 0771 system system
mkdir /persist 0771 system system
# 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@persist /persist nosuid nodev
从以上即可知道。
方法二:通过NFS将主机上的文件系统挂载到板子上
1. 板子上的 nfs 要启动起来(在kernl的文件系统有支持: /android/kernel/fs)
2. 首先定义一个执行mount的脚本,我把它位于/system/etc/mount_nfs.sh
如常见的工具通过busybox生成之后,可以通过以下方式挂载到指定的目录即可用
#!/system/bin/sh
/system/bin/busybox mount -o rw,nolock -t nfs 192.168.1.6:/nfs_srv /data/mnt
而我们想在是要将文件系统 ramdisk, system, userdata挂载;
#!/system/bin/sh
out/target/product/littleton/root/ 内核需要使用的 initramfs
out/target/product/littleton/system 文件系统的系统分区
out/target/product/littleton/data/ 文件系统数据分区
mount out/target/product/littleton/system/ /system
mount out/target/product/littleton/data/ /data
而对于根文件系统ramdisk需要
Device Drivers ---> Block devices ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
General setup ---> () Initramfs source file(s),回车然后输入initframfs目录的绝对路径.
如:out/target/product/m1ref/root/
3. 通过服务启动该脚本
在init.rc中加入一个Service定义,定义如下:
service mount_nfs /system/etc/mount_nfs.sh
oneshot
disabled
4. 修改init.rc
可以将mount 文件系统的几条命令修改掉
从方法二可以知道;要想开机后就做什么动作在init.rc中修改,如果是脚本则需要启动一个服务来启动它即可