diff --git a/tools/worldbuild.lisp b/tools/worldbuild.lisp
index 042e6cb11ed98d767748f288f4e4deac487d9871..9d0f5fde0a9bf4465ecc165f2d6c52352b9addf5 100644
--- a/tools/worldbuild.lisp
+++ b/tools/worldbuild.lisp
@@ -70,15 +70,14 @@
     "target:code/mipsstrops"
     "target:code/misc"
     "target:code/gc"
+    "target:code/save"
     "target:code/extensions"
     "target:code/alieneval"
     "target:code/c-call"
     "target:code/syscall"
     "target:code/vm"
-    #+mach
-    "target:code/mach-os"
-    #+sunos
-    "target:code/sunos-os"
+    #+mach "target:code/mach-os"
+    #+sunos "target:code/sunos-os"
     "target:code/serve-event"
     "target:code/stream"
     "target:code/fd-stream"
@@ -110,10 +109,12 @@
     ))
 
 (setf *genesis-core-name*
-      #-sparc "target:ldb/kernel.core"
-      #+sparc "/usr/tmp/kernel.core")
+      #-(and sparc mach) "target:ldb/kernel.core"
+      #+(and sparc mach) "/usr/tmp/kernel.core")
 (setf *genesis-c-header-name* "target:ldb/lisp.h")
 (setf *genesis-map-name* "target:ldb/lisp.map")
 (setf *genesis-symbol-table* "target:ldb/ldb.map")
 
+#+sunos (setf *target-page-size* 8192)
+
 (genesis lisp-files)