X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/d02f184a8de1a49db423c9539e468941ab565847..fc5cd0a00a6745d7a8ce31bfadd76e8d064e18a1:/VtoyTool/vtoydump.c?ds=sidebyside diff --git a/VtoyTool/vtoydump.c b/VtoyTool/vtoydump.c index ff3a4d2..d33151a 100644 --- a/VtoyTool/vtoydump.c +++ b/VtoyTool/vtoydump.c @@ -35,7 +35,9 @@ #define IS_DIGIT(x) ((x) >= '0' && (x) <= '9') #ifndef USE_DIET_C +#ifndef __mips__ typedef unsigned long long uint64_t; +#endif typedef unsigned int uint32_t; typedef unsigned short uint16_t; typedef unsigned char uint8_t; @@ -484,8 +486,7 @@ static int vtoy_check_device(ventoy_os_param *param, const char *device) debug("param->vtoy_disk_size=%llu size=%llu\n", (unsigned long long)param->vtoy_disk_size, (unsigned long long)size); - if ((param->vtoy_disk_size == size || param->vtoy_disk_size == size + 512) && - memcmp(vtguid, param->vtoy_disk_guid, 16) == 0 && + if (memcmp(vtguid, param->vtoy_disk_guid, 16) == 0 && memcmp(vtsig, param->vtoy_disk_signature, 4) == 0) { debug("<%s> is right ventoy disk\n", device); @@ -563,8 +564,20 @@ int vtoydump_main(int argc, char **argv) rc = vtoy_os_param_from_file(filename, param); if (rc) { - debug("ventoy os param not found %d\n", rc); - goto end; + debug("ventoy os param not found %d %d\n", rc, ENOENT); + if (ENOENT == rc) + { + debug("now try with file %s\n", "/ventoy/ventoy_os_param"); + rc = vtoy_os_param_from_file("/ventoy/ventoy_os_param", param); + if (rc) + { + goto end; + } + } + else + { + goto end; + } } if (verbose)