162 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
.. 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. You may need to use
 | 
						|
a virtual machine running Ubuntu Trusty. Once you have built it and installed
 | 
						|
libboost-all-dev, 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 fine this `drive`_ helpful.
 | 
						|
 | 
						|
If it does, then you can download and unpack the Edison reocovery image,
 | 
						|
install dfu-util, reset your board and flash U-Boot like this::
 | 
						|
 | 
						|
   $ 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 0.0.0
 | 
						|
  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 root=PARTUUID=ada722ed-6410-764e-8619-abff6f66e10e rootfstype=ext4 console=ttyMFD2 earlyprintk=ttyMFD2,keep loglevel=4 g_multi.ethernet_config=cdc systemd.unit=multi-user.target hardware_id=00 g_multi.iSerialNumber=2249baf774c675598661a63098c0ad41 g_multi.dev_addr=02:00:86:c0:ad:41 platform_mrfld_audio.audio_codec=dummy"
 | 
						|
  Magic signature found
 | 
						|
 | 
						|
  Starting kernel ...
 | 
						|
 | 
						|
  ...
 | 
						|
 | 
						|
  Poky (Yocto Project Reference Distro) 1.7.2 edison ttyMFD2
 | 
						|
 | 
						|
  edison login:
 | 
						|
 | 
						|
.. _xFSTK: https://community.intel.com/t5/Intel-Makers/Building-xFSTK-on-Ubuntu-14-04-32-bit-for-flashing-Edison/td-p/538081
 | 
						|
.. _drive: https://drive.google.com/drive/u/0/folders/1URPHrOk9-UBsh8hjv-7WwC0W6Fy61uAJ
 |