{"id":186,"date":"2010-08-13T11:51:18","date_gmt":"2010-08-13T17:51:18","guid":{"rendered":"http:\/\/benincosa.com\/blog\/?p=186"},"modified":"2014-11-19T11:26:26","modified_gmt":"2014-11-19T17:26:26","slug":"esxi-4-1-kickstart","status":"publish","type":"post","link":"https:\/\/benincosa.com\/?p=186","title":{"rendered":"More notes on ESXi 4.1 Kickstart"},"content":{"rendered":"<p>ESXi 4.1 kickstart is adequate for most things but I still have several issues with it that I consider &#8216;bugs&#8217;:<\/p>\n<p>1.\u00a0 If you&#8217;re not connected to a network, it doesn&#8217;t work.\u00a0 This is fine since most people will be on a network with VMware anyway right?\u00a0 Fine, I&#8217;ll let this one slide.\u00a0 But if you just have a machine and a usb stick, then why do you need the network?\u00a0 Sure you&#8217;ll have it eventually but I just want to test it on my server on my desk&#8230;<\/p>\n<p>2.\u00a0 The kickstart file likes to stop and give you alerts even if everything is ok.\u00a0 As an example:\u00a0 In the post install script if I don&#8217;t put the interpreter it stops and gives me a note:\u00a0 &#8220;Interpreter not specified, using busybox&#8221;\u00a0 That&#8217;s fine, that&#8217;s what the default is.\u00a0 Why stop me?\u00a0 The docs state clearly that the default is busybox.<\/p>\n<p>3.\u00a0 Name resolution doesn&#8217;t work in postscripts.\u00a0 If you&#8217;re trying to get information from other hosts, it doesn&#8217;t work.\u00a0 Forget it.\u00a0 Just put in the IP address in your post install script.<\/p>\n<p>4.\u00a0 USB installations without kickstart don&#8217;t work.\u00a0 You need to have a CD\/DVD image.\u00a0 This is lame.\u00a0 In an era where most servers I deal with don&#8217;t have DVD roms, why make me buy a usb DVD drive?\u00a0 A $10 usb stick should do this just fine.<\/p>\n<p>5.\u00a0 Lack of mount support.\u00a0 This kills me.\u00a0 I want to have a USB drive boot up ESXi 4.1 in kickstart and then boot up with a virtual machine.\u00a0 Problem is my virtual machine is 60GB.\u00a0 After digging around, I see that ESXi 4.1 can get files from a FAT32 filesystem by using the mcopy command.\u00a0 (It doesn&#8217;t do a mount).\u00a0 But what I really want is ext3 support so that I can copy 60GB files onto a hard disk.\u00a0 I&#8217;m thinking about hacking an ext3 driver for busybox, but I don&#8217;t know how difficult that will be.\u00a0\u00a0 Right now, my options seem to break up my disk image into 2GB chunks so they fit on the FAT 32 partition&#8230; lame.\u00a0 Anyway, please don&#8217;t tell me to consider NFS and all that stuff, because I know that&#8217;s the optimal solution.\u00a0 This project is a little different than what you may be thinking of.<\/p>\n<p>Anyway, I don&#8217;t want to keep complaining, so here are some nice things:<\/p>\n<h2>Enable SSH on the TSM.<\/h2>\n<p>We want SSH on our machines, even if its not supported.\u00a0 So we add this to our kickstart file:<\/p>\n<p>%firstboot &#8211;interpreter=busybox &#8211;unsupported &#8211;level=47<\/p>\n<p>sed -ie &#8216;s\/#ssh\/ssh\/&#8217; \/etc\/inetd.conf<\/p>\n<h2>Mounting USB drives<\/h2>\n<p>As I mentioned you can&#8217;t mount USB drives on ESXi 4.1.\u00a0 (At least I haven&#8217;t figured it out yet).\u00a0 You can do passthrough with the USB drives so that the VMs can mount them, but you can&#8217;t actually mount it on the hypervisor.<\/p>\n<p>However you can copy files from the FAT32 partition.\u00a0 Here is an example of a command to use in a kickstart file:<\/p>\n<p>mcopy -i \/dev\/disks\/mpx.vmhba32:C0:T0:L0:1 \\::IMAGEDD.BZ2 \/install_cache\/IMAGEDD.BZ2<\/p>\n<p>(In fact, this is the exact command used by the installer to grab the bz2 image from the fat 32 partition)<\/p>\n<p>So if you had a file named foo on there, you could substitute it in for the IMAGEDD.BZ2 file name and copy it onto your hypervisor.\u00a0 I would do this for copying *vmx files or things like that.<\/p>\n<p>There&#8217;s one catch:\u00a0 The mcopy command is available during installation, but upon reboot, there is no mcopy command!\u00a0 So if you want it, then a good idea is to copy it during the kickstart file to some place where you can get it after its installed.<\/p>\n<p>Anyway, happy VMware VMworld to all you who are going.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ESXi 4.1 kickstart is adequate for most things but I still have several issues with it that I consider &#8216;bugs&#8217;: 1.\u00a0 If you&#8217;re not connected to a network, it doesn&#8217;t work.\u00a0 This is fine since most people will be on a network with VMware anyway right?\u00a0 Fine, I&#8217;ll let this one slide.\u00a0 But if you&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[74,920,39],"tags":[68,13,921,981],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/186"}],"collection":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=186"}],"version-history":[{"count":7,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions"}],"predecessor-version":[{"id":2817,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions\/2817"}],"wp:attachment":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}