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

    Windows on ARM

    Scheduled Pinned Locked Moved
    Hardware Compatibility
    5
    37
    3.6k
    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.
    • M
      MarkG
      last edited by

      A search didn’t reveal anything about this which makes me suspect I’m missing something obvious but…

      Does FOG support Windows on ARM? Eg Lenovo now make a range of Thinkpads with a Qualcomm Snapdragon CPU and many other manufacturers are bringing similar models out.

      I noticed there are ARM kernels on the kernel download page. Is all I need to do to install those and everything will just work?

      george1421G 1 Reply Last reply Reply Quote 0
      • george1421G
        george1421 Moderator @MarkG
        last edited by

        @MarkG In general there is basic support for ARM processors in FOG. But the realities are that there hasn’t been a viable ARM based workstation to validate the FOG configuration against. Yes there is the Raspberry Pi, but that is more of an embedded device and not a general computing computer. Since the developers don’t have one of these computers to verify the FOG code against it will take community involvement to work out the details.

        When I was first testing the R-Pis I did find a few assumptions in the code that if FOG couldn’t determine the processor, it assumed a 32 bit X86 processor. Those issues have been corrected, but I’m sure there are others hidden away in 15 year old code.

        So the short answer is, it might work or might not.

        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!

        M S 2 Replies Last reply Reply Quote 1
        • M
          MarkG @george1421
          last edited by

          @george1421 Thanks for the info. I’m going to be purchasing one of these Lenovos so I will try and assist if I can.

          george1421G 1 Reply Last reply Reply Quote 0
          • george1421G
            george1421 Moderator @MarkG
            last edited by

            @MarkG OK let us know because there is some info that you can collect on these devices to help the developers validate the code.

            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!

            M 1 Reply Last reply Reply Quote 0
            • M
              MarkG @george1421
              last edited by

              @george1421 Great. Let me know what you need and how to get it and I’ll do that as soon as I’m able to.

              1 Reply Last reply Reply Quote 0
              • S
                stokehall @george1421
                last edited by

                @george1421 We have purchased 2 ARM Dell Laptops and want to try and get fog to capture and deploy Windows 11 images on these. We are finding it unable to PXE boot and wanted to ask if there is specific files we would need to modify or replace in FOG and if you had any advice on how to go about attempting this? I am not very experienced with Linux but want to see if I can get this working.

                george1421G 1 Reply Last reply Reply Quote 0
                • george1421G
                  george1421 Moderator @stokehall
                  last edited by

                  @stokehall ok, let me start out with neither the developers or myself have an ARM system (other than an RPi, but that is a different beast) so we will rely on the forum members to help us debug this.

                  With that said, let me tell you how it should work. When you pxe boot the computer it sends out to the dhcp server “hey I’m this kind of computer, please configure me” message. We need to see this message but more on that later. When the fog server or dhcp server sees this message it will send two optional dhcp fields. One is the boot server’s ip address and the second is the name of the file to bootstrap the computer. The boot loader/strap file that FOG uses is iPXE. The default ipxe files need to be hardware specific. For bios x86 systems the default should be undionly.kpxe, For uefi x86 systems ipxe.efi (or snp.efi) The first issue here is that the fog server or dhcp server always assumes your computer is x86 based. What you need to do to get past this part is to tell your dhcp server to send the ARM boot loader (full disclosure I don’t know what its called, but its on the fog server). Look on the fog server in the /tftpboot directory. Search for all files that end in efi ls -la /tftpboot/*.efi one of those efi files should have arm in the title. Get that file name and key it into the dhcp server/s option 67 value (understand this is a global setting and will send the arm file name to all pxe booting computers, but right now its just a test). With that arm boot loader in place you should get to the FOG iPXE menu. If you do then wonderful. Try to get into the hardware compatibility checker. Hopefully the ARM version of bzImage will be sent to the target computer. If you get into the hardware compatibility checker. That tests the FOS engine, if it runs it should image.

                  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!

                  george1421G S 2 Replies Last reply Reply Quote 0
                  • george1421G
                    george1421 Moderator @george1421
                    last edited by

                    @george1421 For debugging pxe booting issues, I need to see the output.pcap file that is generated from this tutorial. https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue

                    This task will show us the “hey I’m this kind of computer, please configure me” message. In that message I need to see what exactly the computer is saying what type it is. We will need this to figure out a long term solution to updating dhcp option 67

                    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!

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MarkG @george1421
                      last edited by

                      @george1421
                      I have mode some progress: Using FOG 1.5.10.1593 on Ubuntu Server 24.04
                      I was able to find the DHCP boot parameters using wireshark, and I’ve added this to my dhcpd.conf:

                      class "UEFI-ARM64" {
                          match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00011";
                          filename "arm64-efi/snponly.efi";
                      }
                      

                      This makes the iPXE part work and I can boot to the FOG menu. I then tried to run a Full Host Registration. The first problem was that FOG is sending it the x86 bzImage and init, so I (temporarily) made this change to the FOG config, having downloaded the ARM kernel and the ARM init using the FOG GUI.

                      Screenshot_20240913_102347.png

                      This gets me a little further but now the process stops here for a few seconds, then the laptop reboots. Same hapens if I try the Compatability Checker.

                      thumbnail_image0.jpg

                      So currently the summary is that FOG is sending the x86 bzImage and init, and when I hack it to send the ARM ones, those don’t work.

                      I don’t remember which version of the ARM inits and kernels I tried, so I’ll try a few more and if I get any further I’ll post back.

                      Tom ElliottT george1421G 2 Replies Last reply Reply Quote 0
                      • Tom ElliottT
                        Tom Elliott @MarkG
                        last edited by

                        @MarkG So that leaves me with a few notes already:

                        1. Need a storage for global arm Kernel and Init
                        2. Need to associate architecture to appropriate kernel/init.
                        3. Later we need to get kernel/init actually loading/booting?

                        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

                        M george1421G 2 Replies Last reply Reply Quote 0
                        • M
                          MarkG @Tom Elliott
                          last edited by

                          @Tom-Elliott

                          Need a storage for global arm Kernel and Init
                          Need to associate architecture to appropriate kernel/init.

                          Yeah. I don’t know how you detect that you need the ARM kernels at that point but atm it thinks it needs to send the x86 kernels. (I’m not actually using any x86 PCs so I haven’t actually broken anything by changing that config 🙂 )

                          Later we need to get kernel/init actually loading/booting?

                          Not completely sure I’ve understood that, but with the config hack I’ve done it is definitely downloading the arm_Image and the ARM init, I can see that the filenames are correct just before it gets to the point where it stops.

                          I tried the most recent 3 builds (including the experimental one) of the ARM kernels and inits but it made no difference.

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

                            @MarkG What i mean is loading the actual system.

                            RIght now it seems (to me from the image provided) that it doesn’t get you into FOS. It loads, just gets stuck?

                            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

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              MarkG @Tom Elliott
                              last edited by

                              @Tom-Elliott
                              Yes I think that’s correct if I’m correct that getting into FOS would mean the kernel started to boot. What you see there is what happens immediately after I make a selection from the FOG menu. It downloads the kernel and the init. The next thing that appears onscreen is what you see there, and then after a couple of seconds it reboots.

                              1 Reply Last reply Reply Quote 0
                              • S
                                stokehall @george1421
                                last edited by

                                @george1421 Thanks for such a fast and detailed response. Yes I fully understand that we are in uncharted waters and that few people have this hardware yet so I am happy to be usefull to the community with these devices for as long as I can keep them before they are provisioned.

                                I will attempt to do this after the weekend and report back my results.

                                How do I go about this step? “Get that file name and key it into the dhcp server/s option 67 value”

                                george1421G 1 Reply Last reply Reply Quote 0
                                • george1421G
                                  george1421 Moderator @Tom Elliott
                                  last edited by

                                  @Tom-Elliott said in Windows on ARM:

                                  So that leaves me with a few notes already:

                                  Tom, I did some testing back in 2021 trying to get a rpi to pxe boot. I never did but here is what I found with FOG and a few changes that needed to happen: https://forums.fogproject.org/topic/14959/raspberry-pi-4-unable-to-pxe-boot

                                  I’m only adding this here for reference.

                                  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!

                                  1 Reply Last reply Reply Quote 0
                                  • george1421G
                                    george1421 Moderator @stokehall
                                    last edited by

                                    @stokehall said in Windows on ARM:

                                    How do I go about this step? “Get that file name and key it into the dhcp server/s option 67 value”

                                    The question back to you is what is your dhcp server for the imaging network? That is where you would set the value for the boot loader. BUT the OP of this thread has already done that and has proven how to get into the FOG iPXE menu, so the inits work. He has already figured out the arch type (11) for the dhcp server (what i needed the tcpdump/wireshark pcap for). Right now we have an issue with the fos linux (engine that clones disks) starting up. If I remember right the person that developed the FOG arm kernel was building it for a cortex CPU. It might not have all of the bits in it needed to boot the dell/lenovo. This is nothing unsolvable, we just need to find out about the processors in your system(s) and look at the kernel configs. This hardware is so new there aren’t a lot of info out there about it.

                                    It would be interesting to see if you could find a live linux OS for the arm cpus and get that to boot. We could then reverse engineer the kernel settings for that live boot OS. (just thinking out loud)

                                    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!

                                    S 2 Replies Last reply Reply Quote 0
                                    • george1421G
                                      george1421 Moderator @MarkG
                                      last edited by

                                      @MarkG said in Windows on ARM:

                                      class “UEFI-ARM64” {
                                      match if substring(option vendor-class-identifier, 0, 20) = “PXEClient:Arch:00011”;
                                      filename “arm64-efi/snponly.efi”;
                                      }

                                      Well done working out the hard bits. It sounds like there needs to be some fog ui updates and we need to get that FOS kernel to boot cleanly. In the FOG Global configuration settings. There should be a field for log level, set that to 7 to see if there are any additional log entries that gets displayed. The default value of 0 or 4 masks most of the kernel messages. The level 7 is only used for debugging.

                                      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!

                                      george1421G M 2 Replies Last reply Reply Quote 0
                                      • george1421G
                                        george1421 Moderator @george1421
                                        last edited by george1421

                                        FWIW It looks like snapdragon support will first be available in linux kernel 6.11

                                        https://www.phoronix.com/news/Qualcomm-Adreno-X1-85-GPU-Linux

                                        additional linux support docs
                                        https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-3/features.html

                                        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!

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          rodluz Developer @george1421
                                          last edited by

                                          I will be getting a snapdragon laptop on Monday for FOG/FOS testing.
                                          It looks like kernel 6.11 will most likely be released Sunday but there already is a release candidate that I could build to test with.

                                          @Tom-Elliott Implemented some changes to support ARM by default on the 1.6-alpha branch of FOG.
                                          I am currently porting it over to the 1.5 dev-branch

                                          george1421G 1 Reply Last reply Reply Quote 1
                                          • george1421G
                                            george1421 Moderator @rodluz
                                            last edited by

                                            @rodluz On that laptop, what is the processor model? From what I’m gathering (I’m a bit ignorant on arm systems) but snapdragon is akin to the word pentium. There are a few models that fit behind that banner. Is your system the x elite or one of the older processors like the 850?

                                            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!

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

                                            157

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project