init.rc usage example: mount vfat mmc@blk1p3 /mnt/sdcard2 --- init/builtins.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/init/builtins.c b/init/builtins.c index e0ccf9f..32d9d7f 100644 --- a/init/builtins.c +++ b/init/builtins.c @@ -356,6 +356,16 @@ int do_mount(int nargs, char **args) close(fd); ERROR("out of loopback devices"); return -1; + } else if (!strncmp(source, "mmc@blk", 7)) { + sprintf(tmp, "/dev/block/mmcblk%s", source + 7); + + if (wait) + wait_for_file(tmp, COMMAND_RETRY_TIMEOUT); + if (mount(tmp, target, system, flags, options) < 0) { + return -1; + } + + return 0; } else { if (wait) wait_for_file(source, COMMAND_RETRY_TIMEOUT);
On Wed, Feb 23, 2011 at 10:45 AM, Jim Huang jim.huang@linaro.org wrote:
init.rc usage example: mount vfat mmc@blk1p3 /mnt/sdcard2
this feels like a weird split of the device name with mmc before and blk1 after the @. especially if you look how its used with mtd@FSNAME
how about using mmcblkX@FSNAME or even mmc@uuid:UUID ?
init/builtins.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/init/builtins.c b/init/builtins.c index e0ccf9f..32d9d7f 100644 --- a/init/builtins.c +++ b/init/builtins.c @@ -356,6 +356,16 @@ int do_mount(int nargs, char **args) close(fd); ERROR("out of loopback devices"); return -1;
- } else if (!strncmp(source, "mmc@blk", 7)) {
- sprintf(tmp, "/dev/block/mmcblk%s", source + 7);
- if (wait)
- wait_for_file(tmp, COMMAND_RETRY_TIMEOUT);
- if (mount(tmp, target, system, flags, options) < 0) {
- return -1;
- }
- return 0;
} else { if (wait) wait_for_file(source, COMMAND_RETRY_TIMEOUT); -- 1.7.2.3
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On 23 February 2011 20:58, Alexander Sack asac@linaro.org wrote:
On Wed, Feb 23, 2011 at 10:45 AM, Jim Huang jim.huang@linaro.org wrote:
init.rc usage example: mount vfat mmc@blk1p3 /mnt/sdcard2
this feels like a weird split of the device name with mmc before and blk1 after the @. especially if you look how its used with mtd@FSNAME
how about using mmcblkX@FSNAME or even mmc@uuid:UUID ?
Initially, I wanted to support find-by-name as device/samsung/crespo/init.herring.rc does in Android 2.3:
mount ext4 /dev/block/platform/s3c-sdhci.0/by-name/system /system wait ro
So, the naming scheme is followed as mmc@system. However, I have to consider the label attribute about different file system implementations, and the similar functionality like 'blkid' must exist in order to take care about find-by-name. Since /init is statically-linked, no other libraries should be imported, we should always keep it compact.
Therefore, considering the backward compatibility, I take "mmc@blk1p3" now, and it can become "mmc@system" in next patches once the facility is implemented.
Yes, I agree with you. It looks weird, but we should consider the consistency: mmc, mtd, loop, etc. "mmcblk" has different meaning rather than "mmc" as far as I know.
I have no idea about the naming, and I would just focus on how to implement a generic approach to mount each MMC partition in early Android userspace.
Thanks for your input.
-jserv
init/builtins.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/init/builtins.c b/init/builtins.c index e0ccf9f..32d9d7f 100644 --- a/init/builtins.c +++ b/init/builtins.c @@ -356,6 +356,16 @@ int do_mount(int nargs, char **args) close(fd); ERROR("out of loopback devices"); return -1;
- } else if (!strncmp(source, "mmc@blk", 7)) {
- sprintf(tmp, "/dev/block/mmcblk%s", source + 7);
- if (wait)
- wait_for_file(tmp, COMMAND_RETRY_TIMEOUT);
- if (mount(tmp, target, system, flags, options) < 0) {
- return -1;
- }
- return 0;
} else { if (wait) wait_for_file(source, COMMAND_RETRY_TIMEOUT); -- 1.7.2.3