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
kandc4u
Contributor
Contributor

Ta.

UDA 1.3

Running command |/bin/mount -t iso9660 -o loop /var/public/smbmount/nimda/wxpsp2.iso /var/public/tftproot/WINXP| ERROR

CIFS VFS: send error in read= -13

isofs_fill_super: bread failed, dev=loop0, iso_blknum=16, block=32

I have checked the permissions on the share and directory and iso, and have made a new iso from LCisoCreator with same results.

ONly thing I haven't tried is putting share on another machine, as someone suggested.

Do we have to have an iso? Would it be possible to just use a full copy of the cd in a folder?

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

kandc4u,

Are you sure you're not using easy sharing? Otherwise you may want to try 'mounting' the iso file in windows with daemon tools and see if that works properly.

Putting a full copy of the files in a folder is not supported (yet) in the UDA. It will probably come in a future realease.

Also, please check if you windows (host) machine is a domain controller, this thread looks like it has the same problem and that a newer kernel may have solved the issue: http://www.fedoraforum.org/forum/showthread.php?t=100193

Reply
0 Kudos
kandc4u
Contributor
Contributor

Thanks

No to easy sharing- Domain Controller.

Daemon Tools mount works fine for the iso and can copy from it.

Have updated Samba as suggested to 3.0.23c-4 but no change.

However consider these entries after mount attempt

/etc/mtab

//192.168.1.34/iso /var/public/smbmount/peach cifs rw,mand 0 0

/proc/mounts

//192.168.1.34/iso /var/public/smbmount/peach cifs

rw,mand,unc=
192.168.1.34\iso,username=me,domain=,rsize=16384,wsize=57344 0 0

The form has no way to specify a domain; is there a way to do that on command line?

Also what about joining the FC5 to Win Domain? I've tried some commands like net ads but it doesn't find some file and I haven't set up Kerberos.

I also tried changing the WIn group policy to not do digital signing and send unencrypted passwords to 3rd party SMB servers.

Just finally, I have the FC5 virtual network address in the same range as the physical net card, shouldn't I be able to ping out to the internet via my modem as gateway from the FC5 like I can in Windows?

Regards

Reply
0 Kudos
kandc4u
Contributor
Contributor

Also, using WInSCP I could see that the iso was indeed mounted in the folder in smbmount and had the same files as in the windows share. However the WINXP folders in tftproot were all empty.

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Since you have the rights to change the policies, you may also be able to create a local user (use another name than the domain user to be sure) on the windows system. Do that and you will not need to specify a domain. I've put the domain user option on my todo list for a next version.

It's strange that the cifs mount (your network drive on windows) worked, but mounting the ISO file in it didn't work... Could you try to put a file in the smbmount/mountname directory with winscp. This will tell you if you can write in the directory where the .iso files reside with the current mount options/credentials. Log in with winscp as root, so you're sure that from the linux side you are allowed to write the file.

I'm suspecting the domain user configuration to be the problem, probably in combination with the share/directory/file permissions...

Reply
0 Kudos
kandc4u
Contributor
Contributor

Right-oh, can't make a local user with AD installed, domain only.

Tried specifying domain in command line mount but no difference.

Yes I could copy files to the smbmount/mountname dir from win & FC5.

COPIED iso to folder in smbmount. Ran the regular mount iso9660 from command line and it mounted in WINXP fine. Even showed as mounted in OS page.

Now I just need command lines that will create the other folders and make a boot image, please.

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

You can bypass the mounting in the script by editing

/var/public/cgi-bin/uda.pl

Try commenting out the actual mount and unmount commands:

1. In the sub ImportOS comment out the unmounting of the current mount (put hash marks before the following lines):

\# print "

Unmounting old Share

";
\# local($mountdirname)=&GetMountDirName($os);
\# local($command)="/bin/umount $mountdirname";
\# local(@result)=`sudo $command 2>&1`;

\# if ($? != 0)

\# {

\# print "@result";

\# }

2. In the sub ImportWindows comment out the following:

\# print "

Mounting isofile $fullfilename on $mountdir

\n";
\# local($command)="/bin/mount -t iso9660 -o loop $fullfilename $mountdir";
\# print "Running command |$command|\n";
\# local(@result)=`sudo $command 2>&1`;
\# if ($? != 0)
\# {
\# print "ERROR";
\# print "

@result

\n";

\# return 1;

\# }

The script will then skip the mounting, and I am assuming that you have mounted the iso file with something like:

mount -t iso9660 /var/public/smbmount/yourfoldernamehere/winxp.iso /var/public/tftproot/WINXP

Good luck and let me know what happened

Reply
0 Kudos
Thrakorzog
Contributor
Contributor

Mounting problems. I have had the same error as JRichards twice on two different server. I believe that to be the rub. Both were Windows Server 2003 servers with shares defined for "Everyone" with full control on the share permission and the NTFS security tab. This was, under all circumstances that I attempted, completely unsuccessful. After moving the ISO file to a Windows XP workstation and sharing a folder there, the mount succeeded without any hesitation.

I suspect that guest access may be required by the UDA. This is turned off by default on the Windows server. I do not have a non-production 2003 server to test this theory on, but I am open to anyone who has one who can try by enabling the guest account and seeing if this works / then disabling it back and seeing if it breaks.

It is not readily apparent to me where to locate the post installation scripts so that I can call all of my silent installations to the completed workstation. Is this done at the console prompt?

I would be willing to donate my time to help with project documentation if you are interested.

Thanks again for your work on this thedude.

Sincerely,

Thrakorzog

Reply
0 Kudos
Thrakorzog
Contributor
Contributor

Apparently when I turned off the Guest account, the system failed to be able to mount the ISO again, even though the user was defined as something other than Guest.

One mystery down, but I have another one... more of a question, really...

Is it possible to run this in an environment that already has a DHCP server? I noticed that the 3Com PXE services allowed for a "DHCP Proxy". Is this possible with the UDA? I cannot affectively turn off our DHCP server without affecting quite a bit. I am told that in a month or so, our DHCP will be migrating to a server on which we have no control (including the ability to turn it off). This would be great if it were possible.

Thanks

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Thrakorzog,

First of all, good thing you solved the mounting problem mystery! It would be better indeed if things like this were in some kind of documentation. Any help there would be highly appreciated!

Now for your dhcp question: It should be possible to use another DHCP server on your network. You would need to disable the dhcp server on startup (/sbin/chkconfig --level 3 off) on the UDA. And make sure the other DHCP server responds to IP requests properly (it probably already does) and it also repsonds to PXE requests. You would need a DHCP configuration which mimics the following settings:

if substring ( option vendor-class-identifier, 0, 9) = "PXEClient"

{

filename "pxelinux.0" ;

next-server 10.0.0.104 ;

}

What happens in these setting is that the PXE client is instructed to download the file pxelinux.0 in the root of the tftpserver directory on the server 10.0.0.104. Any DHCP server should be able to 'serve' these options.

Good luck!

Reply
0 Kudos
Thrakorzog
Contributor
Contributor

I found the answer for MS DHCP configuration here: http://pxes.sourceforge.net/howtos/ms_only_environment/

It stepped through including the netsh commands necessary to add the options.

Thanks, Willis!!

thedude_, I have non-interactive installations for most of our software, but I don't know how to get them to launch once the OS install is complete. On New Items 3.1.3 - 5 You mention the pre & post install scripts. Where are these located & how can they be modified?

Thanks again!!

Reply
0 Kudos
ricardocanavate
Contributor
Contributor

Hi Friends! I'm from Spain, sorry for my English. I've just installed UDA 13 in one virtual machine, UDA starts well and another virtual machine starts from PXE, but nothing appears, searching in google about ../pxelinux.cfg/default configurations I try to boot with Operating System and the only one have been Ubuntu Linux with this configuration:

label 3

kernel linux.ub606s

append initrd=initrd.ub606s.gz

The problem are with the configuration of BartPE or Windows XP, Microsoft Operating Systems,How I can configure this file to boot from this operating system?.

Thanks in advanced

Reply
0 Kudos
Thrakorzog
Contributor
Contributor

If you have mounted your OS, then the next step is to create a Template. That will populate the PXE menu.

If you cannot mount your OS's ISO file, that is a different problem.

Message was edited by:

Thrakorzog

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Thrakorzog,

The pre and post install scripts are onmy todo list for a next version (The fomatting is a bit weird so it is not entirely clear that these features are under the TODO chapter...)

But the easiest way to do an after-install script under windows is to run it fromthe startup directory after the first reboot of the system.

I'll show you the steps that I was planning to automate for this, but be aware, I haven't tested it...

1. in the template (.sif) file:

\[GuiUnattended]

AdminPassword=YourPasswordHere

AutoLogon=Yes

AutoLogonCount=1

EncryptedAdminPassword=No

2. in the template file:

\[GuiRunOnce]

triggerafterinstall.vbs

3. create an triggerafterinstall.vbs

set WshShell = WScript.CreateObject("WScript.Shell")

strStartup = WshShell.SpecialFolders("Startup")

set oLnk = WshShell.CreateShortcut(strStartup & "\afterinstall.lnk")

oLnk.Description = "AfterInstallScript"

oLnk.TargetPath = "afterinstall.vbs"

oLnk.WindowStyle = 1

oLnk.Save

4. in the /etc/tftpd.map file

rgi /WINXP/\$\$/triggerafterinstall.vbs /WINXP_EXTRA/triggerafterinstall.vbs

rgi /WINXP/\$\$/afterinstall.vbs /WINXP_EXTRA/afterinstall.vbs

As said I haven't tested it, but it might work, you may want to add some stuff in the GuiRunOnce section in the sif file yourself, that's where the trigger is, but be aware that the system hasn't been booted yet then, so you may not have the proper network settings just yet. Maybe something like this in that key may work better:

copy
10.0.0.104\REMINST %WINDIR%

Lot of ideas, but no time to implement... Smiley Sad

Reply
0 Kudos
Thrakorzog
Contributor
Contributor

I had figured out the GuiRunOnce, and have tried using a UNC mapping to the server and a batch file that loads each silent install in succession.

I don't know if this will work, but there;s only one way to find out & I'm about halfway through my VM load test.

I like the idea about creating a share just for this purpose off of the main server and onto the same server used for ISO mounting. It clears out some security concerns as well (if it has to connect as an unauthenticated user).

I will post my results.

Reply
0 Kudos
Thrakorzog
Contributor
Contributor

The GuiRunOnce executed \_after_ I logged in with my Domain Account. This means that it had authenticated access to network resources and could execute my batch scripts.

Thanks again.

Reply
0 Kudos
Rylz
Contributor
Contributor

thedude_:

I got OpenSuSE 10.2 to PXE install successfully. However, it hits the console login prompt and... I'm stuck. I obviously didn't get prompted to enter a username/password anywhere and root will of course not login from the console. What would the default login be? Is there somewhere I can modify what users are auto-created during the autoYaST install? Help PLZ!

Reply
0 Kudos
ricardocanavate
Contributor
Contributor

Thrakorzog, thanks for your answer and let me ask you again:

Ho I can create a new template to populate the PXE menu?

Thanks

Reply
0 Kudos
_the_dude_
Enthusiast
Enthusiast

Rylz,

You are right, there is a bug in the template file. I forgot to put in a root user and password. Check out this page on how to do that.

http://www.suse.de/~ug/autoyast_doc/Configuration.Security.users.html

Only option is reinstall with new template file... I've tried to log in with loads of obvious/default passwords, but no cigar...

Reply
0 Kudos
Rylz
Contributor
Contributor

Great, thanks! I'm working on adding that right now. I don't mind reloading it again... I've done it 3 times already, hoping that I somehow missed the username stuff. ;o) And I did the same thing as you, tried every single default I could think of with no luck. Oh well, trial and error... that's how we learn.

Reply
0 Kudos