123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- .. SPDX-License-Identifier: GPL-2.0+
- .. sectionauthor:: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
- Edison
- ======
- Build Instructions for U-Boot as main bootloader
- ------------------------------------------------
- Simple you can build U-Boot and obtain u-boot.bin::
- $ make edison_defconfig
- $ make all
- Updating U-Boot on Edison
- -------------------------
- By default Intel Edison boards are shipped with preinstalled heavily
- patched U-Boot v2014.04. Though it supports DFU which we may be able to
- use.
- 1. Prepare u-boot.bin as described in chapter above. You still need one
- more step (if and only if you have original U-Boot), i.e. run the
- following command::
- $ truncate -s %4096 u-boot.bin
- 2. Run your board and interrupt booting to U-Boot console. In the console
- call::
- => run do_force_flash_os
- 3. Wait for few seconds, it will prepare environment variable and runs
- DFU. Run DFU command from the host system::
- $ dfu-util -v -d 8087:0a99 --alt u-boot0 -D u-boot.bin
- 4. Return to U-Boot console and following hint. i.e. push Ctrl+C, and
- reset the board::
- => reset
- Updating U-Boot using xFSTK
- ---------------------------
- You can also update U-Boot using the xfstk-dldr-solo tool if you can build it.
- One way to do that is to follow the `xFSTK`_ instructions. In short, after you
- install all necessary dependencies and clone repository, it will look like this:
- .. code-block:: sh
- cd xFSTK
- export DISTRIBUTION_NAME=ubuntu20.04
- export BUILD_VERSION=1.8.5
- git checkout v$BUILD_VERSION
- ...
- Once you have built it, you can copy xfstk-dldr-solo to /usr/local/bin and
- libboost_program_options.so.1.54.0 to /usr/lib/i386-linux-gnu/ and with luck
- it will work. You might find this `drive`_ helpful.
- If it does, then you can download and unpack the Edison recovery image,
- install dfu-util, reset your board and flash U-Boot like this:
- .. code-block:: sh
- xfstk-dldr-solo --gpflags 0x80000007 \
- --osimage u-boot-edison.img \
- --fwdnx recover/edison_dnx_fwr.bin \
- --fwimage recover/edison_ifwi-dbg-00.bin \
- --osdnx recover/edison_dnx_osr.bin
- This should show the following
- .. code-block:: none
- XFSTK Downloader Solo 1.8.5
- Copyright (c) 2015 Intel Corporation
- Build date and time: Aug 15 2020 15:07:13
- .Intel SoC Device Detection Found
- Parsing Commandline....
- Registering Status Callback....
- .Initiating Download Process....
- .......(lots of dots)........XFSTK-STATUS--Reconnecting to device - Attempt #1
- .......(even more dots)......................
- You have about 10 seconds after resetting the board to type the above command.
- If you want to check if the board is ready, type:
- .. code-block:: none
- lsusb | egrep "8087|8086"
- Bus 001 Device 004: ID 8086:e005 Intel Corp.
- If you see a device with the same ID as above, the board is waiting for your
- command.
- After about 5 seconds you should see some console output from the board:
- .. code-block:: none
- ******************************
- 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 ***
- After another 10 seconds the xFSTK tool completes and the board resets. About
- 10 seconds after that should see the above message again and then within a few
- seconds U-Boot should start on your board:
- .. code-block:: none
- U-Boot 2020.10-rc3 (Sep 03 2020 - 18:44:28 -0600)
- CPU: Genuine Intel(R) CPU 4000 @ 500MHz
- DRAM: 980.6 MiB
- WDT: Started with servicing (60s timeout)
- MMC: mmc@ff3fc000: 0, mmc@ff3fa000: 1
- Loading Environment from MMC... OK
- In: serial
- Out: serial
- Err: serial
- Saving Environment to MMC... Writing to redundant MMC(0)... OK
- Saving Environment to MMC... Writing to MMC(0)... OK
- Net: No ethernet found.
- Hit any key to stop autoboot: 0
- Target:blank
- Partitioning using GPT
- Writing GPT: success!
- Saving Environment to MMC... Writing to redundant MMC(0)... OK
- Flashing already done...
- 5442816 bytes read in 238 ms (21.8 MiB/s)
- Valid Boot Flag
- Setup Size = 0x00003c00
- Magic signature found
- Using boot protocol version 2.0c
- Linux kernel version 3.10.17-poky-edison+ (ferry@kalamata) #1 SMP PREEMPT Mon Jan 11 14:54:18 CET 2016
- Building boot_params at 0x00090000
- Loading bzImage at address 100000 (5427456 bytes)
- Magic signature found
- Kernel command line: "rootwait ..."
- Magic signature found
- Starting kernel ...
- ...
- Poky (Yocto Project Reference Distro) 1.7.2 edison ttyMFD2
- edison login:
- .. _xFSTK: https://github.com/edison-fw/xFSTK
- .. _drive: https://drive.google.com/drive/u/0/folders/1URPHrOk9-UBsh8hjv-7WwC0W6Fy61uAJ
|