At the beginning of my fog journey, so hello all,
I’ve got various machines already booting to the fog menu but wanted to rule out potential problems with my setup please, as a couple of machines aren’t behaving.
I’m reading through a lot of information but conscious that I’m reading quite a lot of out of date info on my travels (and chasing my own tail a little) so thought I’d respectfully ask for some guidance.
Usage won’t be large scale - mixed windows/ *nix environment, maybe osx later. UEFI and BIOS.
It’s more that I have a lot of different machines to manage for myself/ friends/ family, rather than an office of hundreds. I’m constantly creating and tearing down virt machines for learning, so I’m seeing if fog can centralise some of the initial install here - ansible can take over a lot from there.
Plus, you know, learning.
Questions:
1 - Secure Boot
An HP 450 G3 laptop is being a slight pain. It works if I disable secure boot butas I’m looking to use this with bitlocker that isn’t ideal, especially as there will be other machines in a similar position, just haven’t tested them yet.
With secure boot enabled I can see it quickly flashes
Downloading NBP file
Succeed to download NBP File.
And then boots to the hard drive, ignoring the fog menu
I can see here that George mentions there’s a way to shim this but am having trouble finding instructions on this.
2 -Hyper-V
Gen 2 machines seem to work ok.
Gen 1 (with legacy network adapter) - get’s stuck at iPXE initialising devices… photo attached (hopefully)
![0_1584549088279_hyper-v.JPG](Uploading 100%)
Probably no loss (my proxmox works fine) but I wanted to check it wasn’t a problem in my setup and just interested in why.
I’ve read several historic posts on old versions not working but wanted to check if this is still a known problem please?
3 - Dual boot
Reading up on this next so just thought I’d check if there are any good guides as I suspect this will be full of gotchas, and mentioning it in case it’s relevant for the secure boot part.
4- Wiki Edit
Forgive this please as I know the point of a wiki is to change it myself (and appears lazy to ask someone to do it) but I think the above makes clear I’m not at that level of confidence with this yet.
May I humbly suggest that on the dnsmasq proxy page the 3 links at the top are put down the bottom. As a newbie you feel you should check them but they just take you in a loop of isc/ legacy information.
The good content you need is on this page directly below these links. Perhaps also a quick reference to pi-hole just so it comes up in searches.
Appreciate there’s a lot here so shout if I should delete and do seperate posts.
Huge thanks for taking the time to read and thank you for all the hard work makiing this.
---------- Some information on setup ----------------
Fog 1.5.8 on an Ubuntu 19.10 hyper-v VM using dnsmasq as proxy to a pihole server, config below.
No changes in dnsmasq to pi-hole server for fog - other than setting up reserved IP for machine.
root@fog:~# cat /etc/dnsmasq.d/
cat: /etc/dnsmasq.d/: Is a directory
root@fog:~# cat /etc/dnsmasq.d/ltsp.conf
# Don't function as a DNS server:
port=0
# Log lots of extra information about DHCP transactions.
log-dhcp
# Set the root directory for files available via FTP.
tftp-root=/tftpboot
# The boot filename, Server name, Server Ip Address
dhcp-boot=undionly.kpxe,,192.168.21.28
# Disable re-use of the DHCP servername and filename fields as extra
# option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override
# inspect the vendor class string and match the text to set the tag
dhcp-vendorclass=BIOS,PXEClient:Arch:00000
dhcp-vendorclass=UEFI32,PXEClient:Arch:00006
dhcp-vendorclass=UEFI,PXEClient:Arch:00007
dhcp-vendorclass=UEFI64,PXEClient:Arch:00009
# Set the boot file name based on the matching tag from the vendor class (above)
dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,192.168.21.28
dhcp-boot=net:UEFI,ipxe.efi,,192.168.21.28
dhcp-boot=net:UEFI64,ipxe.efi,,192.168.21.28
# PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds.
pxe-prompt="Booting FOG Client", 3
# The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
# Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
# This option is first and will be the default if there is no input from the user.
pxe-service=X86PC, "Boot to FOG", undionly.kpxe
pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi
pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi
dhcp-range=192.168.21.28,proxy
#!ipxe
set fog-ip 192.168.21.28
set fog-webroot fog
set boot-url http://${fog-ip}/${fog-webroot}
cpuid --ext 29 && set arch x86_64 || set arch i386
goto get_console
:console_set
colour --rgb 0x00567a 1 ||
colour --rgb 0x00567a 2 ||
colour --rgb 0x00567a 4 ||
cpair --foreground 7 --background 2 2 ||
goto MENU
:alt_console
cpair --background 0 1 ||
cpair --background 1 2 ||
goto MENU
:get_console
console --picture http://192.168.21.28/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console
:MENU
menu
colour --rgb 0xff0000 0 ||
cpair --foreground 1 1 ||
cpair --foreground 0 3 ||
cpair --foreground 4 4 ||
item --gap Host is NOT registered!
item --gap -- -------------------------------------
item fog.local Boot from hard disk
item fog.memtest Run Memtest86+
item fog.reginput Perform Full Host Registration and Inventory
item fog.reg Quick Registration and Inventory
item fog.deployimage Deploy Image
item fog.multijoin Join Multicast Session
item fog.sysinfo Client System Information (Compatibility)
choose --default fog.local --timeout 3000 target && goto ${target}
:fog.local
sanboot --no-describe --drive 0x80 || goto MENU
:fog.memtest
kernel memdisk initrd=memtest.bin iso raw
initrd memtest.bin
boot || goto MENU
:fog.reginput
kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://192.168.21.28/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.21.28:/images/ storageip=192.168.21.28 nvme_core.default_ps_max_latency_us=0 loglevel=4 mode=manreg
imgfetch init_32.xz
boot || goto MENU
:fog.reg
kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://192.168.21.28/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.21.28:/images/ storageip=192.168.21.28 nvme_core.default_ps_max_latency_us=0 loglevel=4 mode=autoreg
imgfetch init_32.xz
boot || goto MENU
:fog.deployimage
login
params
param mac0 ${net0/mac}
param arch ${arch}
param username ${username}
param password ${password}
param qihost 1
isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
param sysuuid ${uuid}
:fog.multijoin
login
params
param mac0 ${net0/mac}
param arch ${arch}
param username ${username}
param password ${password}
param sessionJoin 1
isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
param sysuuid ${uuid}
:fog.sysinfo
kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://192.168.21.28/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.21.28:/images/ storageip=192.168.21.28 nvme_core.default_ps_max_latency_us=0 loglevel=4 mode=sysinfo
imgfetch init_32.xz
boot || goto MENU
:bootme
chain -ar http://192.168.21.28/fog/service/ipxe/boot.php##params ||
goto MENU
autoboot```