Darren Pilgrim
2013-Feb-28 01:41 UTC
Building RELENG_9 (or RELENG_9_*) on a small machine?
So I have this VM which only has 256 MB of memory and 9.1-R installed. I want to update it to RELENG_9, but buildworld swaps so bad it grinds nearly to a halt. Even make -j1 -B runs into very heavy swapping. So two questions: 1. Is there anything I can do to set a limit on how much memory the compiler uses? 2. If I crossbuild for this machine, can I get away with doing buildworld on a buildbox, ship the obj tree, and do installworld and mergemaster on the VM? It's been a few enternities since I did a cross build and back then it was crossbuilding releases.
On Wed, Feb 27, 2013 at 05:41:17PM -0800, Darren Pilgrim wrote:> So I have this VM which only has 256 MB of memory and 9.1-R installed. > I want to update it to RELENG_9, but buildworld swaps so bad it grinds > nearly to a halt. Even make -j1 -B runs into very heavy swapping. So > two questions: > > 1. Is there anything I can do to set a limit on how much memory the > compiler uses? >You can disable building clang with this line in /etc/src.conf: WITHOUT_CLANG=yes> 2. If I crossbuild for this machine, can I get away with doing > buildworld on a buildbox, ship the obj tree, and do installworld and > mergemaster on the VM? It's been a few enternities since I did a cross > build and back then it was crossbuilding releases.Yes, that should work. Glen -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: not available URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20130227/833e780c/attachment.sig>
On Wed, Feb 27, 2013 at 8:41 PM, Darren Pilgrim < list_freebsd at bluerosetech.com> wrote:> 2. If I crossbuild for this machine, can I get away with doing buildworld > on a buildbox, ship the obj tree, and do installworld and mergemaster on > the VM? It's been a few enternities since I did a cross build and back > then it was crossbuilding releases. >It's possible with a caveat: in my experience both the object tree and the source tree have to have *exactly* the same path on the build host and the destination. You can't (for example) build with MAKEOBJDIRPREFIX set to something, then copy src to /usr/src and obj to /usr/obj on the destination and have installworld work.