Highlighted
Contributor
Contributor

VMWare Workstation 7.1.4 build-385536 - autoinst.iso

Surely this awesome product is not this brain-dead?

I am trying to set up CentOS 6 VM's and if I do the easy or the custom, it still generates and runs the autoinst.iso to do an easy install.  This would be fine except no matter what size of disk I create I end up with a 48 MEGABYTE /boot - and of course when I try to do my first update to CentOS, there is a kernel update that bombs because there is not enough space on /boot FOR EVEN ONE MORE KERNEL!

48 Megs - are you kidding me?????

Yes, I know I can just remove the easy install files (autoinst.iso and autoinst.flp) and then do a manual install and do the partitioning correctly, but I like the easy set up - It's nice and consistent if I am creating VM's for production or customers.

What I need to do is fix the script that creates the kickstart file that does the partitioning and increase it to 256 Megs - I know I can edit the created autoinst.iso after the VM is created, but if I can fix the template, then no editing is necessary and I can use the easy install.

I have searched for two hours on Google and in the install directory and I can't find anyplace where the parameters are defined - Surely this is not hard-coded into the Executable?

How can I (Permanently) fix this?

Greg

0 Kudos
4 Replies
Highlighted
Virtuoso
Virtuoso

I would just skip the whole autoinst.iso process.  I have never used it myself. 

When creating a new VM, select "Custom" and then select "I will install the operating system later".  You will get full control over the installation process and can make your /boot partition any size you want.

0 Kudos
Highlighted
Immortal
Immortal

Surely this is not hard-coded into the Executable?

Unfortunately it is hard coded! Smiley Sad  The file it's hard coded in is: vmwarebase.dll

My guess would be that it was probably supposed to be coded as "part /boot --size 500" but ended up "part /boot --size 50" and was probably a typo.

Highlighted
Contributor
Contributor

Hmmm...thanks for the pointer to the file - A Hacking-I-Will-Go...

Will report back with success or failure.

Greg

0 Kudos
Highlighted
Contributor
Contributor

Solution:

1) Download a Hex editor - Here is a free one:  http://www.hhdsoftware.com/free-hex-editor
2) You will need to stop the background vmware-processes before you can save your changes - terminate the processes before you try to edit the file!
3) Make a backup copy of the file C:\Program Files (x86)\VMware\VMware Workstation\vmwarebase.dll
4) Open the file with the hex editor: C:\Program Files (x86)\VMware\VMware Workstation\vmwarebase.dll
5) This is a DLL - Dynamic Link Library, so the file size and entry-point locations matter - do NOT insert or remove bytes or you will break it!
6) You can however alter the file as long as you don't make it bigger or smaller.
7) Do a find (Ctrl-F) and look for /boot - what we want is the 6th occurance (F3 to move ahead) - It will look like this:
     .part /boot
--size 50.
part
swap --recommend
ed.
part / --size
3000 --grow --m
axsize 4000.
part
/home --size 10
00 --grow
.
A couple of notes here - this is the section we have to work with - If you only want to increase the size of the /boot partition, you can
increase it to 99 here safely - that is still a pretty small boot, but at least you can fit a couple of kernels in it - however the /
partition is also constrained to minimum of 3 gigs and a maximum of 4 gigs - Weird defaults!
Here is what I did to fix it - I switched it to autopart so that the OS would set up the partitions based on the size of the disk.  Here is what
it looks like fixed:
     .autopart
         
.
The periods are ASCII Code 0a - make sure you replace everything between the two .'s with plain old spaces - and again, make sure that you don't
change the file size.  Save the file and then open up the VMware Workstation console and if it starts up, you probably did it right.
Here is a sample of the auto-partitioning schemes that CentOS came up for various Virtual Disk Sizes:
                /boot                   /                   /home
20Gig               524Meg               19Gig               N/A
64Gig               524Meg               33Gig               33Gig
128Gig               524Meg               54Gig               81Gig
256Gig               524Meg               54Gig               219Gig
512Gig               524Meg               54Gig               493Gig
1TB                    524Meg               54Gig               1.1TB
I actually put in 20, 64, 128, 256, 512, and 1024 in the Disk Size box - It looks like VMware adds about 10% additional on to the number you specify.
It also looks like CentOS thinks that 54Gig is all you will ever need for / - I wonder what the other Linux Distro's will do...
Enjoy - I will update this post if I find other patches to be made to the file for other Distro's.
Greg
0 Kudos