# question about pre setup for jails - buildworld question



## pgmrdlm (May 11, 2010)

I have just setup a new freebsd 8 machine on a p4, and decided this time around to use jails. After reading the handbook and some other threads, I have successfully built a jail for what I want to do. But, because I kept forgetting to do some foundation work on the original build, I keep running build worlds.  And on a p4, this takes a long time.zzzzzzzzzz

Ok, my foundation work that I forgot.
1). Removed drivers I didn't need, recompiled the kernal for that.  Then reran a build world and rebuilt my jail
2). Never built the perl port prior to buildworld, and jail template build. Deleted the jail, built the port, ran the buildworld, then rebuilt my jail.
3). Forgot about Linux binaries, see point 2 for what I did.

Ok, my question is.  Did I have to do another buildworld and rebuild my jail because I forgot perl, kernal rebuild, and linux binaries???


I know, dumb question.

Unrelated question. I built the perl port 5.8, should I have built 5.10?


----------



## pgmrdlm (May 11, 2010)

Followup question on jails.

I was going to use a jail to install the boinc grid computing port. Pretty sure, based on the handbook for boinc, that this port requires linux binaries.  Once I finally got boinc up and running in the jail, I receive the following error.
shmget: Function not implemented

Ok, this appears to be linux from what I am seeing through search's.


So I think I am expanding on my origional question here. Linux binaries allowed in jails? 

???


----------



## SirDice (May 11, 2010)

pgmrdlm said:
			
		

> 1). Removed drivers I didn't need, recompiled the kernal for that.  Then reran a build world and rebuilt my jail


Kernel isn't needed inside a jail. No need to build a custom one for it. The jail runs on the host's kernel.



> 2). Never built the perl port prior to buildworld, and jail template build. Deleted the jail, built the port, ran the buildworld, then rebuilt my jail.


Perl is not required to build world or kernel. Perl is not part of the base OS, it used to be but it got removed and moved to ports.



> 3). Forgot about Linux binaries, see point 2 for what I did.


See point 1 and 2



> Ok, my question is.  Did I have to do another buildworld and rebuild my jail because I forgot perl, kernal rebuild, and linux binaries???


No. You don't even have to buildworld specifically for your jail. Just use the same built world you already have.



> Unrelated question. I built the perl port 5.8, should I have built 5.10?


Unless you have specific requirements I'd stick to 5.8.


----------



## DutchDaemon (May 11, 2010)

I ran some BOINC projects a long time ago, and I don't think you need Linux (not in the run-depends and build-depends). The error you see looks like it misses SYSVSHM in the kernel. It's usually a good idea to leave the SYSV stuff in. Also note that some BOINC projects (like Einstein@Home) require FreeBSD 5 compatibility (COMPAT_FREEBSD5 in the kernel, and the misc/compat5x port).


----------



## pgmrdlm (May 11, 2010)

*Thank you for the replies*

I don't mind all the rebuilds that I previously mentioned, fight the battle once and learn from it. Thanks for the reply noting I do not have to do a buildworld for those things.

I made the comment about the linux binaries due to this statement in the handbook. http://people.freebsd.org/~pav/boinc.html


> World Community Grid will send Linux app to FreeBSD client. Make sure you have Linux emulation enabled and linux_base-fc4 port installed before attaching.
> 
> Most other Linux science apps runs on FreeBSD under Linux emulation. You may want to enable ALT option in the boinc-client port.
> 
> ...




I run boinc on another machine and didn't have this problem with the missing function, thats why I thought it had to do with the jail. But, I also do not remember removing drivers when I built my custome kernal. Just adding of addional things.

Thank you everyone for the help. I'll keep plugging away here.


----------



## pgmrdlm (May 11, 2010)

*These system calls are blocked within a jailed environment: shmdt(2), shmat(2), shmct*

http://www.freebsd.org/doc/en/books/arch-handbook/jail-restrictions.html

hmmmm, go figure hu.  

Oh well, thanks everyone for the help


----------



## alp (May 11, 2010)

pgmrdlm said:
			
		

> http://www.freebsd.org/doc/en/books/arch-handbook/jail-restrictions.html
> 
> hmmmm, go figure hu.
> 
> Oh well, thanks everyone for the help



Maybe setting jail_sysvipc_allow to "YES" in rc.conf will help you?


----------



## pgmrdlm (May 12, 2010)

*shoot, I wish I would have waited to see that post*

I decided just to install the boinc ports into the primary install and jail other things(www,samba).  

I did try finding rc.conf settings, but didn't see that one. Or, I looked right past it and didn't recognize it.

Maybe I will try this in a jail with that setting to see, and if it does. Then rebuild that machine 1 more time.

I already have 2 other bsd machines running so this one was always meant to be a learning experience of what I haven't done yet.  And I really would like to have everything segregated out to its separate jail system.

Thank you that suggestion, I'm going to try that next.  Actually, right now.
lol


----------



## pgmrdlm (May 12, 2010)

*@alp - Thank*



			
				alp said:
			
		

> Maybe setting jail_sysvipc_allow to "YES" in rc.conf will help you?



That resolved the last of my problems for boinc in a jail. I have a few things that I need to figure out just to clean things up. But I know they are not out of the ordinary and should be easy to figure out.

Dang, that makes me happy. I wanted seti back up and running on a bsd box at my house.  Have it running on my two windows machines, and my buisness bsd box. But not on a bsd box at home.

Again, thank you.


----------



## leopard (May 14, 2010)

From the handbook:



> ...I mentioned that there were certain sysctls you could turn on or off in order to affect the behavior of jail. One of these sysctls was security.jail.sysvipc_allowed. By default, this sysctl is set to 0. If it were set to 1, it would defeat the whole purpose of having a jail; privileged users from the jail would be able to affect processes outside the jailed environment.



It seems that if that's the only solution to running it in a jail, you might as well forget the idea entirely.


----------

