@networkguy All of our Moderators, Developers, and Senior Developer are trustworthy people. If you don’t want to upload the capture to the forums, I might suggest messaging them to get an email address you can send it to. If they are able and willing, they will look through it and then the conversation can continue here in this thread without anything sensitive being shared.

Posts
-
RE: ipxe dhcp timeout
-
RE: Dell Latitude E7470 Freezes during registration
I agree with George.
If you can build a new server from scratch, do it.
-
RE: Dual NIC clients
@tag said in Dual NIC clients:
If i understand you correctly, your suggestion of trunking would enable the client to connect to the TFTP server on either link?
No, the developmental version of fog is called “fog trunk”.
-
RE: Fixparts missing form SVN 3557 & 3564
It should be there…
Try to search for it on the debug host?
[CODE]find / | grep fixparts[/CODE]
-
"Delete file data" checked as default
Never once have I removed an image definition without also wanting to delete the data. Maybe I’m the only one??? I doubt it though. If deleting the data too is what most people do most of the time, then this checkbox should be defaulted to checked.
-
RE: PXE Surface PRO 3
We are requesting that all community members who have Surface Pros to please do a packet capture, to capture the DHCP conversation the client sends out at boot time via the ethernet dock, and upload the capture here. The intent is to gather more information about the Surface Pro, so fog can better support network booting it.
Thanks,
Wayne -
RE: Dual NIC clients
I’ve been working on this.
This is my first go-round with a custom init so I’m asking that @Sebastian-Roth and @Tom-Elliott and @george1421 to take a look, too.
I’ve not tested, as I don’t readily have available a machine with multiple interfaces, but I think I’ve got a universal init that you can pass a custom kernel argument to, which will ensure the correct interface is up, and others are down. So far, I’ve coded for three possible interfaces. I already had many of these functions already written in another project I’ve been working on.
in the init, I’ve edited the file
/usr/share/fog/lib/funcs.sh
to include these functions:cidr2mask() { #Expects CIDR notation (a single integer between 0 and 32) local i="" local mask="" local full_octets=$(($1/8)) local partial_octet=$(($1%8)) for ((i=0;i<4;i+=1)); do if [[ $i -lt $full_octets ]]; then mask+=255 elif [[ $i -eq $full_octets ]]; then mask+=$((256 - 2**(8-$partial_octet))) else mask+=0 fi test $i -lt 3 && mask+=. done echo $mask } getCidr() { #Expects an interface name to be passed. local cidr cidr=$(ip -f inet -o addr | grep $1 | awk -F'[ /]+' '/global/ {print $5}' | head -n2 | tail -n1) echo $cidr } mask2network() { #Expects IP address passed 1st, and Subnet Mask passed 2nd. OIFS=$IFS IFS='.' read -r i1 i2 i3 i4 <<< "$1" read -r m1 m2 m3 m4 <<< "$2" IFS=$OIFS printf "%d.%d.%d.%d\n" "$((i1 & m1))" "$((i2 & m2))" "$((i3 & m3))" "$((i4 & m4))" } GetInterfaceInfo() { DIR="/" ip link show > $DIR/interfaces.txt interface1name="$(sed -n '3p' $DIR/interfaces.txt)" interface2name="$(sed -n '5p' $DIR/interfaces.txt)" interface3name="$(sed -n '7p' $DIR/interfaces.txt)" rm -f $DIR/interfaces.txt echo $interface1name | cut -d \: -f2 | cut -c2- > $DIR/interface1name.txt echo $interface2name | cut -d \: -f2 | cut -c2- > $DIR/interface2name.txt echo $interface3name | cut -d \: -f2 | cut -c2- > $DIR/interface3name.txt interface1name="$(cat $DIR/interface1name.txt)" interface2name="$(cat $DIR/interface2name.txt)" interface2name="$(cat $DIR/interface2name.txt)" rm -f $DIR/interface1name.txt rm -f $DIR/interface2name.txt rm -f $DIR/interface3name.txt #Bring up interfaces. echo “iface $interface1name inet dhcp” >>/etc/network/interfaces echo “iface $interface2name inet dhcp” >>/etc/network/interfaces echo “iface $interface3name inet dhcp” >>/etc/network/interfaces ip link set $interface1name up ip link set $interface2name up ip link set $interface3name up sleep 4 interface1ip="$(/sbin/ip addr show | grep $interface1name | grep -o "inet [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*")" interface2ip="$(/sbin/ip addr show | grep $interface2name | grep -o "inet [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*")" interface3ip="$(/sbin/ip addr show | grep $interface3name | grep -o "inet [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*")" if [[ -z $interface1ip ]]; then interface1ip=127.0.0.1 fi if [[ -z $interface2ip ]]; then interface2ip=127.0.0.1 fi if [[ -z $interface3ip ]]; then interface3ip=127.0.0.1 fi interface1network=$(mask2network $interface1ip $(cidr2mask $(getCidr $interface1name))) interface2network=$(mask2network $interface2ip $(cidr2mask $(getCidr $interface2name))) interface3network=$(mask2network $interface3ip $(cidr2mask $(getCidr $interface3name))) } setCorrectInterface() { for arg in $(cat /proc/cmdline) do echo $arg | grep -q USE_NETWORK if [ $? == 0 ] then val=$(echo $arg | cut -d= -f2) desiredNetwork=$val fi done GetInterfaceInfo if [[ $interface1network==$desiredNetwork ]] then ip link set $interface1name up ip link set $interface2name down ip link set $interface3name down elif [[ $interface2network==$desiredNetwork ]] then ip link set $interface1name down ip link set $interface2name up ip link set $interface3name down else [[ $interface3network==$desiredNetwork ]] then ip link set $interface1name down ip link set $interface2name down ip link set $interface3name up fi }
And I’ve added a call to the main function in the main fog script file
/bin/fog
between the usb part and the task calling, around line 10 like this:#!/bin/bash . /usr/share/fog/lib/funcs.sh ### If USB Boot device we need a way to get the kernel args properly if [[ $boottype == usb && ! -z $web ]]; then mac=$(getMACAddresses) wget -q -O /tmp/hinfo.txt "http://${web}service/hostinfo.php?mac=$mac" [[ -f /tmp/hinfo.txt ]] && . /tmp/hinfo.txt fi setCorrectInterface if [[ -n $mode && $mode != +(*debug*) ]]; then case $mode in wipe) fog.wipe ;; checkdisk) fog.testdisk ;; photorec) fog.photorec ;; badblocks) fog.surfacetest ;; clamav) fog.av ;; autoreg) fog.auto.reg ;; manreg) fog.man.reg ;; inventory) fog.inventory ;; capone) fog.capone ;; winpassreset) fog.chntpw ;; quickimage) fog.quickimage ;; sysinfo) fog.sysinfo ;; "donate.full") fog.donatefull ;; *) handleError "Fatal Error: Unknown mode :: $mode ($0)\n Args Passed: $*" ;; esac else case $type in down) fog.download ;; up) fog.upload ;; *) [[ -z $type ]] && type="Null" handleError "Fatal Error: Unknown request type :: $type" ;; esac fi
With modifications to the init like this (and using fog trunk), You’d simply specify this custom init, and pass the kernel argument for the network you want to use. For example:
-
RE: inventory registered machines via the pxe menu
@Quazz I’m referring to the web interface under advanced tasks.
-
RE: Lenovo ThinkPad T460p with Intel Ethernet Connection l219-LM doesn't work with Kernel TomElliot 4.6.4
@mmingorance said in Lenovo ThinkPad T460p with Intel Ethernet Connection l219-LM doesn't work with Kernel TomElliot 4.6.4:
I could see that the reason might be a problem in my DHCP Server, but in that case, this issue should affect to all my laptops (not only this model).
Not really true, the laptop has different hardware, which probably requires a different boot ROM. Available boot ROMs can be listed by running
ls -laht /tftpboot
and you would need to create a DHCP reservation for a test laptop, and setting the reservation’s DHCP option 067 to each file until you found one that works. UEFI type firmware and devices require boot ROMs that end with.efi
all the other files available are for Legacy BIOS.After solving this, you may also be interested in:
https://wiki.fogproject.org/wiki/index.php?title=BIOS_and_UEFI_Co-Existence -
RE: Unable to install Fog on RHEL7 / CentOS7
Wherever you put the fogproject repo, go into
bin/error_log
and you’ll find a file with the version number on it. This is all the redirected output from the installer. Please post the last 30 or so lines from that file here.Also, can you clarify what version of FOG you’re trying to install? And is this RHEL7 or CentOS 7?
-
RE: Mounting File System .....................................................Failed
@Gary-Kulovics said:
Hi Tom
Having same problem again Can you please tell me how to restart this server as I does not seam to what to workThanks Gary
[CODE]systemctl restart nfs[/CODE]
if that doesn’t work, it might be this:
[CODE]systemctl restart nfs-server[/CODE]You could also try this:
[CODE]service nfs restart
service nfs-server restart[/CODE] -
RE: Dell Latitude e5430 some image and some do not
We need more details, what exactly isn’t working? What version of FOG? Post a picture of the issue if you can please.
-
RE: Second Drive Fog Server
FYI @george1421 wrote that stuff. IMO he was very thorough.
-
RE: "Invalid MAC address" when trying to add hosts
It will look different in 1.2.0. I’m using FOG Trunk.
If you don’t have these options, you might need to move to FOG trunk if you absolutely need to image this server (and others like it).
You can find more info here on using the Subversion method of updating to trunk, if you so choose https://wiki.fogproject.org/wiki/index.php/SVN
I’d recommend reading up on the FOG Trunk version, there’s a tid-bit at the bottom of that page about it.
-
RE: Printer Copy Function
@Tom-Elliott said in Printer Copy Function:
…then will fade out into the abyss somewhere in the annals of time.
-
RE: Chainloader issues
Try different hdd exit types. Look up the host in Host Management, and on it’s general page you’ll see two drop downs towards the bottom for hdd exit types, one is BIOS the other is UEFI. so the mode that the computer is operating in determines which of these settings will apply. I would first recommend trying Grub, then if that doesn’t work just try one at a time - do a full reboot between each try.
-
RE: DNSMasq Setup - No Boot Filename
@dholtz-docbox Can you please copy/paste your last post and start a new thread please? When you get that done, I’ll delete your last post here and mine too.
-
RE: To setup download task, you must first upload an image
@curvature Please note that the upload-task moves the image from /dev to /images via FTP after uploading completes. If there are old images stuck in /dev, you will just need to delete those.
If you upload an image and it moves correctly, you’re good to go.