From e64db4da44a5c23edf1e8c91c46e6d37072b3de1 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 25 Aug 2013 18:23:11 +0200 Subject: [PATCH] Also mount the packagefs at ~/config --- build/jam/images/HaikuImage | 2 +- build/jam/images/HaikuImageBootstrap | 2 +- src/system/kernel/fs/vfs_boot.cpp | 24 +++++++++++++++--------- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/build/jam/images/HaikuImage b/build/jam/images/HaikuImage index a84adaa139..25ccfdd18a 100644 --- a/build/jam/images/HaikuImage +++ b/build/jam/images/HaikuImage @@ -304,7 +304,7 @@ AddDirectoryToHaikuImage common var empty ; AddDirectoryToHaikuImage common var log ; AddDirectoryToHaikuImage home Desktop ; AddDirectoryToHaikuImage home mail ; - +AddDirectoryToHaikuImage home config packages ; AddDirectoryToHaikuImage home config non-packaged bin ; AddDirectoryToHaikuImage home config non-packaged lib ; AddDirectoryToHaikuImage home config non-packaged add-ons kernel drivers bin ; diff --git a/build/jam/images/HaikuImageBootstrap b/build/jam/images/HaikuImageBootstrap index b3c416b6fe..1cf9810114 100644 --- a/build/jam/images/HaikuImageBootstrap +++ b/build/jam/images/HaikuImageBootstrap @@ -245,7 +245,7 @@ AddDirectoryToHaikuImage common var empty ; AddDirectoryToHaikuImage common var log ; AddDirectoryToHaikuImage home Desktop ; AddDirectoryToHaikuImage home mail ; - +AddDirectoryToHaikuImage home config packages ; AddDirectoryToHaikuImage home config non-packaged bin ; AddDirectoryToHaikuImage home config non-packaged lib ; AddDirectoryToHaikuImage home config non-packaged add-ons kernel drivers bin ; diff --git a/src/system/kernel/fs/vfs_boot.cpp b/src/system/kernel/fs/vfs_boot.cpp index ae7ad3dad1..bdd6da6e17 100644 --- a/src/system/kernel/fs/vfs_boot.cpp +++ b/src/system/kernel/fs/vfs_boot.cpp @@ -518,22 +518,28 @@ vfs_mount_boot_file_system(kernel_args* args) if (bootVolume.GetBool(BOOT_VOLUME_PACKAGED, false)) { static const char* const kPackageFSName = "packagefs"; - dev_t systemPackageMount = _kern_mount("/boot/system", - NULL, kPackageFSName, 0, - "packages /boot/system/packages; type system", + dev_t packageMount = _kern_mount("/boot/system", NULL, kPackageFSName, + 0, "packages /boot/system/packages; type system", 0 /* unused argument length */); - if (systemPackageMount < 0) { + if (packageMount < 0) { panic("Failed to mount system packagefs: %s", - strerror(systemPackageMount)); + strerror(packageMount)); } - dev_t commonPackageMount = _kern_mount("/boot/common", - NULL, kPackageFSName, 0, + packageMount = _kern_mount("/boot/common", NULL, kPackageFSName, 0, "packages /boot/common/packages; type common", 0 /* unused argument length */); - if (commonPackageMount < 0) { + if (packageMount < 0) { dprintf("Failed to mount common packagefs: %s\n", - strerror(commonPackageMount)); + strerror(packageMount)); + } + + packageMount = _kern_mount("/boot/home/config", NULL, kPackageFSName, 0, + "packages /boot/home/config/packages; type home", + 0 /* unused argument length */); + if (packageMount < 0) { + dprintf("Failed to mount home packagefs: %s\n", + strerror(packageMount)); } }