rm -f ventoy_unix.cpio
+mv ./ventoy_unix/DragonFly ./
find ./ventoy_unix | cpio -o -H newc>ventoy_unix.cpio
+mv ./DragonFly ./ventoy_unix/
echo '======== SUCCESS ============='
vdebug("[VTOY] step 7: switch root ...\n");
error = chdir("/new_root");
if (error)
- goto chroot_failed;
+ {
+ printf("[VTOY] chdir /new_root failed %d\n", error);
+ goto chroot_failed;
+ }
error = chroot_kernel("/new_root");
if (error)
- goto chroot_failed;
+ {
+ printf("[VTOY] chroot_kernel /new_root failed %d\n", error);
+ goto chroot_failed;
+ }
error = chroot("/new_root");
if (error)
- goto chroot_failed;
+ {
+ printf("[VTOY] chroot /new_root failed %d\n", error);
+ goto chroot_failed;
+ }
+ vdebug("[VTOY] step 8: now run /sbin/init ...\n");
execv("/sbin/init", __DECONST(char **, argv_orig));
/* We failed to exec /sbin/init in the chroot, sleep forever */
chroot_failed:
+ printf("[VTOY] ################### DEAD ################\n");
while(1) {
sleep(3);
};
fread(&desc, 1, sizeof(desc), fIn);
vdebug("[VTOY] disksize:%lu part1size:%lu chunkcount:%u\n", desc.disk_size, desc.part1_size, desc.img_chunk_count);
-
- find_disk_by_size(desc.part1_size, NULL, &count, disk);
- vdebug("[VTOY] find disk by part1 size: %d %s\n", count, disk);
+
+ for (i = 0; count <= 0 && i < 10; i++)
+ {
+ sleep(2);
+ find_disk_by_size(desc.part1_size, NULL, &count, disk);
+ vdebug("[VTOY] find disk by part1 size, i=%d, count=%d, %s\n", i, count, disk);
+ }
if (count == 0)
{