aboutsummaryrefslogtreecommitdiffstats
path: root/mmcutils
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2011-01-02 22:54:31 -0800
committerKoushik Dutta <koushd@gmail.com>2011-01-02 22:54:31 -0800
commitb4c5fd63050bd1cc44adc14fb29007def9974bbe (patch)
tree17bff1f3654503ab55f01024527cc18dfe69eb1d /mmcutils
parent9f52e5f23b0eaf24cb5acd10d3c0c0af4d2c6727 (diff)
downloadbootable_recovery-b4c5fd63050bd1cc44adc14fb29007def9974bbe.zip
bootable_recovery-b4c5fd63050bd1cc44adc14fb29007def9974bbe.tar.gz
bootable_recovery-b4c5fd63050bd1cc44adc14fb29007def9974bbe.tar.bz2
Support for ext2 and ext3 update-binary.
Change-Id: Ide34392bd8ac56878aa3e992b275a39d6b6bc7cf
Diffstat (limited to 'mmcutils')
-rw-r--r--mmcutils/mmcutils.c31
-rw-r--r--mmcutils/mmcutils.h3
2 files changed, 31 insertions, 3 deletions
diff --git a/mmcutils/mmcutils.c b/mmcutils/mmcutils.c
index de66090..7e283ef 100644
--- a/mmcutils/mmcutils.c
+++ b/mmcutils/mmcutils.c
@@ -318,9 +318,7 @@ run_exec_process ( char **argv) {
}
int
-mmc_format_ext3 (MmcPartition *partition) {
- char device[128];
- strcpy(device, partition->device_index);
+format_ext3_device (const char *device) {
// Run mke2fs
char *const mke2fs[] = {MKE2FS_BIN, "-j", device, NULL};
if(run_exec_process(mke2fs))
@@ -340,6 +338,33 @@ mmc_format_ext3 (MmcPartition *partition) {
}
int
+format_ext2_device (const char *device) {
+ // Run mke2fs
+ char *const mke2fs[] = {MKE2FS_BIN, device, NULL};
+ if(run_exec_process(mke2fs))
+ return -1;
+
+ // Run tune2fs
+ char *const tune2fs[] = {TUNE2FS_BIN, "-C", "1", device, NULL};
+ if(run_exec_process(tune2fs))
+ return -1;
+
+ // Run e2fsck
+ char *const e2fsck[] = {E2FSCK_BIN, "-fy", device, NULL};
+ if(run_exec_process(e2fsck))
+ return -1;
+
+ return 0;
+}
+
+int
+mmc_format_ext3 (MmcPartition *partition) {
+ char device[128];
+ strcpy(device, partition->device_index);
+ return format_ext3_device(device);
+}
+
+int
mmc_mount_partition(const MmcPartition *partition, const char *mount_point,
int read_only)
{
diff --git a/mmcutils/mmcutils.h b/mmcutils/mmcutils.h
index 64e5813..5b10fdc 100644
--- a/mmcutils/mmcutils.h
+++ b/mmcutils/mmcutils.h
@@ -83,6 +83,9 @@ int mmc_raw_copy (const MmcPartition *partition, char *in_file);
int mmc_raw_read (const MmcPartition *partition, char *data, int data_size);
int mmc_raw_write (const MmcPartition *partition, char *data, int data_size);
+int format_ext2_device(const char *device);
+int format_ext3_device(const char *device);
+
#endif // MMCUTILS_H_