how to speeding up compiling?

Status
Not open for further replies.

YBO Tong

Cadet
Joined
May 3, 2014
Messages
3
I have been trying to compile FreeNAS with XENHVM support recently. FreeNAS works flawlessly in ESXi but it does suffer from wired issues in Xen. I also noticed big performance gap between these 2 platforms. But Xen is light-weight, tho. Dom0 only consumes 1G of men while ESXi 5.5 will reserve 4G ram for itself. Anyways, I think compiling FreeNAS with XENHVM support should close the gap on performance and might solve some issues.

I tried the method provided in http://forums.freenas.org/index.php...ernal-and-xen-tools-working-in-freenas.15287/ and it should work fine in FreeNAS-9.2.1.5-RELEASE. I tried it several times but it didn't work(not following all the steps, expect it to fail). I am trying to solve this issue but I just noticed how much I need to go through every time I tried to recompile it. As instructed, I need to go through

make git-external
make checkout
make release

the "make checkout" process is extremely painful because I have to checkout freenas/ports and trueos/trueos(1.5G total) from github every time I restart the compiling since "make clean" will clear everything including these files.

What I am currently doing to deal with this issue is using snapshots provided by ESXi. I take a snapshot after I finished the checkout and every time I finished compiling test, I roll it back (works pretty well). I think LVM in linux will do the same trick but I am not familiar with FreeBSD.

I read the Makefile in project root directory and it turns out there is another option called "git-internal", but I have no idea how to work with it. Can I have some brief instructions on how to use local git repository or compile without fetch loads of file from github every time?

Another a bit more advanced question is that if it is possible to reuse pre-compiled packages during the compiling process since I only make changes to only one or two packages each time I tried to recompile it. It saves a lot time if I don't need to compile them all over and over.

Last quesiton: Is it possible to target only for amd64 structure? I have no interest in i386 images.
 

YBO Tong

Cadet
Joined
May 3, 2014
Messages
3
Well I guess my last question is trivial. After monitoring the whole building process, it turns out that amd64 packages are built with i386 packages at the same time

Update: I compiled it again and it seems that amd64 and i386 are compiled simultaneously but I don't know if they share the CPU resources. I checked the do_build.sh and FreeNAS does use as many cores as possible when doing the compiling.
 
Status
Not open for further replies.
Top