@ -10,6 +10,7 @@
# include <ide.h>
# include <ide.h>
# include <malloc.h>
# include <malloc.h>
# include <part.h>
# include <part.h>
# include <ubifs_uboot.h>
# undef PART_DEBUG
# undef PART_DEBUG
@ -511,6 +512,10 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
int part ;
int part ;
disk_partition_t tmpinfo ;
disk_partition_t tmpinfo ;
# if defined CONFIG_SANDBOX && defined CONFIG_CMD_UBIFS
# error Only one of CONFIG_SANDBOX and CONFIG_CMD_UBIFS may be selected
# endif
# ifdef CONFIG_SANDBOX
# ifdef CONFIG_SANDBOX
/*
/*
* Special - case a pseudo block device " hostfs " , to allow access to the
* Special - case a pseudo block device " hostfs " , to allow access to the
@ -532,6 +537,28 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
}
}
# endif
# endif
# ifdef CONFIG_CMD_UBIFS
/*
* Special - case ubi , ubi goes through a mtd , rathen then through
* a regular block device .
*/
if ( 0 = = strcmp ( ifname , " ubi " ) ) {
if ( ! ubifs_is_mounted ( ) ) {
printf ( " UBIFS not mounted, use ubifsmount to mount volume first! \n " ) ;
return - 1 ;
}
* dev_desc = NULL ;
memset ( info , 0 , sizeof ( * info ) ) ;
strcpy ( ( char * ) info - > type , BOOT_PART_TYPE ) ;
strcpy ( ( char * ) info - > name , " UBI " ) ;
# ifdef CONFIG_PARTITION_UUIDS
info - > uuid [ 0 ] = 0 ;
# endif
return 0 ;
}
# endif
/* If no dev_part_str, use bootdevice environment variable */
/* If no dev_part_str, use bootdevice environment variable */
if ( ! dev_part_str | | ! strlen ( dev_part_str ) | |
if ( ! dev_part_str | | ! strlen ( dev_part_str ) | |
! strcmp ( dev_part_str , " - " ) )
! strcmp ( dev_part_str , " - " ) )