From f515ed5f772c48f00c808baffb345d08e531060e Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Mon, 1 Oct 2007 17:27:13 +0000 Subject: [PATCH] Added build variable HAIKU_DONT_CLEAR_IMAGE. When set and the image does already exist, it won't be zeroed out. The image will still be initialized with BFS, though. Handy for installing Haiku on a partition. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22397 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/HaikuImage | 1 + build/jam/UserBuildConfig.sample | 5 +++++ build/scripts/build_haiku_image | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index 0cb83e5675..f2c7021e48 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -467,6 +467,7 @@ AddVariableToScript $(script) : installDir : $(HAIKU_INSTALL_DIR) ; AddVariableToScript $(script) : imageSize : $(HAIKU_IMAGE_SIZE) ; AddVariableToScript $(script) : addBuildCompatibilityLibDir : $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ; +AddVariableToScript $(script) : dontClearImage : $(HAIKU_DONT_CLEAR_IMAGE) ; AddVariableToScript $(script) : updateOnly : [ IsUpdateHaikuImageOnly ] ; AddTargetVariableToScript $(script) : bfs_shell : bfsShell ; AddTargetVariableToScript $(script) : fs_shell_command : fsShellCommand ; diff --git a/build/jam/UserBuildConfig.sample b/build/jam/UserBuildConfig.sample index c957f03f22..ba36a6e83b 100644 --- a/build/jam/UserBuildConfig.sample +++ b/build/jam/UserBuildConfig.sample @@ -35,6 +35,11 @@ HAIKU_VMWARE_IMAGE_NAME = walter.vmdk ; # Install Haiku in directory /Haiku. HAIKU_INSTALL_DIR = /Haiku ; +# If the image does already exist it won't be zeroed out. It will nevertheless +# freshly be initialized with BFS. Useful when installing Haiku on a partition. +HAIKU_DONT_CLEAR_IMAGE = 1 ; + + # Affects the haiku-image, haiku-vmware-image, and install-haiku targets. Only # targets on which the HAIKU_INCLUDE_IN_IMAGE variable has been set will be # updated in the image file/installation directory. diff --git a/build/scripts/build_haiku_image b/build/scripts/build_haiku_image index 6de91860c8..de09cba893 100755 --- a/build/scripts/build_haiku_image +++ b/build/scripts/build_haiku_image @@ -11,6 +11,7 @@ # addBuildCompatibilityLibDir # sourceDirsToCopy # updateOnly +# dontClearImage # # bfsShell # copyattr @@ -83,7 +84,9 @@ if [ $isImage ]; then echo if [ ! $updateOnly ]; then echo "Creating image ..." - dd if=/dev/zero of=$imagePath bs=1048576 count=$imageSize + if [ ! -f $imagePath -o ! "$dontClearImage" ]; then + dd if=/dev/zero of=$imagePath bs=1048576 count=$imageSize + fi $bfsShell --initialize $imagePath Haiku $makebootable $imagePath fi