diff --git a/build/jam/FloppyBootImage b/build/jam/FloppyBootImage index caff58b654..728dacb579 100644 --- a/build/jam/FloppyBootImage +++ b/build/jam/FloppyBootImage @@ -33,8 +33,8 @@ BOOT_ADD_ONS_NET = BEOS_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)isa ide scsi config_manager agp_gart usb ; -BEOS_ADD_ONS_FILE_SYSTEMS = bfs iso9660 ; -#cdda fat googlefs iso9660 nfs ; +BEOS_ADD_ONS_FILE_SYSTEMS = bfs iso9660 overlay ; +#cdda fat googlefs nfs ; # modules diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index 8df4682d5b..e17f14a098 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -138,7 +138,7 @@ BEOS_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com $(X86_ONLY)broadcom440x BEOS_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)ps2 $(X86_ONLY)isa ide scsi config_manager agp_gart usb firewire $(X86_ONLY)acpi ; -BEOS_ADD_ONS_FILE_SYSTEMS = bfs cdda ext2 fat iso9660 nfs $(GPL_ONLY)reiserfs ; +BEOS_ADD_ONS_FILE_SYSTEMS = bfs cdda ext2 fat iso9660 nfs overlay $(GPL_ONLY)reiserfs ; #googlefs $(GPL_ONLY)ntfs ; diff --git a/src/system/kernel/fs/vfs_boot.cpp b/src/system/kernel/fs/vfs_boot.cpp index eee6ef29fa..bdacabd0dd 100644 --- a/src/system/kernel/fs/vfs_boot.cpp +++ b/src/system/kernel/fs/vfs_boot.cpp @@ -442,8 +442,12 @@ vfs_mount_boot_file_system(kernel_args *args) if (bootPartition->GetPath(&path) != B_OK) panic("could not get boot device!\n"); + const char *fsName = NULL; + if (strcmp(bootPartition->ContentType(), "ISO9660 File System") == 0) + fsName = "iso9660:overlay"; + TRACE(("trying to mount boot partition: %s\n", path.Path())); - gBootDevice = _kern_mount("/boot", path.Path(), NULL, 0, NULL, 0); + gBootDevice = _kern_mount("/boot", path.Path(), fsName, 0, NULL, 0); if (gBootDevice >= B_OK) break; }