Is it possible to update bios setting via FOG server.


  • Hi

    I am deploying 100s of ubuntu hosts. (gigabyte mother board) .
    A lot of them are not set up to boot via PXE is there a way to make a massive update to all of them ?

    Thanks a lot in advance.
    BR,

    Önder

  • Senior Developer

    @emreonder I thought you have Windows DHCP server in your network. Well if the FOG server is actually providing IPs as the main DHCP server in your network you should not shutdown the server/service as clients would not get an IP via DHCP even when booting Windows.

    If this is really true (you don’t have another DHCP server) then I would suggest you comment the line “next-server 10.1.11.4;” by putting a # at the start of this line, like this:

    ...
    # next-server 10.1.11.4;
    ...
    

    Save the config and restart the server.


  • @sebastian-roth Could you please let me know which lines are the PXE in the DHCP boot ?
    What is the min i should delete ?

    Thanks,

    option space PXE;
    option PXE.mtftp-ip code 1 = ip-address;
    option PXE.mtftp-cport code 2 = unsigned integer 16;
    option PXE.mtftp-sport code 3 = unsigned integer 16;
    option PXE.mtftp-tmout code 4 = unsigned integer 8;
    option PXE.mtftp-delay code 5 = unsigned integer 8;
    option arch code 93 = unsigned integer 16;
    use-host-decl-names on;
    ddns-update-style interim;
    ignore client-updates;

    subnet 10.1.0.0 netmask 255.255.0.0{
    option subnet-mask 255.255.0.0;
    range dynamic-bootp 10.1.2.1 10.1.2.250;
    default-lease-time 21600;
    max-lease-time 43200;
    option routers 10.1.0.1;
    option domain-name-servers 8.8.8.8;
    next-server 10.1.11.4;
    class “Legacy” {
    match if substring(option vendor-class-identifier, 0, 20) = “PXEClient:Arch:00000”;
    filename “undionly.kkpxe”;
    }
    class “UEFI-32-2” {
    match if substring(option vendor-class-identifier, 0, 20) = “PXEClient:Arch:00002”;
    filename “i386-efi/ipxe.efi”;
    }
    class “UEFI-32-1” {
    match if substring(option vendor-class-identifier, 0, 20) = “PXEClient:Arch:00006”;
    filename “i386-efi/ipxe.efi”;
    }
    class “UEFI-64-1” {
    match if substring(option vendor-class-identifier, 0, 20) = “PXEClient:Arch:00007”;
    filename “ipxe.efi”;
    }
    class “UEFI-64-2” {
    match if substring(option vendor-class-identifier, 0, 20) = “PXEClient:Arch:00008”;
    filename “ipxe.efi”;
    }
    class “UEFI-64-3” {
    match if substring(option vendor-class-identifier, 0, 20) = “PXEClient:Arch:00009”;
    filename “ipxe.efi”;
    }
    class “SURFACE-PRO-4” {
    match if substring(option vendor-class-identifier, 0, 32) = “PXEClient:Arch:00007:UNDI:003016”;
    filename “ipxe.efi”;
    }
    class “Apple-Intel-Netboot” {
    match if substring(option vendor-class-identifier, 0, 14) = “AAPLBSDPC/i386”;
    option dhcp-parameter-request-list 1,3,17,43,60;
    if (option dhcp-message-type = 8 ) {
    option vendor-class-identifier “AAPLBSDPC”;
    if (substring(option vendor-encapsulated-options, 0, 3) = 01:01:01) {
    # BSDP List
    option vendor-encapsulated-options 01:01:01:04:02:80:00:07:04:81:00:05:2a:09:0D:81:00:05:2a:08:69:50:58:45:2d:46:4f:47;
    filename “ipxe.efi”;
    }
    }
    }

  • Senior Developer

    @emreonder said in Is it possible to update bios setting via FOG server.:

    What is the most simple way of shutdown the fog services and restart it again is there a command line for it ?

    Best if you disable the PXE boot information in the DHCP server so PXE booting hosts should chainload to disk as soon as possible. If you only shutdown the FOG server or its services you will have longer delays in bootup.


  • @george1421 Sounds very complicated to me i am not sure if i can manage it :((

    Do you think if i modify and find a way to remove the other partitions to have only one single partition it would help to get to be booted properly ?

    Other option i am thinking about to shut down the fog just after done with all the imaging and when i need to reimmage i will re start it.

    What is the most simple way of shutdown the fog services and restart it again is there a command line for it ?

    Thanks,
    Önder

  • Moderator

    @sebastian-roth said in Is it possible to update bios setting via FOG server.:

    I am fairly sure this is a legacy BIOS install.

    Maybe its time to mix things up a bit and go uefi and flat partitions on the image to get the maximum flexibility.

  • Senior Developer

    @george1421 Looking at the partition table posted in the other topic I am fairly sure this is a legacy BIOS install.

  • Moderator

    @emreonder Just for clarity are you running these motherboards in bios mode or uefi mode?

    This part is only me thinking out loud, but in theory if they are in uefi mode you should be able to use the efibootmgr application in linux to change the boot order. That can be deployed as an FOG snapin.

    So the idea has two parts, but initially you will need to start the process by pxe booting at least once.

    At the end of imaging FOG has a place to call an external bash script. That script is called a fog post install script. In that script you would make a call to the efibootmgr to set the hard drive as the first boot item. Upon the first reboot after imaging the computer will boot from the hard drive and complete ubuntu setup.

    Now when you want to image it again, you will call a snapin (fog application deployment tool) to call the efibootmgr on the target computer and change the boot order to pxe booting then when you issue the reimaging task the fog client will reboot and pxe boot into imaging. At the end of imaging the post install script will run again to change the boot order to hard drive first.

  • Senior Developer

    @emreonder Keep the other topics open I would say. No need to delete those. It’s just good to be aware of this.

    So to answer the question about BIOS settings: I found GIGABYTE Touch BIOS ™ but that seems to be a Windows GUI tool and not something you can run as a snapin I suppose. So from what I found so far there is no way you can switch to local disk boot using tools on this motherboard.

    So we will need to focus on other options. Please read my post in the other topic and provide the information…


  • @sebastian-roth said in Is it possible to update bios setting via FOG server.:

    OS and hardware not playing nice with exit types to chainload the OS from disk after the deployment.
    So do you actually need to re-deploy those machines later on again? Or will this be a “once and for all” deploy and the machines are being shipped somewhere?

    Hi,

    Yes every time i have updates i will re deploy a newer image so i can not give up on PXE so it is not a one time deployment

    Shall we remove the other posts and keep one of them a live.
    Please sugget me how to move frw.

    Thanks a lot,
    BR,
    Önder

  • Senior Developer

    Cross linking the other related post: https://forums.fogproject.org/topic/15004/ubuntu-wont-boot-up-after-the-image-is-deployed

    Looks like it’s legacy BIOS and hardware not playing nice with exit types to chainload the OS from disk after the deployment.

    So do you actually need to re-deploy those machines later on again? Or will this be a “once and for all” deploy and the machines are being shipped somewhere?

  • Moderator

    @emreonder Ok I have a few ideas for you.

    1. Since these are bare metal builds you will have a tech in front of the computer at some point during staging. If this is the case you can use the firmware boot manager to pick a one time pxe boot. Then you can leave the default to the local boot media. Upon system reboot the system will always boot to the local media. The only downside to this approach is if you need to reimage the computer in an unattended manner (i.e. reimage a entire classroom of computers between classes without visiting each machine). Since you made a comment about if the fog server is down then you don’t have a system boot. I think this manual boot menu pxe boot might fit here.

    2. FOG doesn’t change or update the firmware boot order. So if these systems are true bare metal builds the uefi firmware may not be configured in a sane configuration for the image you are deploying to the computer. In this case you should create a FOG post install script that will call the efibootmgr application with the proper parameters to configure the uefi firmware so it can find the boot media.


  • @george1421 said in Is it possible to update bios setting via FOG server.:

    ave an operating OS on these systems or are they bare metal build?
    If these are physical machines, will you be upacking them prior to imaging?
    Are these systems already registered in FOG?
    IN short, if the gigabyte mother board have a utility like the Dell’s do

    Hi,

    Yes they are physical bare metal machines. Comes with empty disk.
    I already have an image for them to deploy.

    I shall correct my first sentence. They do boot from PXE but after thy are done with the PXE they do not boot up properly.

    If the fog is down then they do not find the pxe and boot properly via harddisk.(usb disk in my case)

    Thanks for your reply.

  • Moderator

    @emreonder said in Is it possible to update bios setting via FOG server.:

    gigabyte mother board

    Do you have an operating OS on these systems or are they bare metal build?

    If these are physical machines, will you be upacking them prior to imaging?

    Are these systems already registered in FOG?

    IN short, if the gigabyte mother board have a utility like the Dell’s do, you can change the boot order or set to pxe boot on the next boot only from within an operating OS. If there isn’t a specific there may be a windows application to change the boot order. I know for linux there is a efibootmgr application that you can use to change the uefi boot order.

294
Online

8.5k
Users

15.3k
Topics

143.3k
Posts