From 8c624670cc12ca0e0a8f0b4e6af7bc6a881d5c91 Mon Sep 17 00:00:00 2001 From: Pali Rohár Date: Sat, 24 Nov 2012 01:04:02 +0100 Subject: main: Added support for initfs version string (param -T) --- src/main.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index ed9cb4e..4600110 100644 --- a/src/main.c +++ b/src/main.c @@ -68,6 +68,7 @@ static void show_usage(void) { " -H rev change HW revision\n" " -N ver change NOLO version string\n" " -K ver change kernel version string\n" + " -T ver change initfs version string\n" " -S ver change SW release version string\n" " -C ver change content eMMC version string\n" "\n" @@ -296,7 +297,7 @@ int main(int argc, char **argv) { const char * optstring = ":" "b:rlfcx:E:e:" - "ID:U:R:F:H:K:N:S:C:" + "ID:U:R:F:H:K:T:N:S:C:" "M:m:" "t:d:w:" "u:g:" @@ -339,6 +340,8 @@ int main(int argc, char **argv) { char * set_hw_arg = NULL; int set_kernel = 0; char * set_kernel_arg = NULL; + int set_initfs = 0; + char * set_initfs_arg = NULL; int set_nolo = 0; char * set_nolo_arg = NULL; int set_sw = 0; @@ -501,6 +504,10 @@ int main(int argc, char **argv) { set_kernel = 1; set_kernel_arg = optarg; break; + case 'T': + set_initfs = 1; + set_initfs_arg = optarg; + break; case 'N': set_nolo = 1; set_nolo_arg = optarg; @@ -582,14 +589,14 @@ int main(int argc, char **argv) { } if ( dev_boot || dev_reboot || dev_load || dev_flash || dev_cold_flash || dev_ident || dev_check || dev_dump_fiasco || dev_dump - || set_root || set_usb || set_rd || set_rd_flags || set_hw || set_kernel || set_nolo || set_sw || set_emmc ) + || set_root || set_usb || set_rd || set_rd_flags || set_hw || set_kernel || set_initfs || set_nolo || set_sw || set_emmc ) do_device = 1; if ( dev_boot || dev_load || dev_cold_flash ) do_something = 1; if ( dev_check || dev_dump_fiasco || dev_dump ) do_something = 1; - if ( dev_flash || dev_reboot || dev_ident || set_root || set_usb || set_rd || set_rd_flags || set_hw || set_kernel || set_nolo || set_sw || set_emmc ) + if ( dev_flash || dev_reboot || dev_ident || set_root || set_usb || set_rd || set_rd_flags || set_hw || set_kernel || set_initfs || set_nolo || set_sw || set_emmc ) do_something = 1; if ( fiasco_un || fiasco_gen || image_ident ) do_something = 1; @@ -907,6 +914,10 @@ int main(int argc, char **argv) { dev_get_kernel_ver(dev, buf, sizeof(buf)); printf("Kernel version: %s\n", buf[0] ? buf : "(not detected)"); + buf[0] = 0; + dev_get_initfs_ver(dev, buf, sizeof(buf)); + printf("Initfs version: %s\n", buf[0] ? buf : "(not detected)"); + buf[0] = 0; dev_get_sw_ver(dev, buf, sizeof(buf)); printf("Software release version: %s\n", buf[0] ? buf : "(not detected)"); @@ -1103,6 +1114,11 @@ int main(int argc, char **argv) { if ( ret == -EAGAIN ) goto again; + if ( set_initfs ) + ret = dev_set_initfs_ver(dev, set_initfs_arg); + if ( ret == -EAGAIN ) + goto again; + if ( set_sw ) ret = dev_set_sw_ver(dev, set_sw_arg); if ( ret == -EAGAIN ) -- cgit v1.2.3