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

    No space left on device

    Scheduled Pinned Locked Moved
    General
    7
    24
    9.3k
    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.
    • adukes40A
      adukes40 @Quazz
      last edited by adukes40

      @Quazz We only have 3 images, and currently we are deploying the 32bit one. All the images are the same. plus this image in particular, is the one that was captured, as it is on the subnet where the master node resides.

      Tomorrow i will be back at the building, so I will be able to dive into it more.

      Q 1 Reply Last reply Reply Quote 0
      • B
        bigjim
        last edited by

        I am having the same issue the pc has a 500GB drive so shouldnt the mount point show that as available? Am i missing a step?

        1 Reply Last reply Reply Quote 0
        • Q
          Quazz Moderator @adukes40
          last edited by

          @adukes40 Any update on this?

          @bigjim What model of computer? Model of hard drive? Are you also using a postdownloadscript for driver install? What exactly fails to mount?

          adukes40A 1 Reply Last reply Reply Quote 0
          • adukes40A
            adukes40 @Quazz
            last edited by

            @Quazz I do not have anything further. Here is what I do have. this first script works for all devices with mechanical SATA, and SSD’s, but not M.2 SATA:

            #!/bin/sh
            osdiskpart=“/dev/sda2”;
            driverver=“Win7”
            mkdir /ntfs 2>/dev/null
            mount.ntfs-3g “${osdiskpart}” /ntfs 2>/tmp/mntfail
            mkdir /ntfs/Drivers 2>/dev/null
            if [ -d “/ntfs/Windows/SysWOW64” ]
            then
            setarch=“x64”;
            else
            setarch=“x86”;
            fi
            machine=dmidecode -s system-product-name;
            machine=“${machine%”${machine##[![:space:]]}“}”;
            echo "Detected [${machine}] [${driverver}] with this arch [${setarch}] " >> /ntfs/Drivers/machine.txt
            rm -f /tmp/mydrivers;
            ln -s “/images/Drivers/${driverver}/${machine}/${setarch}/” /tmp/mydrivers;
            if [ -d “/tmp/mydrivers” ]
            then
            cp -r /tmp/mydrivers/
            /ntfs/Drivers;
            fi
            regfile=“/ntfs/Windows/System32/config/SOFTWARE”
            key=“\Microsoft\Windows\CurrentVersion\DevicePath”
            devpath=“%SystemRoot%\inf;C:\Drivers”;
            reged -e “$regfile” &>/dev/null <<EOFREG
            ed $key
            $devpath
            q
            y
            EOFREG
            rm -f /tmp/mydrivers;
            umount /ntfs

            The following scirpt works with the M.2 SATA and mechanical SATAs, and the SSD’s. HOWEVER, it will not work with the OptiPlex 790’s nor 990’s They are the only two models giving the “space” problem.

            #!/bin/sh
            if [[ $hd == /dev/sda* ]]
            then
            osdiskpart=“/dev/sda2”;
            else [[ $hd == /dev/nvme* ]]

            osdiskpart="/dev/nvme0n1p2";
            

            fi
            driverver=“Win7”
            mkdir /ntfs 2>/dev/null
            mount.ntfs-3g “${osdiskpart}” /ntfs 2>/tmp/mntfail
            mkdir /ntfs/Drivers 2>/dev/null
            if [ -d “/ntfs/Windows/SysWOW64” ]
            then
            setarch=“x64”;
            else
            setarch=“x86”;
            fi
            machine=dmidecode -s system-product-name;
            machine=“${machine%”${machine##[![:space:]]}“}”;
            echo "Detected [${machine}] [${driverver}] with this arch [${setarch}] " >> /ntfs/Drivers/machine.txt
            rm -f /tmp/mydrivers;
            ln -s “/images/Drivers/${driverver}/${machine}/${setarch}/” /tmp/mydrivers;
            if [ -d “/tmp/mydrivers” ]
            then
            cp -r /tmp/mydrivers/
            /ntfs/Drivers;
            fi
            regfile=“/ntfs/Windows/System32/config/SOFTWARE”
            key=“\Microsoft\Windows\CurrentVersion\DevicePath”
            devpath=“%SystemRoot%\inf;C:\Drivers”;
            reged -e “$regfile” &>/dev/null <<EOFREG
            ed $key
            $devpath
            q
            y
            EOFREG
            rm -f /tmp/mydrivers;
            umount /ntfs

            for now I reverted back to the first script for imaging as we only have 1 lab of the M.2 SATA machines. I have not had the time to look at this yet. If anyone has an idea on what to change for the scirpts I would be all ears, but for now I do not have a resolution. (due to time)

            Q 1 Reply Last reply Reply Quote 0
            • Q
              Quazz Moderator @adukes40
              last edited by Quazz

              @adukes40 said in No space left on device:

              if [[ $hd == /dev/sda* ]]
              then
              osdiskpart=“/dev/sda2”;
              else [[ $hd == /dev/nvme* ]]
              osdiskpart=“/dev/nvme0n1p2”;

              fi

              I’m not an expert in bash scripts but this seems incorrect to me.

              if [ $hd == /dev/sda* ]
              then
              osdiskpart="/dev/sda2"
              else [ $hd == /dev/nvme* ]
              osdiskpart="/dev/nvme0n1p2"
              fi
              

              Seems better already. They key part seems to be that the incorrect partition is selected on those Optiplexes. So perhaps the $hd thingy isn’t super reliable?

              I would do something like :

              if [ -b /dev/sda2 ]
              then
              osdiskpart="/dev/sda2"
              else [ -b /dev/nvme0n1p2 ]
              osdiskpart="/dev/nvme0n1p2"
              else
              echo "No usable partition detected!";
              fi
              

              Seeing as you’ll be using those partitions anyway, you might as well test against their existence in a direct fashion anyway, since it won’t be able to do anything if they don’t exist.

              You only need ; in specific circumstances as well if I’m not mistaken, shouldn’t be necessary for simply setting variables.

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

                @Quazz A couple of things come to mind here. First the script structure looks wrong (maybe I’m a class-A nit picker).

                I would expect a bash script to look something similar

                if [ $hd == /dev/sda* ]; then
                  osdiskpart="/dev/sda2";
                elif [ $hd == /dev/nvme* ];
                  osdiskpart="/dev/nvme0n1p2";
                fi
                

                From there I’m not sure if wild cards are supported in the test as well as the if comparison should be against a string not /dev/sda*

                With that said, I might rewrte that code as:

                if [ $hd == *"/dev/nvme"* ]; then
                  osdiskpart= "${hd}0n1p2";
                else
                  osdiskpart= "${hd}2";
                fi
                

                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 1 Reply Last reply Reply Quote 0
                • george1421G
                  george1421 Moderator @george1421
                  last edited by

                  @george1421 But what I would suggest that you do when working on post download scripts is this.

                  1. Setup a debug deploy
                  2. PXE boot the target computer
                  3. After a few enter presses it will drop you to a command prompt
                  4. Give root a password with passwd
                  5. Get the IP address of the target computer with ip addr show
                  6. Go to your windows computer and open a putty session to your target computer using root and the password you just defined.

                  Now you can begin debugging your post install script.

                  1. From putty key in fog to start the download process.
                  2. Just past the point where the image has been sent to the target computer hit ctrl-C to break out of the fog installer script
                  3. Now the /images share should be mounted and you can test commands to find out the details of the hardware. By using putty you can copy and paste text easy.

                  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!

                  adukes40A 1 Reply Last reply Reply Quote 0
                  • adukes40A
                    adukes40 @george1421
                    last edited by

                    @george1421 Wish I had the time right now to run the tests, but with schools starting n a couple weeks, I might get to it by October. I can test your rewritten section though. I can pop that in and test a machine in a few seconds. It is just strange that 2 models, and only 2 models are being a pain. 745, 755, 760, and 780’s go thru without a hitch. BLEH!

                    1 Reply Last reply Reply Quote 0
                    • cerebronC
                      cerebron
                      last edited by cerebron

                      Maybe it’s not related to the topic, but a had an issue with free disk space after imaging from golden image. After “unsysprep” finished and i’ve logged on to machine, win7 shows that system partition is normaly extended to real hard disk size, but no matter how big hdd is, there is only 100-1000mb free on disk. After bashing my head for almost one week, i’ve realised that when i’ve created virtual disk on my ESXI virtual machine, for creating golden image, i’ve selected “Think provisioning, Lazy zeroed”, and so virtual disk file grows dynamicaly. I think because of this, part-clone cannot correctly detect partitions boundaries. So, the right choise is to select “Thick provisioning, Eager zeroed”.
                      Maybe that will help someone.

                      UPDATE:
                      Actualy, i’ve even figured out how to fix imaged machines disk size. Although, i dont know how to mass fix that, on imaged machine, you can first shrink system partition with acronis, for example, then extend it again.

                      Wayne WorkmanW 1 Reply Last reply Reply Quote 2
                      • Wayne WorkmanW
                        Wayne Workman @cerebron
                        last edited by Wayne Workman

                        @cerebron That is a great tip! Thank you for posting!

                        #wiki worthy

                        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!
                        Daily Clean Installation Results:
                        https://fogtesting.fogproject.us/
                        FOG Reporting:
                        https://fog-external-reporting-results.fogproject.us/

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

                        242

                        Online

                        12.0k

                        Users

                        17.3k

                        Topics

                        155.2k

                        Posts
                        Copyright © 2012-2024 FOG Project