if (m) {
char *target = m->target;
- char _target[] = "/mnt/mmcblk123";
+ char _target[32];
int err = 0;
if (!target) {
if (!strcmp(pr->dev, fs)) {
struct stat s;
FILE *fp = NULL;
- char tag[32];
- char uuid[32] = { 0 };
+ char tag[64];
+ char uuid[64] = { 0 };
snprintf(tag, sizeof(tag), "%s/etc/.extroot-uuid", path);
if (stat(tag, &s)) {
static int mount_extroot(char *cfg)
{
- char overlay[] = "/tmp/overlay";
- char mnt[] = "/tmp/mnt";
+ char overlay[] = "/tmp/extroot/overlay";
+ char mnt[] = "/tmp/extroot/mnt";
char *path = mnt;
struct blkid_struct_probe *pr;
struct mount *m;
pr = find_block_info(m->uuid, m->label, NULL);
if (!pr && delay_root){
- fprintf(stderr, "extroot: is not ready yet, retrying in %ui seconds\n", delay_root);
+ fprintf(stderr, "extroot: is not ready yet, retrying in %u seconds\n", delay_root);
sleep(delay_root);
mkblkdev();
cache_load(0);
if (config_load(NULL))
return -1;
- cache_load(0);
+ cache_load(1);
list_for_each_entry(pr, &devices, list)
mount_device(pr, 0);
printf("\toption\tanon_mount\t'0'\n");
printf("\toption\tauto_swap\t'1'\n");
printf("\toption\tauto_mount\t'1'\n");
- printf("\toption\tdelay_root\t'0'\n");
+ printf("\toption\tdelay_root\t'5'\n");
printf("\toption\tcheck_fs\t'0'\n\n");
list_for_each_entry(pr, &devices, list)
print_block_uci(pr);
struct stat s;
int err;
- if (stat(argv[1], &s) || !S_ISBLK(s.st_mode)) {
- fprintf(stderr, "%s is not a block device\n", argv[1]);
+ if (stat(argv[1], &s) || (!S_ISBLK(s.st_mode) && !S_ISREG(s.st_mode))) {
+ fprintf(stderr, "%s is not a block device or file\n", argv[1]);
return -1;
}
err = swapon(argv[1], 0);
static int main_swapoff(int argc, char **argv)
{
if (argc != 2) {
- fprintf(stderr, "Usage: swapoff [-a] [DEVICE]\n\nStop swapping on DEVICE\n\n\t-a Stop swapping on all swap devices\n");
+ fprintf(stderr, "Usage: swapoff [-a] [DEVICE]\n\n\tStop swapping on DEVICE\n -a\tStop swapping on all swap devices\n");
return -1;
}
struct stat s;
int err;
- if (stat(argv[1], &s) || !S_ISBLK(s.st_mode)) {
- fprintf(stderr, "%s is not a block device\n", argv[1]);
+ if (stat(argv[1], &s) || (!S_ISBLK(s.st_mode) && !S_ISREG(s.st_mode))) {
+ fprintf(stderr, "%s is not a block device or file\n", argv[1]);
return -1;
}
err = swapoff(argv[1]);