# How to resume building world



## rowan194 (Dec 16, 2021)

I'm having trouble building on a slightly unstable ARMv7 device, which bombs out (at an inconsistent point) with a segfault error. As far as I can tell, `make buildworld` begins the process pretty much from scratch each time, so the chance of reaching 100% seems slim. Is there some way to resume building world from the last successful point? I was going to try the old-school `make world`, but according to Makefile this appears to be just a shortcut for `make buildworld && make installworld`.

It's not an upgrade, of any kind, I just need to create a jail. I can't simply use bsdinstall for this because the platform is a tier 2 architecture with custom kernel build. Any ideas?


----------



## SirDice (Dec 16, 2021)

When you start the build again, add NO_CLEAN. That should be fine to use in this case. Normally when you start a buildworld it'll clean out everything, NO_CLEAN will prevent that. 

`make -DNO_CLEAN buildworld`

Ideally you would use WITH_META_MODE but that assumes you already finished a build at least once with it set.


----------



## grahamperrin@ (Dec 18, 2021)

I can never remember, 



SirDice said:


> NO_CLEAN



– where should a person discover such things? 

The phrase is not in make(1) or the (recommended) PMake — A Tutorial …


----------



## SirDice (Dec 18, 2021)

grahamperrin said:


> – where should a person discover such things?


It is specific to the FreeBSD source Makefile. See build(7).

```
NO_CLEAN               If set, no object tree files are cleaned at all.
                            This is the default when WITH_META_MODE is used
                            with filemon(4) loaded.  See src.conf(5) for more
                            details.  Setting NO_CLEAN implies NO_KERNELCLEAN,
                            so when NO_CLEAN is set no kernel objects are
                            cleaned either.
```


----------

