Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Bernard_G_Intel
Employee
1,296 Views

How to recompile and flash U-Boot only.

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.

4 Replies
Andriy_S_Intel
Employee
121 Views

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?

HP1
Beginner
121 Views

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

JJona4
Novice
121 Views

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.

Andriy_S_Intel
Employee
121 Views

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

Reply