3 Replies Latest reply on Oct 9, 2015 1:25 PM by mikec_intel

    When (legacy) booting from the network, is the SATA drive not accessible via the BIOS?

    mhibler

      In our Emulab testbed, the boot path for nodes is to have them PXE boot our custom version of Grub (or the FreeBSD boot loader). That boot loader contacts the Emulab server which tells the node what to do next. Typically it is told to boot from a partition on the first hard drive, an action that is implemented by using the BIOS routines to load a sector from disk and jump to it.

       

      However on our NUC5i5MYBE, when we network boot in this manner, the SATA drive is not visible to the boot loader (i.e., no BIOS drive 0x80). This leads me to believe that the SATA/AHCI option rom is not loaded unless you actually boot from the SATA disk. A bootloader booted from a USB dongle likewise cannot see the SATA disk. We are using the latest BIOS (BIOS MYBDWi5v.86A.0024.2015.0504.1120 05/04/2015).

       

      There are obviously plenty of ways around this, e.g., net booting a version of Grub with its own builtin AHCI driver, but I am just wondering if this is a bug or a feature or a misconfiguration on my part!

        • 1. Re: When (legacy) booting from the network, is the SATA drive not accessible via the BIOS?
          kevin_intel

          Hello mhibler,

          I am having some problems to understand your query so I need you to asnwer for me some questions. When you say the BIOS are you referring to the client BIOS or the server one?

           

          Is it possible to configure the software you are using to tell the node what exactly do? I am saying this beause most of the times the PXE is just to deploy Operating Systems and during this process is not possible to access the SATA drive until it starts installing the oS.

          • 2. Re: When (legacy) booting from the network, is the SATA drive not accessible via the BIOS?
            mhibler

            Sorry, this fell off my radar for quite a while...

             

            By "the BIOS" I mean the BIOS on the NUC, I am not sure what you mean with the distinction between client and server in this context.

             

            Machines in Emulab are allocated to users who then have "bare metal" access to them. They can do anything to the contents of the hard drive so we cannot assume that the machine will boot from disk after they are done. So we always boot from the network (PXE) to ensure we can regain control of a machine regardless of the state of its disk. A typical lifecycle for a machine is then: PXE boot our custom boot loader which contacts Emulab and is told to load an image on the disk; the boot loader uses TFTP (via the PXE network stack) to load a memory-based re-imaging OS/filesystem; transfer control into that OS which then re-images the disk and performs customizations on it; PXE boot again into the boot loader which is now told to boot from disk; using BIOS calls, load the boot sector from the disk; and transfer control to that code.

             

            So the custom boot loader need to be able to access both the network and the disk in the same invocation. Traditionally, we have used BIOS-provided interfaces to do both, but it appears that does not work on the NUC--we get one or the other depending on what device we booted from.

             

            Again, we have a workaround, I was just curious whether this behavior was expected.

            • 3. Re: When (legacy) booting from the network, is the SATA drive not accessible via the BIOS?
              mikec_intel

              Hi mhibler,

               

              The network boot works on Legacy, it is necessary to install the operating system on the Legacy Boot too instead of UEFI. The Network boot disables the UEFI Boot.

               

              Regards,
              Mike C