SOLVED Version 1.5.9 default directory for iso


  • Hello World 🙂
    New with FOG here and im trying to use it for pxe boot. I do find tutorials online for older versions mentioning that the images should go under root-tftpboot but on the new version the directories are different. so where do i upload iso’s for pxe in this version.

    thank you for your help in advance


  • @george1421 You helped a bunch my friend

    i did some tweaking and now is works, here is the menu parameters for latest gparted:

    kernel tftp://${fog-ip}/fog/gparted/live/vmlinuz
    initrd tftp://${fog-ip}/fog/gparted/live/initrd.img
    imgargs vmlinuz initrd=initrd.img boot=live config components union=overlay username=user noswap noeject vga=788 fetch=http://10.0.0.2/fog/filesystem.squashfs
    boot || goto MENU

  • Moderator

    @petec OK here is the part of the menu that seems to be causing the problem.

    kernel /fog/gparted/live/vmlinuz
    initrd /fog/gparted/live/initrd.img
    imgargs vmlinuz initrd=initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://10.0.0.2/fog/filesystem.squashfs
    

    Lets change the parameter block to look like this

    kernel tftp://${fog-ip}/fog/gparted/live/vmlinuz
    initrd tftp://${fog-ip}/fog/gparted/live/initrd.img
    imgargs vmlinuz initrd=initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://10.0.0.2/fog/filesystem.squashfs
    boot || goto MENU
    

  • @george1421

    Keep in mind that the photo is EFI, if i do Legacy is downloads it and then comes to the same error


  • @george1421 Thanks for helping man

    Here is the file output:

    #!ipxe
    set fog-ip 10.0.0.2
    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://10.0.0.2/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)
    item g.parted Gparted
    item os.hiren Hiren
    item os.hiren2 Hiren2
    item bd.hiren Hiren
    item os.laze Lazesoft
    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=7 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://10.0.0.2/fog/ consoleblank=0 rootfstype=ext4 storage=10.0.0.2:/images/ storageip=10.0.0.2 nvme_core.default_ps_max_latency_us=0 loglevel=7 mode=manreg
    imgfetch init_32.xz
    boot || goto MENU
    :fog.reg
    kernel bzImage32 loglevel=7 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://10.0.0.2/fog/ consoleblank=0 rootfstype=ext4 storage=10.0.0.2:/images/ storageip=10.0.0.2 nvme_core.default_ps_max_latency_us=0 loglevel=7 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=7 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://10.0.0.2/fog/ consoleblank=0 rootfstype=ext4 storage=10.0.0.2:/images/ storageip=10.0.0.2 nvme_core.default_ps_max_latency_us=0 loglevel=7 mode=sysinfo
    imgfetch init_32.xz
    boot || goto MENU
    :g.parted
    kernel /fog/gparted/live/vmlinuz
    initrd /fog/gparted/live/initrd.img
    imgargs vmlinuz initrd=initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://10.0.0.2/fog/filesystem.squashfs
    param sysuuid ${uuid}
    :os.hiren
    initrd http://${fog-ip}/fog/iso/hbcd/hbcd.iso
    kernel http://${fog-ip}${path}/casper/vmlinuz.efi || read void
    initrd http://${fog-ip}${path}/casper/initrd.lz || read void
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:${nfs_path} ip=dhcp splash quiet – || read void
    boot || goto MENU
    param sysuuid ${uuid}
    :os.hiren2
    kernel /fog/hbcd/live/vmlinuz
    initrd /fog/hbcd/live/initrd.img
    imgargs vmlinuz initrd=initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://10.0.0.2/fog/filesystem.squashfs
    param sysuuid ${uuid}
    :bd.hiren
    initrd http://${fog-ip}/images/tools/hbcd/HBCD_PE_x64.iso
    chain memdisk iso raw ||
    boot || goto start
    param sysuuid ${uuid}
    :os.laze
    initrd http://${fog-ip}/fog/iso/laze/lsboot.iso
    chain memdisk iso raw
    param sysuuid ${uuid}
    :bootme
    chain -ar http://10.0.0.2/fog/service/ipxe/boot.php##params ||
    goto MENU
    autoboot
    
  • Moderator

    @petec Your screen shot doesn’t show its downloading the initrd image before it tries to boot the kernel. That is strange. The kernel should boot without the initrd only so far, but it should boot.

    So the next bit is to help a bit more with debugging. In the web ui ->FOG Configuraiton -> FOG Settings menu. There should be a value for logging level. It may be 1 or 4, turn it up to 7. This will inform the linux kernel booting to send all log messages to the console. This should give us a bit more detail.

    The next bit is to use a windows web browser and browse to http://<fog_server_ip>/fog/service/ipxe/boot.php?mac=00:00:00:00:00 This will print out a bunch of text, copy and paste that text into a new post. That is the iPXE menu commands that builds the FOG iPXE menu. I want to look at the configuration for your menu. There has to be something off here.


  • @george1421 ![alt text]

    Im confused too. i attach an image!
    20220222_151923.jpg

  • Moderator

    @petec You are seeing it transfer the kernel and the init? Do you have a screenshot of the error (clear picture taken with mobile phone)? If the path is right and the kernel is right, ipxe should at least try to boot it.


  • @george1421 said in Version 1.5.9 default directory for iso:

    file /tftpbboot/fog/gparted/live/vmlinuz

    Its the right path,

    [root@bootserver html]# file /tftpboot/fog/gparted/live/vmlinuz

    /tftpboot/fog/gparted/live/vmlinuz: Linux kernel x86 boot executable bzImage, version 5.10.0-8-amd64 (debian-kernel@lists.debian.org) #1 SMP Debian 5, RO-rootFS, swap_dev 0x6, Normal VGA

  • Moderator

    @petec That message “Exec format error” is because something is wrong with vmlinuz. Either its not in the right path, the file is corrupt, or something else was keeping it from starting up.

    Confirm that your kernel is in
    /tftpbboot/fog/gparted/live on the fog server

    you can also use the linux command file /tftpbboot/fog/gparted/live/vmlinuz to read the kernel header.

    Remember for the different protocols, they have different doc roots on the FOG server.

    tftp: /tftoboot
    nfs: /images
    http: /var/www (for debian variants) /var/www/html (for rhel variants)


  • @george1421 said in Version 1.5.9 default directory for iso:

    /fog/filesystem.squashfs

    so here is the current config, with all the paths checked.

    kernel /fog/gparted/live/vmlinuz
    initrd /fog/gparted/live/initrd.img
    imgargs vmlinuz initrd=initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://10.0.0.2/fog/filesystem.squashfs

    Error

    Could not select: Exec format error

    im kinda lost. Most of the info online are for the older versions.

  • Moderator

    @petec said in Version 1.5.9 default directory for iso:

    kernel fog/gparted/live/vmlinuz
    append initrd=fog/gparted/live/initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://10.0.0.2/fog/filesystem.squashfs

    But I can also tell you this is wrong too. I would rewrite it as

    kernel /fog/gparted/live/vmlinuz
    initrd fog/gparted/live/initrd.img
    imgargs vmlinuz initrd=initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://10.0.0.2
    

    This command might still give you some problems if you don’t have what its wanting to fetch in the right location.

    You might want to review this post: https://forums.fogproject.org/post/140524 since it appears similar to your imgargs

  • Moderator

    @petec said in Version 1.5.9 default directory for iso:

    append initrd=fo

    This is a syslinux command not iPXE. You want imgargs keyword for kernel parameters. https://ipxe.org/cmd/imgargs


  • @sebastian-roth said in Version 1.5.9 default directory for iso:

    depends on how you wa

    I think i figured out how the directories work. Now i upload and extract Gparted inside /tftpboot/gparted and i set these parameters according to a tutorial i found online:

    kernel fog/gparted/live/vmlinuz
    append initrd=fog/gparted/live/initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=http://10.0.0.2/fog/filesystem.squashfs

    The client gives me the following error:

    fog/gparted/live/vmlinuz…ok
    append command not found

    Any tutorials or examples for 1.5.9 that work?

  • Moderator

    @petec /tftpboot is the right directory then. But as Sebastian said, there are many methods of pxe booting once you get iPXE loaded into memory. The PXE Rom only supports tftp protocol, so iPXE will need to be transferred via tftp. Once iPXE is running then you can use other protocols like NFS and HTTP(S), which are much faster protocols than tftp.


  • @george1421 I’m on centos 7

  • Moderator

    @petec I think the answer depends on how you want to PXE boot the stuff. If you want to use slow TFTP, then they go in /tftpboot but there are other options, like HTTP and if you are pretty keen you can even extract the ISO and make it PXE boot over NFS. So it all depends.

  • Moderator

    @petec It depends on the FOG server’s linux os, but most are now in /tftpboot directory.

266
Online

9.5k
Users

15.9k
Topics

147.5k
Posts