* 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:
@@ -33,8 +33,8 @@ BOOT_ADD_ONS_NET =
|
|||||||
BEOS_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)isa ide scsi
|
BEOS_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)isa ide scsi
|
||||||
config_manager agp_gart usb
|
config_manager agp_gart usb
|
||||||
;
|
;
|
||||||
BEOS_ADD_ONS_FILE_SYSTEMS = bfs iso9660 ;
|
BEOS_ADD_ONS_FILE_SYSTEMS = bfs iso9660 overlay ;
|
||||||
#cdda fat googlefs iso9660 nfs ;
|
#cdda fat googlefs nfs ;
|
||||||
|
|
||||||
|
|
||||||
# modules
|
# modules
|
||||||
|
|||||||
@@ -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
|
BEOS_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)ps2 $(X86_ONLY)isa ide scsi
|
||||||
config_manager agp_gart usb firewire $(X86_ONLY)acpi
|
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 ;
|
#googlefs $(GPL_ONLY)ntfs ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -442,8 +442,12 @@ vfs_mount_boot_file_system(kernel_args *args)
|
|||||||
if (bootPartition->GetPath(&path) != B_OK)
|
if (bootPartition->GetPath(&path) != B_OK)
|
||||||
panic("could not get boot device!\n");
|
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()));
|
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)
|
if (gBootDevice >= B_OK)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user