Added support for vendor partition and image
Modified fastboot to flash vendor.img as well. Moved symlink
for /vendor to occur after mounting partitions. Changed mount
to also create the mount point.
Change-Id: I78e1ba24e6bb8b4af96a67ee0569af579439e682
Signed-off-by: Daniel Rosenberg <drosen@google.com>
diff --git a/fastboot/fastboot.c b/fastboot/fastboot.c
index 9c04c21..2bf0c48 100644
--- a/fastboot/fastboot.c
+++ b/fastboot/fastboot.c
@@ -99,10 +99,11 @@
char sig_name[13];
char part_name[9];
bool is_optional;
-} images[4] = {
+} images[] = {
{"boot.img", "boot.sig", "boot", false},
{"recovery.img", "recovery.sig", "recovery", true},
{"system.img", "system.sig", "system", false},
+ {"vendor.img", "vendor.sig", "vendor", true},
{"tos.img", "tos.sig", "tos", true},
};
@@ -120,6 +121,8 @@
fn = "recovery.img";
} else if(!strcmp(item,"system")) {
fn = "system.img";
+ } else if(!strcmp(item,"vendor")) {
+ fn = "vendor.img";
} else if(!strcmp(item,"tos")) {
fn = "tos.img";
} else if(!strcmp(item,"userdata")) {
@@ -287,7 +290,7 @@
"\n"
"commands:\n"
" update <filename> reflash device from update.zip\n"
- " flashall flash boot, system, and if found,\n"
+ " flashall flash boot, system, vendor and if found,\n"
" recovery, tos\n"
" flash <partition> [ <filename> ] write a file to a flash partition\n"
" erase <partition> erase a flash partition\n"
diff --git a/fs_mgr/fs_mgr.c b/fs_mgr/fs_mgr.c
index c7a123d..4feb921 100644
--- a/fs_mgr/fs_mgr.c
+++ b/fs_mgr/fs_mgr.c
@@ -197,7 +197,8 @@
unsigned long mountflags = rec->flags;
int ret;
int save_errno;
-
+
+ mkdir(target, 0755);
ret = mount(source, target, rec->fs_type, mountflags, rec->fs_options);
save_errno = errno;
INFO("%s(source=%s,target=%s,type=%s)=%d\n", __func__, source, target, rec->fs_type, ret);
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 7d2addb..45928bb 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -38,10 +38,6 @@
symlink /system/etc /etc
symlink /sys/kernel/debug /d
- # Right now vendor lives on the same filesystem as system,
- # but someday that may change.
- symlink /system/vendor /vendor
-
# Create cgroup mount point for cpu accounting
mkdir /acct
mount cgroup none /acct cpuacct
@@ -184,6 +180,10 @@
trigger boot
on post-fs
+ # Right now vendor lives on the same filesystem as system,
+ # but someday that may change. If it has, this symlink will fail.
+ symlink /system/vendor /vendor
+
# once everything is setup, no need to modify /
mount rootfs rootfs / ro remount
# mount shared so changes propagate into child namespaces