U-Boot fails dfu on edison
Andy Shevchenko
andy.shevchenko at gmail.com
Thu Sep 3 17:49:14 CEST 2020
On Thu, Sep 03, 2020 at 06:05:44PM +0300, Andy Shevchenko wrote:
> On Thu, Sep 03, 2020 at 08:21:23AM -0600, Simon Glass wrote:
> > On Thu, 3 Sep 2020 at 07:51, Andy Shevchenko <andy.shevchenko at gmail.com> wrote:
> > > On Thu, Sep 3, 2020 at 4:40 PM Andy Shevchenko
> > > <andriy.shevchenko at linux.intel.com> wrote:
> > > > On Thu, Sep 03, 2020 at 07:15:59AM -0600, Simon Glass wrote:
>
> ...
>
> > > > Hmm... Have you read this [1]? It may give some hints I think.
> > > >
> > > > [1]: https://edison-fw.github.io/edison-wiki/u-boot-update (look into known-bugs section)
> > > >
> > > > > Any ideas please?
> > > >
> > > > See above.
> > >
> > > Just in case my script [2] to prepare a U-Boot image file suitable for xFSTK.
> > >
> > > [2]: https://gist.github.com/andy-shev/2c388310f2773ead647d9c1a3f1c813f
> >
> > Thanks, that gets me a bit closer. Here are my steps:
> >
> > 1. Start with the original 2014 U-Boot from 'flashall.sh --recovery'
> > 2. Boot it and use dfu-util to flash the latest 2020 U-Boot as per edison.rst
> > 3. Set env vars as guessed from the link you provided:
> >
> > setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 mmcpart
> > 1;ifwib${hardware_id} raw 0 8192 mmcpart 2;u-boot0 part 0
> > 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;boot part
> > 0 7;rootfs part 0 8;update part 0 9;home part 0 10;vmlinuz fat 0
> > 7;initrd fat 0 7"
> > setenv do_dfu_alt_info_ifwi 'setenv dfu_alt_info "ifwi${hardware_id}
> > raw 0 8192 mmcpart 1;ifwib${hardware_id} raw 0 8192 mmcpart 2"'
> > setenv do_dfu_alt_info_mmc 'setenv dfu_alt_info "ifwi${hardware_id}
> > raw 0 8192 mmcpart 1;ifwib${hardware_id} raw 0 8192 mmcpart 2;u-boot0
> > part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0
> > 4;boot part 0 7;rootfs part 0 8;update part 0 9;home part 0 10;vmlinuz
> > fat 0 7;initrd fat 0 7"'
> > setenv do_flash_ifwi 'run do_dfu_alt_info_ifwi ; dfu 0 raw 3'
> > setenv do_force_flash_os 'run do_dfu_alt_info_mmc ; sleep 1 ; setenv
> > do_flash_os_done 1 ; saveenv ; dfu 0 raw 3'
>
> ^^^
>
> > 4. Reboot and see:
> >
> > U-Boot 2020.10-rc3-00012-g9f04a634ef3 (Sep 03 2020 - 07:06:30 -0600)
> >
> > CPU: Genuine Intel(R) CPU 4000 @ 500MHz
> > DRAM: 980.6 MiB
> > WDT: Started with servicing (60s timeout)
> > MMC: mmc at ff3fc000: 0, mmc at ff3fa000: 1
> > Loading Environment from MMC... OK
> > In: serial
> > Out: serial
> > Err: serial
> > Net: No ethernet found.
> > Hit any key to stop autoboot: 0
> > Target:ifwi
> > Partitioning already done...
> > Partitioning already done...
> > Saving Environment to MMC... Writing to redundant MMC(0)... OK
> > dfu_fill_entity: Device raw not (yet) supported!
>
> > So I am still missing something?
>
> Yes. You haven't read the Issue #3 [3] mentioned in the known-bug section in [1].
>
> [3]: https://github.com/intel/edison-u-boot/issues/3
For your convenience copy'n'paste of my comments from [3].
~~~
You need to change mmc word (note that mmcpart word is left untouched) to raw
word in description of partitions. It's done, for example, in
do_dfu_alt_info_mmc environment variable.
Command is kept the same:
dfu 0 mmc 0
~~~
There is no rawpart keyword in DFU if I remember correctly. You need to use
mmcpart instead. I have updated above comment to accent on this.
~~~
--
With Best Regards,
Andy Shevchenko
More information about the U-Boot
mailing list