* Add overlay filesystem to the boot floppy and normal image.

* When booting from an iso, mount the boot volume with the overlay layer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29202 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz 2009-02-14 22:51:50 +00:00
parent a413108c54
commit bea22f6240
3 changed files with 8 additions and 4 deletions

View File

@ -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

View File

@ -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 ;

View File

@ -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;
}