Use serial number as hostname in Fog
-
@george1421
Okay I understand.
In myfog.auto.regthe curl is sending to this script :${web}service/auto.register.php 2>/dev/null)
Maybe there’s something to do with this file ? -
@xinzo said in Use serial number as hostname in Fog:
auto.register.php
Yes that is the file you will edit on the FOG server itself. It should be in the path I provided previously. Now that I think about it I might want to change the auto prop value to CUSTOM instead of SYSSERIAL and then make a write up on this for those fog admins that want to create a custom auto name value. I always use the full registration on my campus so I never thought about the auto naming process. I think you are onto something that will be useful to other fog admins.
-
@george1421
I’ve done it !
The “old” fog.auto.reg is :if [[ -f "/bin/fog.customhostname" ]]; then . /bin/fog.customhostname fi if [[ -f /sys/firmware/acpi/tables/MSDM ]]; then productKey=$(tail -c+57 /sys/firmware/acpi/tables/MSDM | base64) fi while [[ -z $res ]]; do res=$(curl -Lks --data "host=${host_default_name}&sysserial=${sysserial}&sysuuid=${sysuuid}&mac=$mac&productKey=${productKey}" ${web}service/auto.register.php 2>/dev/null)Here is the trick :
while [[ -z $res ]]; do host=${host_default_name} host=$(echo $host | base64) res=$(curl -Lks --data "host=$host&sysserial=${sysserial}&sysuuid=${sysuuid}&mac=$mac&productKey=${productKey}" ${web}service/auto.register.php 2>/dev/null)We have to convert to base64 and then send to the script. It works like a charm.
I suceeded when I inspected the fog.man.reg.fix Here is what helped me :while [[ $res != "#!ok" ]]; do if [[ $host_default_name != "" ]]; then read -p " * Enter hostname for this computer [$host_default_name]: " host else read -p " * Enter hostname for this computer: " host fi host=${host:-$host_default_name} if [[ ${#host} -gt 15 ]]; then host=${host:0:15} echo " | Truncated to 15 characters: $host" usleep 2000000 fi host=$(echo $host | base64) res=$(curl -Lks --data "host=$host" ${web}service/hostnameloop.php 2>/dev/null) [[ $res != "#!ok" ]] && echo "$res" doneThose line
host=${host:-$host_default_name}
host=$(echo $host | base64)
res=$(curl -Lks --data "host=$host" ${web}service/hostnameloop.php 2>/dev/null)Thank you very much for your help

-
@xinzo well done! Now just make sure you backup everything since you hacked the fog environment. That way when/if you upgrade you don’t lose your hacks. But really nice. I’m really more than willing to help someone help themselves success with FOG. This way you can get exactly what works for your situation.
-
Thanks

For people who want to do this. Don’t forget to set the QUICKREG SYS NAME in the FOG SETTINGS toSYSSERIAL.
@george1421 Can I upload my file somewere for the people who want to implement the feature ? -
@xinzo If you want to post them here, I’ll rewrite the instructions as a tutorial and then provide a link to this thread. You might need to change the extension of the files to .txt so they can be uploaded. I can see other wanting this feature too. I know I personally missed it since the FOG v0.30 days.
-
@george1421
Here are my files, I’ve upload all the content of my postinitscripts folder:
fog.postinit.txt
fog.patch.customhostname.txt
fog.man.reg.fix.txt
fog.customhostname.txt
fog.auto.reg.txt@george1421 said in Use serial number as hostname in Fog:
I can see other wanting this feature too. I know I personally missed it since the FOG v0.30 days.
Without you, impossible to implement this feature. Thanks a lot
-
@george1421 did you ever get round to writing a guide for this? It’s a shame this can’t be included in the main branch for quick registration, because we just name machines off the system serial number here and you have to pay extra now for a bloomin barcode with Dell!
-
@AlexisPHC You can set this by putting the name field of quick registration as {SYSSERIAL}
-
@Tom-Elliott said in Use serial number as hostname in Fog:
{SYSSERIAL}
Ah, lovely, thanks Tom, I’ll give that a go - I tried SYSSERIAL on it’s own and it didn’t work but didn’t realise it needed the curly brackets!