u-boot bootdelay=2 when booting ext4, and bootdelay=0 when booting fat

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
0
down vote

favorite












I am running u-boot on a Beaglebone Black custom install, and have modified ./include/configs/am335x_evm.h to set the default bootdelay to 0, which was working well when I was loading my kernel and device tree off of a fat partition. But I switched partition 1 from fat to ext4, and change the fatload statements in my uEnv.txt to ext4load. Everything works just as before, except now I'm back to having a 2 second bootdelay. I don't understand why switching partition types would cause this.



Does anybody know how I can recompile u-boot to set bootdelay back to 0 in the case of me using ext4 boot partition?




Alternatively, I suppose I could figure out how to get saveenv working. Currently it gives:



=> saveenv
Saving Environment to FAT... MMC: no card present
** Bad device mmc 0 **
Failed (1)


But honestly I'd rather just change the default at compile time.







share|improve this question
























    up vote
    0
    down vote

    favorite












    I am running u-boot on a Beaglebone Black custom install, and have modified ./include/configs/am335x_evm.h to set the default bootdelay to 0, which was working well when I was loading my kernel and device tree off of a fat partition. But I switched partition 1 from fat to ext4, and change the fatload statements in my uEnv.txt to ext4load. Everything works just as before, except now I'm back to having a 2 second bootdelay. I don't understand why switching partition types would cause this.



    Does anybody know how I can recompile u-boot to set bootdelay back to 0 in the case of me using ext4 boot partition?




    Alternatively, I suppose I could figure out how to get saveenv working. Currently it gives:



    => saveenv
    Saving Environment to FAT... MMC: no card present
    ** Bad device mmc 0 **
    Failed (1)


    But honestly I'd rather just change the default at compile time.







    share|improve this question






















      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I am running u-boot on a Beaglebone Black custom install, and have modified ./include/configs/am335x_evm.h to set the default bootdelay to 0, which was working well when I was loading my kernel and device tree off of a fat partition. But I switched partition 1 from fat to ext4, and change the fatload statements in my uEnv.txt to ext4load. Everything works just as before, except now I'm back to having a 2 second bootdelay. I don't understand why switching partition types would cause this.



      Does anybody know how I can recompile u-boot to set bootdelay back to 0 in the case of me using ext4 boot partition?




      Alternatively, I suppose I could figure out how to get saveenv working. Currently it gives:



      => saveenv
      Saving Environment to FAT... MMC: no card present
      ** Bad device mmc 0 **
      Failed (1)


      But honestly I'd rather just change the default at compile time.







      share|improve this question












      I am running u-boot on a Beaglebone Black custom install, and have modified ./include/configs/am335x_evm.h to set the default bootdelay to 0, which was working well when I was loading my kernel and device tree off of a fat partition. But I switched partition 1 from fat to ext4, and change the fatload statements in my uEnv.txt to ext4load. Everything works just as before, except now I'm back to having a 2 second bootdelay. I don't understand why switching partition types would cause this.



      Does anybody know how I can recompile u-boot to set bootdelay back to 0 in the case of me using ext4 boot partition?




      Alternatively, I suppose I could figure out how to get saveenv working. Currently it gives:



      => saveenv
      Saving Environment to FAT... MMC: no card present
      ** Bad device mmc 0 **
      Failed (1)


      But honestly I'd rather just change the default at compile time.









      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 22 at 16:02









      Dave

      1196




      1196




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          Download the ARM cross-compiler GCC on your PC.



          wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          tar xf gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          export CC=**/path to**/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-


          Make sure you have the correct path.It should be from the root, something like this /home/username/path to gcc-linaro/bin/arm-linux-gnueabihf-



          Test Cross Compiler:



          $CCgcc --version


          You should see this on your terminal if you have the correct path:



          arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2017.11) 6.4.1 20171012
          Copyright (C) 2017 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions. There is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


          Download u-boot



          git clone https://github.com/u-boot/u-boot
          cd u-boot/
          git checkout v2018.01 -b tmp


          Get the patches (Needs internet connection)



          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch
          wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Apply patches to u-boot



          patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch
          patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Configure and Build



          make ARCH=arm CROSS_COMPILE=$CC distclean
          make ARCH=arm CROSS_COMPILE=$CC am335x_evm_defconfig


          Now in the u-boot folder there will be .config file you can edit and change the bootdelay parameter.
          Build



          make ARCH=arm CROSS_COMPILE=$CC


          Attach the SD card to the computer and run ‘lsblk’ to find out the id of the SD card. In my case the id was ‘sdb’



          Install:



          export DISK=/dev/sdb
          sudo dd if=./MLO of=$DISK count=1 seek=1 bs=128k
          sudo dd if=./u-boot.img of=$DISK count=2 seek=1 bs=384k





          share|improve this answer




















          • So I just saw your answer and haven't tried this yet, but I'm marking it answered because it hit on part of what was going wrong with my install.
            – Dave
            Apr 6 at 16:08










          • Someone else noticed that if you zero the eMMC first before installing my system, the system fails to boot. I figured out that's because the old MLO and u-boot.img were still in that 1M space before the first partition, and that's what the BBB was using since it couldn't find a fat partition. So my system was actually only booting at all by accident.
            – Dave
            Apr 6 at 16:08










          • I actually switched back to fat to make it work, but I might use this solution where I put the MLO and u-boot.img in the space before the first partition instead. Thanks!
            – Dave
            Apr 6 at 16:08










          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );








           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f432866%2fu-boot-bootdelay-2-when-booting-ext4-and-bootdelay-0-when-booting-fat%23new-answer', 'question_page');

          );

          Post as a guest






























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote



          accepted










          Download the ARM cross-compiler GCC on your PC.



          wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          tar xf gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          export CC=**/path to**/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-


          Make sure you have the correct path.It should be from the root, something like this /home/username/path to gcc-linaro/bin/arm-linux-gnueabihf-



          Test Cross Compiler:



          $CCgcc --version


          You should see this on your terminal if you have the correct path:



          arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2017.11) 6.4.1 20171012
          Copyright (C) 2017 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions. There is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


          Download u-boot



          git clone https://github.com/u-boot/u-boot
          cd u-boot/
          git checkout v2018.01 -b tmp


          Get the patches (Needs internet connection)



          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch
          wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Apply patches to u-boot



          patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch
          patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Configure and Build



          make ARCH=arm CROSS_COMPILE=$CC distclean
          make ARCH=arm CROSS_COMPILE=$CC am335x_evm_defconfig


          Now in the u-boot folder there will be .config file you can edit and change the bootdelay parameter.
          Build



          make ARCH=arm CROSS_COMPILE=$CC


          Attach the SD card to the computer and run ‘lsblk’ to find out the id of the SD card. In my case the id was ‘sdb’



          Install:



          export DISK=/dev/sdb
          sudo dd if=./MLO of=$DISK count=1 seek=1 bs=128k
          sudo dd if=./u-boot.img of=$DISK count=2 seek=1 bs=384k





          share|improve this answer




















          • So I just saw your answer and haven't tried this yet, but I'm marking it answered because it hit on part of what was going wrong with my install.
            – Dave
            Apr 6 at 16:08










          • Someone else noticed that if you zero the eMMC first before installing my system, the system fails to boot. I figured out that's because the old MLO and u-boot.img were still in that 1M space before the first partition, and that's what the BBB was using since it couldn't find a fat partition. So my system was actually only booting at all by accident.
            – Dave
            Apr 6 at 16:08










          • I actually switched back to fat to make it work, but I might use this solution where I put the MLO and u-boot.img in the space before the first partition instead. Thanks!
            – Dave
            Apr 6 at 16:08














          up vote
          1
          down vote



          accepted










          Download the ARM cross-compiler GCC on your PC.



          wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          tar xf gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          export CC=**/path to**/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-


          Make sure you have the correct path.It should be from the root, something like this /home/username/path to gcc-linaro/bin/arm-linux-gnueabihf-



          Test Cross Compiler:



          $CCgcc --version


          You should see this on your terminal if you have the correct path:



          arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2017.11) 6.4.1 20171012
          Copyright (C) 2017 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions. There is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


          Download u-boot



          git clone https://github.com/u-boot/u-boot
          cd u-boot/
          git checkout v2018.01 -b tmp


          Get the patches (Needs internet connection)



          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch
          wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Apply patches to u-boot



          patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch
          patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Configure and Build



          make ARCH=arm CROSS_COMPILE=$CC distclean
          make ARCH=arm CROSS_COMPILE=$CC am335x_evm_defconfig


          Now in the u-boot folder there will be .config file you can edit and change the bootdelay parameter.
          Build



          make ARCH=arm CROSS_COMPILE=$CC


          Attach the SD card to the computer and run ‘lsblk’ to find out the id of the SD card. In my case the id was ‘sdb’



          Install:



          export DISK=/dev/sdb
          sudo dd if=./MLO of=$DISK count=1 seek=1 bs=128k
          sudo dd if=./u-boot.img of=$DISK count=2 seek=1 bs=384k





          share|improve this answer




















          • So I just saw your answer and haven't tried this yet, but I'm marking it answered because it hit on part of what was going wrong with my install.
            – Dave
            Apr 6 at 16:08










          • Someone else noticed that if you zero the eMMC first before installing my system, the system fails to boot. I figured out that's because the old MLO and u-boot.img were still in that 1M space before the first partition, and that's what the BBB was using since it couldn't find a fat partition. So my system was actually only booting at all by accident.
            – Dave
            Apr 6 at 16:08










          • I actually switched back to fat to make it work, but I might use this solution where I put the MLO and u-boot.img in the space before the first partition instead. Thanks!
            – Dave
            Apr 6 at 16:08












          up vote
          1
          down vote



          accepted







          up vote
          1
          down vote



          accepted






          Download the ARM cross-compiler GCC on your PC.



          wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          tar xf gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          export CC=**/path to**/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-


          Make sure you have the correct path.It should be from the root, something like this /home/username/path to gcc-linaro/bin/arm-linux-gnueabihf-



          Test Cross Compiler:



          $CCgcc --version


          You should see this on your terminal if you have the correct path:



          arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2017.11) 6.4.1 20171012
          Copyright (C) 2017 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions. There is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


          Download u-boot



          git clone https://github.com/u-boot/u-boot
          cd u-boot/
          git checkout v2018.01 -b tmp


          Get the patches (Needs internet connection)



          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch
          wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Apply patches to u-boot



          patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch
          patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Configure and Build



          make ARCH=arm CROSS_COMPILE=$CC distclean
          make ARCH=arm CROSS_COMPILE=$CC am335x_evm_defconfig


          Now in the u-boot folder there will be .config file you can edit and change the bootdelay parameter.
          Build



          make ARCH=arm CROSS_COMPILE=$CC


          Attach the SD card to the computer and run ‘lsblk’ to find out the id of the SD card. In my case the id was ‘sdb’



          Install:



          export DISK=/dev/sdb
          sudo dd if=./MLO of=$DISK count=1 seek=1 bs=128k
          sudo dd if=./u-boot.img of=$DISK count=2 seek=1 bs=384k





          share|improve this answer












          Download the ARM cross-compiler GCC on your PC.



          wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          tar xf gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
          export CC=**/path to**/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-


          Make sure you have the correct path.It should be from the root, something like this /home/username/path to gcc-linaro/bin/arm-linux-gnueabihf-



          Test Cross Compiler:



          $CCgcc --version


          You should see this on your terminal if you have the correct path:



          arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2017.11) 6.4.1 20171012
          Copyright (C) 2017 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions. There is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


          Download u-boot



          git clone https://github.com/u-boot/u-boot
          cd u-boot/
          git checkout v2018.01 -b tmp


          Get the patches (Needs internet connection)



          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch
          wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Apply patches to u-boot



          patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
          patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch
          patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch


          Configure and Build



          make ARCH=arm CROSS_COMPILE=$CC distclean
          make ARCH=arm CROSS_COMPILE=$CC am335x_evm_defconfig


          Now in the u-boot folder there will be .config file you can edit and change the bootdelay parameter.
          Build



          make ARCH=arm CROSS_COMPILE=$CC


          Attach the SD card to the computer and run ‘lsblk’ to find out the id of the SD card. In my case the id was ‘sdb’



          Install:



          export DISK=/dev/sdb
          sudo dd if=./MLO of=$DISK count=1 seek=1 bs=128k
          sudo dd if=./u-boot.img of=$DISK count=2 seek=1 bs=384k






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Apr 5 at 15:15









          suadss

          261




          261











          • So I just saw your answer and haven't tried this yet, but I'm marking it answered because it hit on part of what was going wrong with my install.
            – Dave
            Apr 6 at 16:08










          • Someone else noticed that if you zero the eMMC first before installing my system, the system fails to boot. I figured out that's because the old MLO and u-boot.img were still in that 1M space before the first partition, and that's what the BBB was using since it couldn't find a fat partition. So my system was actually only booting at all by accident.
            – Dave
            Apr 6 at 16:08










          • I actually switched back to fat to make it work, but I might use this solution where I put the MLO and u-boot.img in the space before the first partition instead. Thanks!
            – Dave
            Apr 6 at 16:08
















          • So I just saw your answer and haven't tried this yet, but I'm marking it answered because it hit on part of what was going wrong with my install.
            – Dave
            Apr 6 at 16:08










          • Someone else noticed that if you zero the eMMC first before installing my system, the system fails to boot. I figured out that's because the old MLO and u-boot.img were still in that 1M space before the first partition, and that's what the BBB was using since it couldn't find a fat partition. So my system was actually only booting at all by accident.
            – Dave
            Apr 6 at 16:08










          • I actually switched back to fat to make it work, but I might use this solution where I put the MLO and u-boot.img in the space before the first partition instead. Thanks!
            – Dave
            Apr 6 at 16:08















          So I just saw your answer and haven't tried this yet, but I'm marking it answered because it hit on part of what was going wrong with my install.
          – Dave
          Apr 6 at 16:08




          So I just saw your answer and haven't tried this yet, but I'm marking it answered because it hit on part of what was going wrong with my install.
          – Dave
          Apr 6 at 16:08












          Someone else noticed that if you zero the eMMC first before installing my system, the system fails to boot. I figured out that's because the old MLO and u-boot.img were still in that 1M space before the first partition, and that's what the BBB was using since it couldn't find a fat partition. So my system was actually only booting at all by accident.
          – Dave
          Apr 6 at 16:08




          Someone else noticed that if you zero the eMMC first before installing my system, the system fails to boot. I figured out that's because the old MLO and u-boot.img were still in that 1M space before the first partition, and that's what the BBB was using since it couldn't find a fat partition. So my system was actually only booting at all by accident.
          – Dave
          Apr 6 at 16:08












          I actually switched back to fat to make it work, but I might use this solution where I put the MLO and u-boot.img in the space before the first partition instead. Thanks!
          – Dave
          Apr 6 at 16:08




          I actually switched back to fat to make it work, but I might use this solution where I put the MLO and u-boot.img in the space before the first partition instead. Thanks!
          – Dave
          Apr 6 at 16:08












           

          draft saved


          draft discarded


























           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f432866%2fu-boot-bootdelay-2-when-booting-ext4-and-bootdelay-0-when-booting-fat%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?