VMware Virtual Appliances Community
VMTN_Admin
Enthusiast
Enthusiast

Ultimate Deployment Appliance

http://www.vmware.com/vmtn/appliances/directory/232

Deploy your favorite OS by pressing F12, bring your own ISO's, we'll do the rest

Reply
0 Kudos
672 Replies
Michelle_Laveri
Virtuoso
Virtuoso

The UDA is a VA that's essentially created by one guy, and managed by one guy - That's Carl Thijssen... I like to think I've been instrumental in getting ESX support into the UDA, as when I first came across it there was just support for RHEL/Fedora. Fortunately, the ESX "Classic" - Service Console edition was so heavily wedded to Anaconda at the time it worked out of the box...

I act as the UDA's promoter, documentator and I host the "ESX VMDK" format of the appliance in a .OVA format on RTFM, whilst Carl hosts the Workstation VMDK format on ultimatedeployment.org...

The UDA is a extremely ambitious project that seeks to deliver practically any OS or bootCD via PXE. As such I think its difficult for Carl on his own to keep up with all the changes and developments taking place. Additionally, Carl has a regular day time job and family to consider as well...

So much for the background...

What about the future? It seems clear that VMware is wedded to the PXE boot process via its own "Auto Deploy" process. However, there is significant number of customers who for whatever reason prefer to install ESXi5 to a storage (USB, Local, SAN) rather than delivering the kernel on demand over the wire. Not least that VMware's auto-deploy requires "host profiles" and this remains a feature only accessible to Enterprize+ customers...

Given this situation I think there will be a continued demand for the UDA and VA's like it -  in the short-to-medium term. I remain fully committed to helping Carl introduce and support new versions of ESX as they come out, but I can't speak for other OSes and bootCDs...

I think that's perhaps what's needed is the UDA to become a more "community" based project - rather than a one-man project. This would do much release cycles from Carl, and also secure the project in the longer-term. I only wish I had Carl's talents and programming abilities - I would offer to help more than I do already. I'm thinking a more "modular" plug-in approach to the UDA might allow it to grow organically like the BartBoot CD. Folks could develop their own plug-ins that would snap-in into the UDA framework. The folks who developed these snap-ins would interface into something like a API standard that would remain relatively unchanged - that way Carl could continue to add functionality to the UDA and fix bugs - without having to re-test and re-certifiy each plug-in... If a major change was needed to the Plug-API, Carl and I would laise with the plug-in stakeholders so they could update thier plug-ins ready for a new release or patch bundle...

Finally, in the interest of the community - I think you should know there is a very good rival to the UDA in the format of the EDA (ESX Deployment Appliance). It's a very good VA - but focused purely on ESX deployments - and it was a little bit slow in coming out with ESXi5 version (whereas the UDA was ready on the day of the vSphere5 GA!). But that said, the number of folks running vSphere5 must still be less than those running vSphere5 - so the tiny amount of kudos in achieving that isn't perhaps as significant as first seems...

Kind Regards

Mike Laverick
RTFM Education...

Regards
Michelle Laverick
@m_laverick
http://www.michellelaverick.com
Reply
0 Kudos
MobileWill
Contributor
Contributor

Thanks, for responding. I just looked up EDA and UDA is much better for what I am trying to do. Over the last week I have really gotten to learn how UDA works and have made a lot of progress. I am not a perl programminger but I would be willing to help as much as possible. I have already found a few things that need updaing and I have a few ideas for new features.

The idea of plugs and community based sounds great but it almost seems this project has slowed or almost died. The forum over at the site has a lot of spam. I tired to post but never got approved. Any chance I can help support the forum and help with updates?

So far there is where I am at.

I have had to rebuild a ton of times trying to get it work to work perfectly.

1. I have been using the vmdk and converting to esxi5, is your ova version different? Should I start with that? I am using exi5 free.

2.) As mentioned above I fixed gparted, clonzilla so that could be an update.

3.) By doing a manual config and using livecd-toolset I was able to get some live distros working. Fedora and centos. Ubuntu works as well only had to share out over nfs the ubuntu files.  So this is something that could be a added feature. I couldn't get openSUSE live to work since there CD is differn't on how the live works compared to Fedora/CentOS.

4.) Currently I was trying to extend the drive and it seems that tfttp won't follow sym links during pxe boot, so I was trying to make another local folder like local but there is a lot of code to change to do that. I did some but it won't browse the folder.  So I am going to try to remount local as my new folder. The UDA add storage doesn't really work to add local storage so you can store ISO's locally, which I am trying to do.

5.) Been having weird stuff going on, seems like if I add a new OS with no parameters, so I can edit the files myself to add netbootme(which works) I get cli errors that mkdir and rmdir is missing parametters and the such. Something also caused the pxe header file to error when saving but still saves. The error says unble to create directory and something with pxeconfig.cfg. I can't remember right now since I have rebuilt it so many times. 

6.) As I tried to post in the other forum I have been unable to get bartpe/ubcd4win to work at all. I don't know what I am doing wrong but using winxpsp2 I get black screen after the first inital white text at the top when booting. If I used the win2k3sp2 source I can't even add it as a os has a error unable to find i386. And if I browse to it is ts blank so not sure why it can't mount right or what is the differeance.

Anyways I hope I can help and maybe work with a new release. another idea is a while to easily customize the interface, like title and colors. That would be good for companys and such.

Just to let you know I am doing this all at home and when I have time. For me the live distro's is mostly what I want. But the auto installs is great when working on computer and such.

It seems UDA like remote ISO storage rather can local, which is where I am having issues getting to work.

Reply
0 Kudos
MobileWill
Contributor
Contributor

So umount local and remounting my iso store and local worked well. Now I can browse it in UDA. So there is a lot of code that is hardcoded for local. I couldn't find the code for browsing that mentions local. This will have to work for now I guess. Any ideas? Maybe we can make it so you can use your own local mount.

Thanks again

-William

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Hi William!

Good to hear your enthousiastic about the project!  I've not been doing a lot of developing lately, but I'm in the process of going over all the different OS-es and see if they (still) work. While I'm doing that I'm trying to see if I can get new releases of Fedora, Ubuntu, Redhat etc. to work.

Answers to your questions:

1. To be honest I have not tried the ova version, the vmdk should work, at least it does on my workstation.

2.  Please keep sharing your findings! I did not get around checking out new versions of clonezilla etc.

I see you did and thanks for the tips! I'll see if I can put together an update soon.

3. Please let me know how you made it work e.g.

* Which CD/dvd image you downloaded

* what kernel and initrd you imported, where they are on the cd/dvd

* the kernel commandline you've been using

* How you told the kernel where to look on the network for the live files

4. The Storage->Add is for adding extra (external) iso stores that work with NFS or Windows shares (they should not only have full control on the share level, but also on the file level b the way. And If that does not work try giving 'everyone' 'Full Control' on bothe the files and the share).

As for the /local share: If you startup UDA for the first time you'll have a very small /local share. I won't be of much use, since it's only a few Mb and will not hold a full ISO of any OS... You can expand it by:

* Turning off UDA

* Adding an extra virtual SCSI disk

* Starting up UDA

* System->Diskspace

* Choose /local and hit 'Expand'

* Choose the disk you just added and hit Apply

Now /local is expanded with the disksize you just added.

That is how it should work but from you comments I guess it doesn't.. Can you check out the Systems->Actions and see if you can find the expand action there and send me the results? I read you've found a workaround, so if you want to stick with that, just go with it...

You're right about the tftpd not following symlinks. I've been running into the same problem over and over again...  I've found though that it does go into directories that are mountpoints themselves, so you will be able to mount an iso file in there (e.g. on /var/public/tftproot/testcd ) an publish the contents over tftp in that way.

5. The problem you are describing sound like you've been facing a full system disk, so that some files were not able to save properly. I'm afraid I have no solution for that. I do hope you've made some snapshots of the UDA before the probems started... You can expand the system filesystem the same way  you did with the /local filesystem, just choose system instead of local before you hit Expand..

6. UBCD4WIN I've never tried, personally I would try to get it to work by just booting the ISO from memory. That is possible in newer releases from pxelinux (it will load the ISO into memory over tftp, mount it as a CD and boot from there), but I have not looked into that very good yet...

Bartpe is a whole different story. I tried to get it to work, but it does not seem to work very good in most cases. Some things to keep in mind:

* Create a bartpe iso using the bartpe tools you can find on the internet. Those tools ask you to supply it with a windows installation CD. Feed it a win2k3 install CD (I use a vanilla, so no SP1/2/3, never tested it with those since I do not have them...).

* When that is done, Feed both the BARTPE.ISO (filename must be uppercase, see release notes...) and the win2k3.iso to the uda during the import bartpe os (they have to be in the same directory to be able to select them both at the same time...) Use the same windows 2003 install CD you've used to create the bartpe CD.

* Then don't forget to create a template for that OS (flavor)....

* These day I'm not sure lots of people are still using BartPE, I guess the recent WinPE distributions give you actually microsoft supported tools to get the same thing working.... Actually the WinPE stuff is on each windows 7/2008 DVD in boot.wim. If you import a windows7 DVD and create a template on top of it, you'll end up with a WINPE configuration over PXE that will start an installation of Windows7. You can of course replace the winpe.wim the UDA built with another winpe.wim you've built with the WAIK or with the tools at reboot.pro.

Let me know if you have more questions!

Carl

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Bekax,

Can you check if the Windows 7 DVD has a UDF filesystem (good)  or an ISO filesystem (not good)?

Carl

Reply
0 Kudos
MobileWill
Contributor
Contributor

I am surprised there isn't more community instrest in UDA as there really isn't anything like it. I saw cobbler but found this better. Or course there are thing like Altiris and Kbox for commerical applications. But for home/small business this is great. Wish I had this years ago.

1 So far the vmdk is fine with vmware converter. Have done it a bunch of times, using snapshots now Smiley Wink

3. So to use the lastest versions of fedora/opensuse/centos I had to make sure I got the DVD install. That works fine. There was a few issues with the kickstart file, but I havent gotten there yet as I am trying to build a perfect install.

For the live CD's I installed centos livecd tool set. Which inserts the ISO inside the initrd and loads via tftp. This worked for Fedora and CentOS live. OpenSUSE I can't figure out yet. WARNING livecd toolset breaks BINL, I couldn't do any win7 or server 2008. Main reason I am starting over. But I saved the iamges so I can use them without installing the tools.

https://projects.centos.org/trac/livecd/wiki/GetToolset

Ubuntu 12.04 Live

Share the ubuntu iso mount via nfs, then edit the kernel config with

KERNEL vmlinuz.ubuntu.Ubuntu12

  APPEND boot=casper netboot=nfs nfsroot=192.168.0.13:/var/public/www/ubuntu/Ubuntu12 vga=normal initrd=initrd.ubuntu.Ubuntu12 quiet splash --

Only odd thing is DNS doesn't work with there new setup using dnsmasq, but if you run sudo dhclient then it works find and you can get online. Booting the ISO normally works fine, so kinda odd.

Live Kenerl Options

CentOS Live

KERNEL manual/centoslive/vmlinuz.centoslive.centoslive
  APPEND initrd=manual/centoslive/initrd.centoslive.centoslive root=live:/CentOS-6.2-x86_64-LiveCD.iso rootfstype=iso9660 rootflags=loop

Fedora 16 Live

KERNEL manual/fedoralive/vmlinuz.fedoralive.fedoralive

  APPEND initrd=manual/fedoralive/initrd.fedoralive.fedoralive rootflags=loop root=live:/Fedora-16-x86_64-Live-Desktop.iso rootfstype=iso9660

Netbootme

This requires a manual edit of the file since it doesn't use the kernel option but the boot option, this could be made to work in the web GUI easily

  MENU LABEL default

  BOOT manual/netbootme/netbootme.kpxe

  APPEND

Windows Server 2008 and Win7 work good. Winxp works but need to figure out the network card drivers. I might just skip on XP. I haven't tired Win 8, just thought about it now.

4 The whole storage thing is really odd. I noticed something though.

I used this guide to extend a volume manually

http://blog.secaserver.com/2011/07/increasing-disk-space-in-centos-using-lvm/

It creates a fdisk partition first. I noticed if I used the web gui and then run fdisk -l it compains about the new drive like the guide shows. So with LVM idk if it matters.

I also have a issue where I can't extend local more than 30gb. It stops at extent 4096. Idk if the journal is to small or what.

I thnk I might just go back to extending Local and call it a day. Spending way to much time just getting the storage worked out. The problem is I need to get more space for the initrd files that have the ISO inside. So I was thinking I would extend both local and system. Like 25gb each. I would of like to symlink it to local but doesn't work.

5. I am not sure, because I started over and it started with I added a manual OS and just saving without changing the fields. So that I could edit them after. I guess what would solve it is copying the old configs i backedup from my first build that mostly works or adding support for netbootme. Which is just one boot file.

6.I had read that UBCD4win should be the same process as bartpe. What borthers me is I had it working with batpe a few years ago with Altiris. I used that ISO at first but that gets the black screen of death (BSOD lol).

I will have to play with it some more once I get the base system working and a good snapshot.

I haven't looked into the new PE. My main goal was for file recover and such but in that case linux would work. I was just used to always using bartpe/ubcd4win. Still would like to try.

My problem is I can't give up untill it works lol

The odd issue I am having at the moment that is driving me nuts is that I can't set the resolution hight for the boot menu. The first build it worked first try. But now it won't swtich the higher resolution. I compared syslinuex versions and yours is older before it supported resolutions. But I though I had it working before I installed livecd tools which updates syslinux. To updated syslinux I had to use the respository for livecd to get 3.86 but I still can't get it to resize. Doesn't make any since. Driving me nuts..... it worked fine before. If I boot up the old VM it still works and the syslinux version is the same now that I updated it. The oddest thing.

Funny that is all start last weekend when I deicded to upgrade my esxi server because I was using a nforce SATA and it would randomly disconnect the controller. So after lots of research I found a mortherboard and cpu that is fully supported, even with directpath. ASROCK Pro3-M.  The best part Microcenter had everything in stock. Last mortherboard. Glad I got the extra RAM at 16gb now. After that I thought I wanted a pxe boot server, make things so much eaiser. I have always been intersted in network boot since back in the late 90's early 2000. This is great where it has come.  I tried making the pxe menu my self with a tftp32 in windows but came across UDA and haven't looked back.

After all the hours I have put into UDA I do feel I have learned and become more comfortable with linux. I have used it lots before but hadn't played with LVM and fstab and stuff. Plus getting more exspoure to perl Smiley Wink

Back to working on it. The menu thing is really bugging me.

Reply
0 Kudos
MobileWill
Contributor
Contributor

Hmm looks like free space on system is an issue. Didn't realize how low it was till I did all the system updates and checked. lol. I installed livecd-tools without anaconda-runtime but binl is still broken. So it was either the system update or livecd-tools/dependices. Most likely the livecd since it happened before. Time to restore shapshot lol.

Btw how do you make submenus using the webgui? I want a menu for all the Linux stuff another one for Windows and one for Tools.

Thanks again.

Reply
0 Kudos
MobileWill
Contributor
Contributor

Just thought of another feature.

When you use the webgui upload to have a option to upload to the tftproot/pxeconfig.cfg so you can upload a image for the menus.

Reply
0 Kudos
MobileWill
Contributor
Contributor

Btw for openSUse 12 you need to use suse 10.1 or higher for it to copy the boot files over. I used 10.2 in the drop down. Which btw the way doesn't have 11 even though the description shows 11.

Also for clonsezilla the copy kernel scripts needs the 1 removed from the file name source.

Ubuntu 12.01 Beta 1should be

local($initrdlocation)="/casper/initrd.lz";
  local($kernellocation)="/casper/vmlinuz";
So far so good. I started over extended local and system and setting everything up and fixing the scripts. Once its done I will take a snaphot and then try netbootme. Probably just copy the configs over instead of using the gui, Same for the live cd's.
Reply
0 Kudos
PeterKuykendall
Contributor
Contributor

I'm *so* glad that this project is alive, at least a bit!

I volunteer for a nonprofit (Tech For All, aka "t4a") that refurbishes and reprovisions donated PCs, mostly with XP.  UDA is a godsend for this project as every machine is different, so cloning via FOG has not been very successful so far.  Having UDA, in combination with AutoPatch and AutoHotKey, provision a PC as a ~4 hour "fire and forget" procedure is going to revoltionize our present manual process.

Regarding making this a community project:  I'd be delighted to help  in any way I can.  For example, I'll volunteer to be a mod on the forums  to kill the spam and post the real messages, thus making that a viable community information exchange medium again, as it has been in the past.  I can also code some,  test various configurations, etc.  Please let me know how I can help.

Regarding local storage, the way I solved it was to create a new virtual HD to hold the ISOs, and mount it at boot, then add a symlink inside the /local directory to point to it.

Step 1:  Create new HD.  I'm using VirtualBoxOSE.  I created a virtual HD called "UDA-cd-images.vdi".  I added that to my VM.  It shows up as /dev/sdb.  I then used fdisk to create a single big Linux partition and used mkfs to format it as ext3.

Step 2: Create a new directory /images which will be the mount point for the new drive.

Step 3: Edit /etc/fstab.  Add a line to the end which causes it to mount the new virtual HD at boot time.

[root@uda ~]# cat /etc/fstab
/dev/udavg/systemlv     /                       ext3    defaults        1 1
/dev/udavg/locallv      /local                  ext3    defaults        1 2
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/udavg/swaplv       swap                    swap    defaults        0 0
/dev/hdb1               /images                 ext3    defaults        1 2

Step 4: Add a symlink to /local which points to the directory with the ISO files.  In my case here's how that looks:

[root@uda local]# ls -lash
total 21K
1.0K drwxr-xr-x  3 apache apache 1.0K Mar  6 22:39 .
8.0K drwxr-xr-x 23 root   root   4.0K Mar 11 15:35 ..
12K drwx------  2 root   root    12K May 15  2009 lost+found
   0 lrwxrwxrwx  1 root   root     12 Mar  6 22:39 t4a -> /images/t4a/

Thanks for your help!  - Pete

Reply
0 Kudos
MobileWill
Contributor
Contributor

I just finished copying over the live conf files and then went into the templates to save them so the menu gets updated and I get this, which I got before when adding the netbootme the normal way. They all boot though.

cp: missing destination file operand after `/var/public/tmp/NetBootme.cfg.5799'
 Try `cp --help' for more information.
mkdir: missing operand
 Try `mkdir --help' for more information.

So I added them to the menu manually for now. 

Then under that shows this


 Error

Could not create directory

Here is the config for netbootme

TEMPLATE=NetBootme
PXEPASSWD=# no password
INITRD=manual/netbootme/
CMDLINE=
MAC=
GENERATEMAC=ON
PUBLISHFILE1=
PUBLISHDIR1=
FLAVOR=netbootme
PUBLISH=ON
OS=manual
DESCRIPTION=Internet Boot
CONFIGFILE1=
KERNEL=manual/netbootme/netbootme.kpxe
SEPARATOR=#
Reply
0 Kudos
MobileWill
Contributor
Contributor

Other than the error above, higher res menu and bartpe/ubcd4win everything is working. Its only the live configs that cause the error. The rest I can open and save fine. So this week I will work on bartpe/ubcd4win to work and maybe try just plain winpe. Oh and I need to figure out how to submenus with the webgui.

Reply
0 Kudos
Michelle_Laveri
Virtuoso
Virtuoso

JUst a quick answer to one of the questions - as I'm unable to answe them all!

1. I have been using the vmdk and converting to esxi5, is your ova  version different? Should I start with that? I am using exi5 free.

There is a .OVA bundle which can be imported into vSphere5... that then imports the vmdks, without a need for conversion...

Despite the lovely encapsulation that VMDKs provide, its seems that VMware unable to create a virtual disk format to rule them all...

This is the build 17 OVA - http://www.rtfm-ed.co.uk/downloads/uda20-build17.ova.zip

and this is the patch bundle that allows it to support ESX5i

http://www.ultimatedeployment.org/uda-2.0.20.tgz

Regards

Mike

Regards
Michelle Laverick
@m_laverick
http://www.michellelaverick.com
Reply
0 Kudos
Michelle_Laveri
Virtuoso
Virtuoso

Guys,

There's been a mention of spam on this formum post... I'm going to raise this with the comunities manager today, and see if they can run a clean up on the forum...

Regards

Mike

Regards
Michelle Laverick
@m_laverick
http://www.michellelaverick.com
Reply
0 Kudos
TomHowarth
Leadership
Leadership

Mike, where is this Spam you mentioned?  I have done a look through this post but could only find one OOA, which I have edited to remove

Tom Howarth VCP / VCAP / vExpert
VMware Communities User Moderator
Blog: http://www.planetvm.net
Contributing author on VMware vSphere and Virtual Infrastructure Security: Securing ESX and the Virtual Environment
Contributing author on VCP VMware Certified Professional on VSphere 4 Study Guide: Exam VCP-410
Reply
0 Kudos
Michelle_Laveri
Virtuoso
Virtuoso

Didn't look myself - just repeating an earlier comment - that said this forum thread was spamalot...

The guy must have been mistaken, and shouldn't have taken it on face-value...

Regards

Mike

Regards
Michelle Laverick
@m_laverick
http://www.michellelaverick.com
Reply
0 Kudos
PeterKuykendall
Contributor
Contributor

The board (http://www.ultimatedeployment.org/forum/index.php) is full of spam. Meantime my posts are still waiting moderation, while the spam gets through.

It's pretty much every new post in the last couple  of weeks.  If you look for any post by the following users you will see it's  everywhere.  The spammer seems to use the same gobbledygook format for creating user names.

kvibxbsoxo

nngqoxrdfd

omjiwlhz

There are several more users like that.  Just check for new users in the last few weeks with that kind of name formatting.  You will find that all their posts are spam.

Also I reported those users via the mechanism on the board a week or 2 ago, but I guess that reporting mechanism is broken, too.

Again, I'm volunteering to clean this stuff up.

Thanks - Pete

Reply
0 Kudos
Michelle_Laveri
Virtuoso
Virtuoso

Ahhhh, Sorry for the confusion - you meant Carl (His Dudeness) forum - thought you meant this one...

Regards

Mike

Regards
Michelle Laverick
@m_laverick
http://www.michellelaverick.com
Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

I'm sorry for the spam on the other forum.

[understatement] Since I do not have much experience in running a forum it's become somewhat messy. [/understatement] .

The spam is being posted by people/bots that have been registering before the paranoia setting (approve all posts from newly registered users) went live...

@Peter: I've made you a moderator. I'll try to keep an eye on the forum myself as well.

Carl

Reply
0 Kudos
PeterKuykendall
Contributor
Contributor

Thanks Carl.  I'll copy my answers over to the forums at http://www.ultimatedeployment.org/forum/ since it's threaded, and also my environment does not include VMware.

Thanks again for creating such a great product!

Reply
0 Kudos