diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/inspect_fs.c | 3 | ||||
-rw-r--r-- | src/inspect_fs_cd.c | 12 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/inspect_fs.c b/src/inspect_fs.c index b1dd4f66..7e6ff655 100644 --- a/src/inspect_fs.c +++ b/src/inspect_fs.c @@ -284,7 +284,8 @@ check_filesystem (guestfs_h *g, const char *device, guestfs_is_dir (g, "/.disk") > 0 || guestfs_is_file (g, "/.discinfo") > 0 || guestfs_is_file (g, "/i386/txtsetup.sif") > 0 || - guestfs_is_file (g, "/amd64/txtsetup.sif")) > 0) { + guestfs_is_file (g, "/amd64/txtsetup.sif") > 0 || + guestfs_is_file (g, "/freedos/freedos.ico") > 0)) { fs->is_root = 1; fs->content = FS_CONTENT_INSTALLER; fs->format = OS_FORMAT_INSTALLER; diff --git a/src/inspect_fs_cd.c b/src/inspect_fs_cd.c index 97aa3b91..df0e6bb4 100644 --- a/src/inspect_fs_cd.c +++ b/src/inspect_fs_cd.c @@ -376,7 +376,17 @@ guestfs___check_installer_root (guestfs_h *g, struct inspect_fs *fs) return -1; } - /* Linux with /isolinux/isolinux.cfg. */ + /* FreeDOS install CD. */ + else if (guestfs_is_file (g, "/freedos/freedos.ico") > 0 && + guestfs_is_file (g, "/setup.bat") > 0) { + fs->type = OS_TYPE_DOS; + fs->distro = OS_DISTRO_FREEDOS; + fs->arch = safe_strdup (g, "i386"); + } + + /* Linux with /isolinux/isolinux.cfg (note that non-Linux can use + * ISOLINUX too, eg. FreeDOS). + */ else if (guestfs_is_file (g, "/isolinux/isolinux.cfg") > 0) { if (check_isolinux_installer_root (g, fs) == -1) return -1; |