Change Needed for VM to PXE boot to FOG...
-
… but wait! There’s more!
This current configuration with this kernel works but is extremely slow to proceed after “/init.xz… ok” on the physical machines I was using for testing. It eventually pops up a failure to configure the network adapter. (an Intel 82567LM-3 Gigabit Network Connection)
-
Alright, here is where I’m at:
01> Login Ubuntu Server 14.04 (x64) / Execute BASH Shell as SuperUser
sudo su
02> Change Hostname
hostname servername
03> Install a new HDD
( [url]https://help.ubuntu.com/community/InstallingANewHardDrive[/url] )lshw -C disk
fdisk /dev/sd?
n p 1 <enter> <enter> w04> Quick Format Second HDD as NTFS
mkfs.ntfs -Q /dev/sdb1
mkdir /mnt/temp
mount /dev/sdb1 /mnt/temp
ls -la /mnt/temp
umount /mnt/temp05> Attach Second Volume by Appending AutoMount Entry to File System Table
vim /etc/fstab
“i”all spacing is tabs
FOGStore for images
/dev/sdb1/imagesntfsdefaults00
[ESC], [SHIFT]“:”, “wq”
06> Create MountPoint
mkdir /images
07> Set permissions on /images
chmod 777 /images
08> Mount the New Volume
mount /images
09> Download latest SVN of FogProject
cd /opt
wget [url]http://downloads.sourceforge.net/project/freeghost/FOG/fog_1.1.2/fog_1.1.2.tar.gz[/url]
or ?
wget --no-check-certificate [url]http://mastacontrola.com/fog_trunk.tar.bz2[/url]10> Extract
tar -zxf fog_1.1.2.tar.gz
11> Disable Firewall for Fog
ufw disable
12> Create DHCP Reservation
reboot
13> Login Ubuntu Server 14.04 (x64) / Execute BASH Shell as SuperUser
sudo su
14> Install Fog
cd /opt/fog_1.1.2/bin/
./installfog.sh@ What version of Linux would you like to run the installation for?
2
@ What type of installation would you like to do?
n
@ What is the IP address to be used by this FOG Server?
<verify the reservation address>
@ Would you like to setup a router address for the DHCP server?
n
@ Would you like to setup a DNS address for the DHCP server and client boot image?
n
@ Would you like to change the default network interface from eth0?
n
@ would you like to use the FOG server for DHCP service?
n
@ This version of FOG has internationalization support, would you like to install the additional language packs?
n
@ Would you like to donate computer resources to the FOG Project?
n
@ Are you sure you wish to continue?
y
@ Press enter to acknowlege this message.
<enter>
@ Configuring mysql-server-5.5
<password>
@ Did you leave the mysql password blank during install?
n
@ Please enter your mysql password:
<password>
@ Press [Enter} key when database is updated/installed.Using a browser visit [url]http://0.0.0.0/fog/management[/url]
Select: Install/Upgrade Now
@ Update / Install Successful!<enter>
@ Send Notification?
n@ Script done, file is /var/log/foginstall.log
15> Restart
reboot
16> Login Ubuntu Server 14.04 (x64) / Execute BASH Shell as SuperUser
sudo su
17> Update hostname file with server’s new name
vim /etc/hostname
“I”
servername
[ESC], :wq18> Update hosts file for server’s new name
vim /etc/hosts
“I”
line 2 : 127.0.1.1 servername.domainservername
[ESC], :wq19> Restart
reboot
20> Configure DHCP Options for PXE for Subnet Scope
Option 066 Boot Server Host Name “0.0.0.0”
Option 67 Bootfile Name “undionly.kpxe”21> Change Web Interface User Account
Visit [url]http://servername/fog/management[/url]
Login as user: fog password: password
Change username to: <username> / password: <password>22> WorkAround for Hyper-V iPXE compatability
vim /var/www/fog/lib/fog/BootMenu.class.php
“I”
old line 600 : print “console – picture …”
new line 600 : // print “console – picture …”
[ESC], :wq23> Update Kernel (from Developer’s site – [url]https://mastacontrola.com/fogboot/kernel/bzImage[/url])
cd /var/www/html/fog/service/ipxe
mv bzImage bzImage_orig
mv bzImage32 bzImage32.origwget --no-check-certificate [url]http://mastacontrola.com/fogboot/kernel/bzImage[/url]
wget --no-check-certificate [url]http://mastacontrola.com/fogboot/kernel/bzImage32[/url]24> Update to latest undionly.kpxe
cd /tftpboot
mv undionly.kpxe undionly.kpxe.origwget [url]https://svn.code.sf.net/p/freeghost/code/trunk/packages/tftp/undionly.kpxe[/url] -O /tftpboot/undionly.kpxe
iPXE is working. The problem now is finding a kernel that works on both the physical hardware and Hyper-V virtual machines…
So far I’ve tried for bzImage:
3.15.3 original32 for 1.1.2
3.15.1 original for 1.1.2
3.14.3 original for 1.0.1
3.14.2
3.12.5
I used 3.12.5 on 0.32 successfully. -
Had the same problem with 1.1.2 and Hyper-V 2012R2.
I just made the {fogwebdir}/lib/fog/BootMenu.class.php line 600 hack conditional…
[PHP]
if (substr($_REQUEST[‘mac’],0,8)==“00:15:5d”){
print “# Hyper-V MAC address detected - no console background\n”;
} else {
print “console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n”;
}
[/PHP]…Now all users still see the corporate branded background - and I can still capture master images in Hyper V
-
What kernel (bzImage) are you using ?
-
Loving the conditional code. All my system samples accept the iPXE 1.0.0.0 (53653) that comes with Fog 1.2.0 (svn 2041) after the conditional code is injected; now at line 601-605.
I will branch off into my own Topic next post as I report on my testing the menu options and kernel.
-
Worked for 1.0.1. Different line number however. Thanks a lot netbootdisk.
-
Apologies for grave digging but this seemed to be the best thread for the same issue (I searched on google and on the forum but couldn’t find a homogeneous solution. Anyway for others searching the same issue. I too had FOG 1.2 working fine on physical hardware but my hyper-v VMs were throwing up http://ipxe.org/2d8c203b “could not boot” errors. This is indeed due to a change needed in /fog/lib/fog/BootMenu.class.php - hyper-v cannot render the bg.png apparently.
for me, the line print "console --picture $this->booturl/ipxe/bg.png needed commenting out. Or you can make it conditional (on mac address)
if (substr($_REQUEST[‘mac’],0,8)==“00:15:5d”){ print “# Hyper-V MAC address detected - no console background\n”; } else { print "console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n"; }
Again sorry for grave digging but since this is top of the google tree then hopefully this can help someone else.
-
@KKTwenty101 I’d highly recommend moving to trunk as there is no more need to comment out the console lines.
-
I did try to upgrade to SVN trunk but that brought nothing but errors and woe for me. I had INPUT/OUTPUT ipxe errors on client boot, it hung on sending inventory to server, http500 errors when I tried to manually check a mac via HTTP, “getbanner()” PHP errors in the console so in effect I gave it up as a bad one as I don’t have time to strip down and reinstall from scratch (I attempted to upgrade a working 1.2.0 to SVN trunk) at the moment (i’ll have a go installing from SVN trunk at some point and import the SQL configuration when I get a chance - I need to really as im running at about 600Mb/min on PIGZ 3 which is way slower than the old partimage 0.32 of close to 2Gb/Min I was used to)
I’ll do that again some time…
Ironically, SVN trunk calls bg.png from BootMenu.class.php, would that cause an issue? (I tried commenting that out in my failed attempt but since I was getting http500 errors on http mac ipxe calls then this wasn’t the real problem I was having)
-
@KKTwenty101 I’ve fixed the inventory send bug now, but I need to know more about this getbanner error’s you’re talking about.
-
I have a fresh centos VM install that I can use, i’ll have a look today and install SVN trunk from scratch. There could well have been something in the SQL backup restore that SVN didn’t like. I’ll post in a fresh thread so that this doesn’t get polluted too much.