Change Needed for VM to PXE boot to FOG...
-
And you try and use the files found in SVN trunk
-
I’ve tried:
[CODE]wget https://svn.code.sf.net/p/freeghost/code/trunk/packages/tftp/undionly.kpxe -O /tftpboot/undionly.kpxe[/CODE]
and
[CODE]
cd /var/www/fog/service/ipxe/
rm init.xz init_32.xz
wget https://svn.code.sf.net/p/freeghost/code/trunk/packages/web/service/ipxe/init.xz
wget https://svn.code.sf.net/p/freeghost/code/trunk/packages/web/service/ipxe/init_32.xz
[/CODE]Plus I’ve tried [url]http://fogproject.org/forum/threads/ipxe-issues-work-around.10727/[/url] . The symbolic link works, but the same error results.
The physical machines I’ve tried so far all work, it is only hanging up with my Hyper-V 2012 VMs with the same two errors as the original poster.
-
It will be ugly, but can you try this:
[url]http://fogproject.org/forum/threads/dell-optiplex-320.10872/#post-31511[/url] -
[quote=“Tom Elliott, post: 32252, member: 7271”]It will be ugly, but can you try this:
[url]http://fogproject.org/forum/threads/dell-optiplex-320.10872/#post-31511[/url][/quote]Editing {fogwebdir}/lib/fog/BootMenu.class.php changing line 600:
[PHP]print “console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n”;[/PHP]
to
[PHP]// print “console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n”;[/PHP]
… appears to be working! … oh wait… nvm.
I get to the Control Key prompt to enter, then the username/password page, but then the same error occurs. -
Can you comment out all instances of console within those files? I believe there’s only one but I could be way off.
-
There can be only ONE!
ahem… There is only one instance of “console” in that context. There are two other entries as variables “consoleblank=0”
And now, somehow, I’m back to the original condition without getting to the ControlKey and Username/Password.
I read somewhere else, someone was having an issue where they could only get things to work immediately after rebooting the server. So I tried that.
If I time the PXE boot on my VM to hit the FOG server within the first few seconds of restarting, I can get all the way to the PXE menu. I quickly then tried to do a Quick Host Registration.
/bzImage… ok
/init.xz… ok
tsc: Fast TSC calibration failed
The VM window re-sizes to what looks like 1024x768, then if I’m lucky, I might get to:
piix4_smbus 0000:00:07.3: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr
… otherwise it’s hanging after the screen re-size.
I then disabled the firewall:
[CODE]sudo ufw disable[/CODE]
My VM is showing CPU usage above idle (12%) while I’m stuck.
Meanwhile we’re looking into the SQL server. -
Alrighty… something’s working.
I’ve been stepping up through the kernels and have landed on unofficial 3.15.3 that appears to be working … okay-ish.
I’m grabbing a linux server vm right now and it spitting up errors like watermelon seeds along the likes of:
bug: using smp_processor_id() in preemptible [00000000] code partclone.image/2520
… but it is still working through the upload.
Now to blow it all away back to bare metal and see what fixes are really needed.
-
… 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.