• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Fog iPXE Menu no input

    Scheduled Pinned Locked Moved Unsolved
    FOG Problems
    9
    23
    1.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SotY @SotY
      last edited by

      @SotY said in Fog iPXE Menu no input:

      I’m new to FOG and this is an issue I also faced from the beggining. We have multiple Lenovo tiny computers: M710q, M910q, M70q gen 2, M70q gen 3 and usb keyboard is not working in iPXE menu for any of them when booting in EFI mode. Everything is fine when booting in bios mode.

      I found this discussion on iPXE project github: https://github.com/ipxe/ipxe/discussions/308
      After recompiling iPXE binaries with define>USB_HCD_USBIO uncommented keyboard started working for all in EFI mode. I used FOG build script but had to modify it a little bit. Compilation of ncm–ecm–axge.efi fails when USB_HCD_USBIO is enabled, but I won’t use it, so I just disabled compilation of it. All other images compile just fine. I also modified make to use all available cpu cores to make compilation faster. This is modified script: https://pastebin.com/9ViJBATg

      After upgrading FOG from release 1.5.10.1660 to release 1.5.10.1667 iPXE images won’t compile with USB_HCD_USBIO enabled. I didn’t dig deep yet, but it seems that changes in console.h, general.h or settings.h that script use causes this.

      Tom ElliottT 1 Reply Last reply Reply Quote 0
      • Tom ElliottT
        Tom Elliott @SotY
        last edited by

        @SotY The files of console.h/general.h/settings.h were updated 2 - 4 months ago. I don’t think anything here is the cause of the failure. I’ve attempted building and am seeing the same error.

        This leads me to think something changed with ipxe code particularly surrounding USB_HCD_USBIO and efi built binaries. It seems the efi builder has a native compiler point for it’s own USBIO that’s being constructed separately from the “common” source.

        If you just build the binaries without the USBIO configured, does it break things? I know you found a fix and wanted to try it, but it seems mcb30 (main developer of ipxe) made a change that seems to make the usbio drivers act differently in the past. What those changes were, I do not know at this time.

        I am more surprised, in my quick review of things, that this even worked before as the components I see erroring haven’t change significantly.

        If I change the usbio_driver line to efi_usbio_driver in the drivers/usb/usbio.c file, and re-run the builder, things build successfully. (Including the ncm–ecm-axge.).

        If that works, I can put my diff file and copy it with the build script but I’m scared something I’m doing in the driver/usb/usb.c file might be unintentionally making things worse (not better) even though I’m getting successful builds now.

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

        S 1 Reply Last reply Reply Quote 0
        • S
          SotY @Tom Elliott
          last edited by SotY

          @Tom-Elliott said in Fog iPXE Menu no input:

          @SotY The files of console.h/general.h/settings.h were updated 2 - 4 months ago. I don’t think anything here is the cause of the failure. I’ve attempted building and am seeing the same error.

          This leads me to think something changed with ipxe code particularly surrounding USB_HCD_USBIO and efi built binaries. It seems the efi builder has a native compiler point for it’s own USBIO that’s being constructed separately from the “common” source.

          If you just build the binaries without the USBIO configured, does it break things? I know you found a fix and wanted to try it, but it seems mcb30 (main developer of ipxe) made a change that seems to make the usbio drivers act differently in the past. What those changes were, I do not know at this time.

          I am more surprised, in my quick review of things, that this even worked before as the components I see erroring haven’t change significantly.

          If I change the usbio_driver line to efi_usbio_driver in the drivers/usb/usbio.c file, and re-run the builder, things build successfully. (Including the ncm–ecm-axge.).

          If that works, I can put my diff file and copy it with the build script but I’m scared something I’m doing in the driver/usb/usb.c file might be unintentionally making things worse (not better) even though I’m getting successful builds now.

          I have config files from previous version and all 3 were changed. I just narrowed it down to changes in general.h file. Compiling with USB_HCD_USBIO enabled works fine when using previous general.h and new console.h and settings.h files. I need more time to find out which change broke it. These are the changes:

          ------------------------------------------------------------------------------------------------------------------------
          ------------------------------------------------------------------------------------------------------------------------
                                                           -+ #define	NET_PROTO_EAPOL		/* EAP over LAN protocol */
                                                              #define NET_PROTO_LLDP	    /* Link Layer Discovery protocol */
          ------------------------------------------------------------------------------------------------------------------------
          ------------------------------------------------------------------------------------------------------------------------
                                                           -+  * 802.1x EAP authentication methods
                                                               *
                                                               */
                                                              #define EAP_METHOD_MD5		/* MD5-Challenge port authentication */
                                                              //#define EAP_METHOD_MSCHAPV2	/* MS-CHAPv2 port authentication */
          
                                                              /*
          ------------------------------------------------------------------------------------------------------------------------
          ------------------------------------------------------------------------------------------------------------------------
                                                           -+ #define	IMAGE_ZLIB		/* ZLIB image support */
                                                              #define	IMAGE_GZIP		/* GZIP image support */
                                                              //#define	IMAGE_UCODE		/* Microcode update image support */
          ------------------------------------------------------------------------------------------------------------------------
          ------------------------------------------------------------------------------------------------------------------------
                                                           -+ #define FORM_CMD		/* Form commands */
          ------------------------------------------------------------------------------------------------------------------------
          ------------------------------------------------------------------------------------------------------------------------
                                                           -+ //#define IMAGE_CRYPT_CMD	/* Image encryption management commands */
          ------------------------------------------------------------------------------------------------------------------------
          ------------------------------------------------------------------------------------------------------------------------
          #define PARAM_CMD		/* Form parameter commands */ <> #define PARAM_CMD		/* Request parameter commands */
          ------------------------------------------------------------------------------------------------------------------------
          ------------------------------------------------------------------------------------------------------------------------
                                                           -+ #define IMAGE_MEM_CMD		/* Read memory command */
                                                              #define IMAGE_ARCHIVE_CMD	/* Archive image management commands */
                                                              #define SHIM_CMD		/* EFI shim command (or dummy command) */
                                                              #define USB_CMD		/* USB commands */
                                                              //#define FDT_CMD		/* Flattened Device Tree commands */
          
                                                              /*
                                                               * Certificate sources
                                                               *
                                                               */
                                                              //#undef CERTS_EFI		/* EFI certificate sources */
          ------------------------------------------------------------------------------------------------------------------------
          

          It’s weird, git shows the last update for general.h on May 11, but I installed FOG on June 10 and that’s when I did git clone and back then the files were different than they are now. These are the files I got on June 10:

          console.h: https://pastebin.com/wmy449T0
          general.h: https://pastebin.com/GUyqbY3F
          settings.h: https://pastebin.com/Ta738Fmn

          1 Reply Last reply Reply Quote 0
          • 1
          • 2
          • 2 / 2
          • First post
            Last post

          166

          Online

          12.1k

          Users

          17.3k

          Topics

          155.4k

          Posts
          Copyright © 2012-2024 FOG Project