4 Replies Latest reply on Nov 15, 2016 1:07 PM by 0andriy

    How to recompile and flash U-Boot only.

    Sideralis

      In case some people are interested (done on Ubuntu 14.04)

       

      Prerequisite:

      git clone git://git.yoctoproject.org/meta-intel-edison
      ln -s meta-intel-edison/utils/Makfile.mk Makefile
      make setup
      
      
      

       

      Setup:

      cd out/linux64
      source poky/oe-init-build-env
      
      
      

       

      Files edition:

      bitbake -c devshell u-boot
      
      
      

      You get a new shell in u-boot sources directories. Modify the files as you need.

       

      Compilation:

      bitbake -f -c compile u-boot
      
      
      

       

      Gernerate images:

      bitbake -c build u-boot
      ../../../meta-intel-edison/utils/flash/postBuild.sh .
      
      
      

      Note: Don't forget the . at the end of the line above!

       

      Flash:

      sudo toFlash/flashall.sh
      
      
      

      To simplify and accelerate the flashing, you can comment the lines related to "Flashing boot partition (kernel)" and "Flashing rootfs".

       

      In the end, your Edison board should boot your new U-Boot.

        • 1. Re: How to recompile and flash U-Boot only.
          0andriy

          Thanks for this, do you have the instructions how to do this having only the U-Boot Git repository clone? And just out of curiosity what is the version have you got at the end?

          • 2. Re: How to recompile and flash U-Boot only.
            HP1789

            Thx for sharing this ...

            but can I do this on Windows ... and what if my Edison is not booting at all anymore. i.e. this is my problem

             

            When reverting back to an older image the u-boot of my edison got damaged and now is stopping to boot after the PSH kernel boot

             

            ******************************

            PSH KERNEL VERSION: b0182b2b

                            WR: 20104000

            ******************************

             

            SCU IPC: 0x800000d0  0xfffce92c

             

            PSH miaHOB version: TNG.B0.VVBD.0000000c

             

            microkernel built 11:24:08 Feb  5 2015

             

            ******* PSH loader *******

            PCM page cache size = 192 KB

            Cache Constraint = 0 Pages

            Arming IPC driver ..

            Adding page store pool ..

            PagestoreAddr(IMR Start Address) = 0x04899000

            pageStoreSize(IMR Size)          = 0x00080000

             

             

            *** Ready to receive application ***

             

             

            So the kernel is not booting anymore and all the scripts that run on the edison won't work anymore

             

            Thx

             

            Hermann

            • 3. Re: How to recompile and flash U-Boot only.
              jpkotta

              The minimal thing you need to do to flash a new u-boot is:

               

              In u-boot:

              => run do_dfu_alt_info_mmc
              => dfu 0 mmc 0 10 # may need to be done more than once
              

               

              On host machine:

              # dfu-util --verbose --device 0x8087:0x0a99 --alt "u-boot0" --download u-boot.bin
              # dfu-util --verbose --device 0x8087:0x0a99 --alt "u-boot-env0" ---download edison-blankcdc.bin
              # dfu-util --verbose --device 0x8087:0x0a99 --alt "u-boot-env1" ---download edison-blankcdc.bin -R
              

               

              `u-boot.bin` and `edison-blankcdc.bin` (and other environments) are found in `build/tmp/deply/images/edison/`.  The `--alt` argument is the partition name; these are defined in the u-boot variable `dfu-alt-info`.  The `-R` causes a reboot on success.

              • 4. Re: How to recompile and flash U-Boot only.
                0andriy

                jpkotta yeah, thanks, I'm playing with U-Boot v2016.11 itself right now, seems I'm about to get it working.