# Install VIMAGE



## z662 (Jan 8, 2015)

I am trying to compile a new kernel for VIMAGE support.  Based on what I see in the handbook I need to have my source installed (already done), update my kernel configuration file to include `options VIMAGE` (already done).  My next step is to compile VIMAGE and then finally rebuild the kernel.

When trying to compile VIMAGE I get an error though:

```
brad@mercury:/usr/src/tools/tools/vimage$ sudo make install
install -s -o root -g wheel -m 555  vimage /usr/sbin/vimage
install: vimage: No such file or directory
*** Error code 71

Stop.
make: stopped in /usr/src/tools/tools/vimage
brad@mercury:/usr/src/tools/tools/vimage$
```
Can someone shed some light on this topic?

Also, when I installed my system I told it to install source code which is why I have all of the code in /usr/src.  There have been several updates/patches since that time though.  Do I need to worry about obtaining that code as well, or has it been updating that each time I installed updates via `freebsd-update`?

Thanks in advance.


----------



## z662 (Jan 8, 2015)

I should have provided this as well:

```
brad@mercury:/usr/src/tools/tools/vimage$ uname -a
FreeBSD mercury.milkyway 10.0-RELEASE-p12 FreeBSD 10.0-RELEASE-p12 #0: Tue Nov  4 05:07:17 UTC 2014  root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
```


----------



## chrbr (Jan 8, 2015)

Dear z662,
I am not sure about this:


z662 said:


> has it been updating that each time I installed updates via  freebsd-update?


But it might be worth to update to the sources of 10.1 via svn(lite) or so. I do now know if this is covered by `freebsd-update`. If you just want to test the VIMAGE support please backup everything and do as described in the handbook https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html. The starting directory according to the commands in the handbook is /usr/src. As usual, if you think you are in big hurry - try to go forward somehow slower . It saves time. BTW: When the update covers 10.1 buildworld might be required as well.


----------



## z662 (Jan 8, 2015)

Well I know 10.0 is approaching EOL anyway.  Perhaps I should first upgrade to 10.1 and then go from there??


----------



## z662 (Jan 8, 2015)

And to answer your question the reason I want to use VIMAGE is for my jails.  I have a Plex jail that is not working properly and I have been told by some Plex users that VIMAGE may solve the problem.  Aside from that everyone seems to be out of ideas over there and I have posted a few threads about my configuration on these forums and there doesn't seem to be anything *wrong* with them.  I am hopeful VIMAGE is all I need.


----------



## chrbr (Jan 8, 2015)

This should be not a bad idea to upgrade to 10.1. What to try first is up to you. Anyhow, if you have bad luck the backup is essential.

EDIT:


> And to answer your question the reason I want to use VIMAGE is for my jails. I have a Plex jail that is not working properly and I have been told by some Plex users that VIMAGE may solve the problem.


I have no idea about this topic. I just think you are by far more experienced that I am.

BTW: Currently I have two disks in my PC. One is a conventional disk with a partition for the backup(s). My SSD holds the current installation. But to be on the safe side the old disk has other partitions for a normal FreeBSD installation. From time to time I recover my latest backup  to have a spare installation I can start using the BIOS. And of course to be almost sure that backup and recovery works.


----------



## junovitch@ (Jan 9, 2015)

Are you dead set on the VIMAGE feature?  If you use bhyve(8), it's pretty trivial to set up following the handbook (see link below).  The guest gets it's complete network stack for Plex to run in that may hopefully alleviate all the odd issues from the other thread.  VIMAGE is looking to be a 11.0-RELEASE GENERIC kernel goal but what is out today hasn't quite hit the point where it's considered a production ready.  I think you'd be setting yourself up for a headache going through all the customization efforts if bhyve(8) will get the job done with a whole lot less time and effort invested.

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/virtualization-host-bhyve.html


----------



## z662 (Jan 9, 2015)

I totally agree...I really didn't want to use VIMAGE but the Plex guys were telling me to use it...however they didn't say why or know what was really wrong with my current setup.  I will take a look at that link you sent and probably try that instead.  

Thanks


----------



## z662 (Jan 9, 2015)

It looks like `bhyve` is just a virtual machine manager?  I am using `ezjail` already...I would imagine the results will be the same, right?


----------



## junovitch@ (Jan 9, 2015)

A jail(8) is lightweight "isolation" with distinct user-land components running on one host kernel.  bhyve(8) is a full virtualization solution where you have a host system kernel/user-land running the virtual machine monitor and distinct kernel/user-land for each virtual machine.

Another thing to think about is to check how the FreeNAS plugin does Plex.  Maybe they've turned on VIMAGE and have it all nicely taken care of.  I haven't used FreeNAS since one of the 8.x versions so I'm not familiar what has changed there.  If Plex does work there it may be worth seeing what they do to make it work.


----------



## z662 (Jan 9, 2015)

Yeah I thought about using the plugin, and actually that was my very first desire until it failed to work at all.  I then read a lot of people having issues with the plugins from FreeNAS, which is a real shame...but eventually installed via a jail and got everything working as expected.  That is, until I upgraded Plex and started to play with the DNS stuff.  I just finished upgrading to 10.1-Release and am wondering if I should just delete the jail for Plex and try that route again or try out `bhyve`.


----------



## junovitch@ (Jan 9, 2015)

Understood.  Well I was hoping that looking at how the FreeNAS plugin worked would be helpful in making it work on FreeBSD.  That's a shame.  If all else fails with Plex I'll say that I've had net/serviio set up for ages now before Plex was in the ports collection and with the exception of a few Java issues it has been reliable for me for about a year and a half now.  I know all my co-workers are Plex fans but I've never used it since Serviio has just worked.


----------



## z662 (Jan 9, 2015)

I was going to do `serviio` too! HA!  I ended up going with Plex though since there are apps for it on xbox and roku but if I can't get this working I may just end up installing `minidlna` and doing everything old-school.   

I am tempted to try the FreeNAS plugin one more time though, but I just have a bad feeling about using those plugins.  If something breaks then my entire NAS goes down and I like the idea of segregating services into jails from a security standpoint.  Ultimately I just want the darn thing to work though at this point! :/

I guess I should think it over a bit, or just at least retry the ezjail approach since I already have that done and understood for the most part.  If that doesn't work I will most likely be creating a new thread about `bhyve` to be sure I have that configured correctly.  That is new territory for me.  I also have some concerns how I will get my media files working with it since it looks like you create an image file as its hdd.  Currently I use my host system to mount my media (files on FreeNAS) via NFS into my jail's filesystem.


----------



## junovitch@ (Jan 9, 2015)

For me the DLNA for streaming at home and web interface on the road works.  I have net/haproxy on my router to take the HTTPS inbound and forward HTTP to the Serviio Media Browser.  With ServiiGo on my phone and a browser on my laptop I'm good to go on the road.  If you need the Xbox/Roku apps that is a plus on the Plex side.

It may be slightly dated, but I wrote down all my notes to set up a Serviio jail and put them on the Serviio wiki.  It looks like a few folks have made some updates since then.
http://wiki.serviio.org/doku.php?id=howto:bsd:install:freebsd

Good point on the media files part, that completely slipped my mind.  I think if you are already mounting NFS then you shouldn't have any issue since you can just have the VM be an NFS client.  When you are running a fully virtualized solution like this, there's no need to worry about some of the steps dealing with mounting on the host so a jail can see it.


----------



## z662 (Jan 9, 2015)

Same issue appearing on a fresh ezjail on 10.1.  I guess I am off to `bhyve` land.  I will read over the section in the handbook a few times and probably end up starting a new thread regarding it.  Thanks for the info junovitch you can close this thread as I don't plan on going to VIMAGE while it is still experimental.

I am determined to find a way to get Plex working.  Hopefully `bhyve` is all I need to do that.


----------



## zennybsd (Mar 30, 2015)

z662 said:


> I am trying to compile a new kernel for VIMAGE support.  Based on what I see in the handbook I need to have my source installed (already done), update my kernel configuration file to include `options VIMAGE` (already done).  My next step is to compile VIMAGE and then finally rebuild the kernel.
> 
> When trying to compile VIMAGE I get an error though:
> 
> ...



Had similar issue in 10.1, but instead of `make install`, I first issued `make` and then `make install` to build and install vimage as of below:


```
[root@freebsd10-dev /usr/src/tools/tools/vimage]# uname -a
FreeBSD freebsd10-dev 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r280804: Sun Mar 29 11:16:01 CEST 2015  root@freebsd10-dev:/usr/obj/usr/src/sys/VIMAGE  amd64

[root@freebsd10-dev /usr/src/tools/tools/vimage]# make install clean
install -s -o root -g wheel -m 555  vimage /usr/sbin/vimage
install: vimage: No such file or directory
*** Error code 71

Stop.
make: stopped in /usr/src/tools/tools/vimage

[root@freebsd10-dev /usr/src/tools/tools/vimage]# make
Warning: Object directory not changed from original /usr/src/tools/tools/vimage
cc -O2 -pipe  -I../../../sys -std=gnu99 -Qunused-arguments  -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter -c vimage.c
cc -O2 -pipe  -I../../../sys -std=gnu99 -Qunused-arguments  -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter  -o vimage vimage.o -ljail
gzip -cn vimage.8 > vimage.8.gz

[root@freebsd10-dev /usr/src/tools/tools/vimage]# make install
install -s -o root -g wheel -m 555  vimage /usr/sbin/vimage
install -o root -g wheel -m 444 vimage.8.gz  /usr/share/man/man8

[root@freebsd10-dev /usr/src/tools/tools/vimage]# which vimage
/usr/sbin/vimage
```
Hope this helps someone having similar problem.

/z


----------

