diff options
Diffstat (limited to 'extendedcommands.c')
-rw-r--r-- | extendedcommands.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/extendedcommands.c b/extendedcommands.c index 8bf9227..7ceed7c 100644 --- a/extendedcommands.c +++ b/extendedcommands.c @@ -1262,8 +1262,14 @@ static void partition_sdcard(const char* volume) { "256M", NULL }; + static char* partition_types[] = { "ext3", + "ext4", + NULL + }; + static char* ext_headers[] = { "Ext Size", "", NULL }; static char* swap_headers[] = { "Swap Size", "", NULL }; + static char* fstype_headers[] = {"Partition Type", "", NULL }; int ext_size = get_menu_selection(ext_headers, ext_sizes, 0, 0); if (ext_size == GO_BACK) @@ -1273,6 +1279,10 @@ static void partition_sdcard(const char* volume) { if (swap_size == GO_BACK) return; + int partition_type = get_menu_selection(fstype_headers, partition_types, 0, 0); + if (partition_type == GO_BACK) + return; + char sddevice[256]; Volume *vol = volume_for_path(volume); strcpy(sddevice, vol->device); @@ -1280,7 +1290,7 @@ static void partition_sdcard(const char* volume) { sddevice[strlen("/dev/block/mmcblkX")] = NULL; char cmd[PATH_MAX]; setenv("SDPATH", sddevice, 1); - sprintf(cmd, "sdparted -es %s -ss %s -efs ext3 -s", ext_sizes[ext_size], swap_sizes[swap_size]); + sprintf(cmd, "sdparted -es %s -ss %s -efs %s -s", ext_sizes[ext_size], swap_sizes[swap_size], partition_types[partition_type]); ui_print("Partitioning SD Card... please wait...\n"); if (0 == __system(cmd)) ui_print("Done!\n"); |