Added some files from wiki

Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
This commit is contained in:
Robert Wolff 2016-11-15 10:18:42 -08:00
parent 08bdfe6819
commit 6417a90ceb
7 changed files with 512 additions and 0 deletions

View file

@ -0,0 +1,104 @@
h3. How to get and customize the kernel source code
h4. Building the Linux kernel from source
The Linux kernel used in this release is available via tags in the git "repository":https://github.com/rsalveti/linux
bc. git: https://github.com/rsalveti/linux
tag: 96boards-rpb-debian-15.12-qcom
defconfig: arch/arm64/defconfig kernel/configs/distro.config
The kernel image (@Image@) is located in the @boot@ image and partition and the kernel modules are installed in the root file system. It is possible for a user to rebuild the kernel and run a custom kernel image instead of the released kernel. You can build the kernel using any recent GCC release using the git tree, tag and defconfig mentioned above. This release only supports booting with device tree, as such both the device tree blobs need to be built as well.
The DragonBoard 410c is an ARMv8 platform, and the kernel is compiled for the Aarch64 target. Even though it is possible to build natively, on the target board, It is recommended to build the Linux kernel on a PC development host. In which case you need to install a cross compiler for the ARM architecture. It is recommended to download the "Linaro GCC cross compiler (Aarch64 little-endian)":http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz.
To build the Linux kernel, you can use the following instructions:
bc. git clone -n https://github.com/rsalveti/linux.git
cd linux
git checkout -b kernel-rpb-15.12 96boards-rpb-debian-15.12-qcom
export ARCH=arm64
export CROSS_COMPILE=<path to your GCC cross compiler>/aarch64-linux-gnu-
make defconfig distro.config
make -j4 Image dtbs KERNELRELEASE=4.3.0-your-custom-release
h4. Building a boot image
You now need to create a valid boot image with your own kernel build.
On your host PC, we need to install the following tools:
bc. sudo apt-get install device-tree-compiler
git clone git://codeaurora.org/quic/kernel/skales
The boot image consists of the table of device tree (@dt.img@), the kernel image (@Image@) and an init ramdisk image.
The @dtbTool@ is a standalone application that will process the DTBs generated during the kernel build, to create the table of device tree image. This tool is included in the @skales@ git tree cloned above.
bc. ./skales/dtbTool -o dt.img -s 2048 arch/arm64/boot/dts/qcom/
To create the boot image, you also need a ramdisk image, and you can use the one available at _/boot_ from the rootfs.
The tool @mkbootimg@ (also in the git tree previously cloned) is a standalone application that will process all files and create the boot image that can then be booted on the target board, or flash into the on-board eMMC. The boot image also contains the kernel bootargs, which can be changed as needed in the next command:
bc. ./skales/mkbootimg --kernel arch/arm64/boot/Image \
--ramdisk initrd.img \
--output boot-db410c.img \
--dt dt.img \
--pagesize 2048 \
--base 0x80000000 \
--cmdline "root=/dev/disk/by-partlabel/rootfs rw rootwait console=ttyMSM0,115200n8"
h4. Booting a custom boot image
Assuming you have now built a valid boot image called @boot-db410c.img@, you can run the following @fastboot@ command to boot it on the board:
bc. sudo fastboot boot boot-db410c.img
If you want to permanently use a custom kernel image, you can update the boot image and reflash it into the @boot@ partition:
bc. sudo fastboot flash boot boot-db410c.img
h4. How to get and customize the bootloader
While the first stage bootloader is proprietary and released as firmware blob available on "Qualcomm Developer Network":https://developer.qualcomm.com/download/linux-ubuntu-board-support-package-v1.zip, the second stage bootloader is @LK@ and is open source.
The original LK source code is available on "CodeAurora.org":https://www.codeaurora.org/cgit/quic/la/kernel/lk/, and the source code which is used in this release can be found in the "Linaro Qualcomm Landing Team git repository":https://git.linaro.org/landing-teams/working/qualcomm/lk.git:
bc. git: http://git.linaro.org/landing-teams/working/qualcomm/lk.git
tag: ubuntu-qcom-dragonboard410c-LA.BR.1.2.4-00310-8x16.0-linaro1
To build the LK bootloader, you can use the following instructions:
bc. git clone git://codeaurora.org/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8.git -b LA.BR.1.1.3.c4-01000-8x16.0
git clone http://git.linaro.org/landing-teams/working/qualcomm/lk.git -b ubuntu-qcom-dragonboard410c-LA.BR.1.2.4-00310-8x16.0-linaro1
cd lk
make -j4 msm8916 EMMC_BOOT=1 TOOLCHAIN_PREFIX=<path to arm-eabi-4.8 tree>/bin/arm-eabi-
The second stage bootloader is flashed on the @aboot@ partition, you can now flash your board with:
bc. sudo fastboot aboot ./build-msm8916/emmc_appsboot.mbn
h4. How to get and customize Debian packages source code
This release is based on Debian 8.2 "Jessie".
Since all packages installed in Linaro Debian-based images are maintained either in Debian archives or in Linaro repositories, it is possible for users to update their environment with commands such as:
bc. sudo apt-get update
sudo apt-get upgrade
All user space software is packaged using Debian packaging process. As such you can find extensive information about using, patching and building packages in The Debian New Maintainers Guide. If you quickly want to rebuild any package, you can run the following commands to fetch the package source code and install all build dependencies:
bc. sudo apt-get update
sudo apt-get build-dep <pkg>
apt-get source <pkg>
Then you can rebuild the package locally with:
bc. cd <pkg-version>
dpkg-buildpackage -b -us -uc
h4. TODO
* Explain how to build the rootfs from source

View file

@ -0,0 +1,81 @@
h2. Install Instructions - CE Debian RPB 15.12 - Dragonboard410c
This guide describes how to get started with the CE Debian Reference Platform Build, release 15.12, for Dragonboard410c.
For more information about the Dragonboard410c development board, please check "https://www.96boards.org/products/ce/dragonboard410c/":https://www.96boards.org/products/ce/dragonboard410c/
h3. Image Components
The CE Debian RPB 15.12 - Dragonboard410c build is composed of the following artifacts:
* Bootloader:
** "Qualcomm proprietary first stage bootloader":https://developer.qualcomm.com/download/linux-ubuntu-board-support-package-v1.zip
** "Little Kernel":https://git.linaro.org/landing-teams/working/qualcomm/lk.git as second stage boot loader
* Linux Kernel:
** Upstream plus extra changes for a better hardware support
** Git: "https://github.com/rsalveti/linux.git":https://github.com/rsalveti/linux.git
** Branch: *reference-qcom-rebase*
* Debian "Jessie"
** ALIP (LXDE based)
** Custom 96Boards artworks and default settings
** Additional packages provided by "linaro-overlay":http://repo.linaro.org/ubuntu/linaro-overlay
h4. Closed source binaries
This release contains proprietary firmware. You can also download the proprietary firmware separately, from "here":https://developer.qualcomm.com/download/db410c/firmware-410c-1.1.0.bin. All the required firmware files are pre-installed, and the image is bound to the following "license agreement":https://git.linaro.org/landing-teams/working/qualcomm/lt-docs.git/blob_plain/HEAD:/license/license.txt.
h3. Downloading the pre-built binaries
The build is mainly composed by two image files (boot and rootfs), but to avoid incompatibilities issues with older bootloaders, or different partition tables, it's also recommended to flash the bootloader.
Flashing and booting from the external SD Card is not supported by this release.
*Bootloader files:*
Download the latest bootloader zip from "http://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest":http://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest (look for dragonboard410c_bootloader_emmc_linux*.zip)
*CE Debian RPB image:*
bc. wget https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/15.12/dragonboard410c-boot-linux-20151214-35.img.gz
wget https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/15.12/dragonboard410c-rootfs-debian-jessie-alip-20151214-35.emmc.img.gz
gunzip dragonboard410c-*
h3. Flashing
h4. Bootloader
Flash the eMMC with the bootloader:
* Unzip the bootloader that was downloaded in the previous step. Note the directory that is it located in.
* Assure that a micro USB cable is connected from the micro-USB port on the DB410c to the host PC
* Assure micro SD Card slot is empty on the DB410c
* Set the S6 switch on the DB410c to: 0-0-0-0 {SD Boot set to off}
* Power on the DB410c into fastboot mode
** Press and hold the Vol (-) button on the DB410c (S4)
** While pressing S4 button, power up the DB410c. It will come up in fastboot mode
* From the host PC terminal window, run the following commands:
bc. # Check to make sure fastboot device connected. If not resolve
sudo fastboot devices
# cd to the directory the bootloader zip file was extracted
cd <extraction directory>
sudo ./flashall
The bootloader is now installed on the DB410c.
h4. Boot and Rootfs
Fastboot is required to flash both the boot and rootfs images.
*Flashing boot and rootfs:*
bc. sudo fastboot flash boot dragonboard410c-boot-linux-20151214-35.img
sudo fastboot flash rootfs dragonboard410c-rootfs-debian-jessie-alip-20151214-35.emmc.img
Once flashed just reboot the board and enjoy :-)
h3. Additional resources
For known issues and more information about this release, please check "https://github.com/96boards/documentation/wiki/ReferencePlatform":https://github.com/96boards/documentation/wiki/ReferencePlatform
In the case that the board experiences an irrecoverable error and no longer function, please check the "rescue image guide":https://github.com/96boards/documentation/wiki/Dragonboard-410c-Installation-Guide-for-Linux-and-Android#create--install-a-rescue-image

View file

@ -0,0 +1,28 @@
h2. Install Instructions
Look for the desirable release at "https://builds.96boards.org/snapshots/reference-platform/debian/":https://builds.96boards.org/snapshots/reference-platform/debian/
h3. Downloading
With the version in hands, simply download the images with wget:
bc. wget https://builds.96boards.org/snapshots/reference-platform/debian/30/dragonboard410c/dragonboard410c-boot-linux-20151106-30.img.gz
wget https://builds.96boards.org/snapshots/reference-platform/debian/30/dragonboard410c/dragonboard410c-rootfs-debian-jessie-alip-20151106-30.emmc.img.gz
gunzip dragonboard410c-*
h3. Flashing
Unplug the power cable, press volume down and plug the power cable again (to boot in fastboot mode). Once in fastboot, flash with the following commands:
bc. sudo fastboot flash boot dragonboard410c-boot-linux-*.img
sudo fastboot flash rootfs dragonboard410c-rootfs-debian-jessie-alip-*.emmc.img
Now just reboot the board and enjoy the release :-)
For known issues and more information, please check "https://github.com/96boards/documentation/wiki/ReferenceSoftware":https://github.com/96boards/documentation/wiki/ReferenceSoftware
h3. TODO
* Recovery process
* Extend instructions to explain the files used

View file

@ -0,0 +1,37 @@
h4. Building AOSP from source
Additional AOSP repositories are hosted at:
* https://github.com/96boards/android_hardware_ti_wpan
* https://github.com/96boards/android_device_linaro_hikey
* https://github.com/96boards/android_manifest
* https://github.com/96boards/linux (branch android-hikey-linaro-4.1)
*Build setup:*
Please setup the host machine by following the instructions here: "http://source.android.com/source/initializing.html":http://source.android.com/source/initializing.html
NOTE: The build tries to mount a loop device as fat partition to create the boot-fat.uefi.img filesystem image. Please make sure your user is allowed to run those commands in sudo without password by running "visudo" and appending the following lines (replacing "<USER>" with your username):
bc. <USER> ALL= NOPASSWD: /bin/mount
<USER> ALL= NOPASSWD: /bin/umount
<USER> ALL= NOPASSWD: /sbin/mkfs.fat
<USER> ALL= NOPASSWD: /bin/cp
*Download the code:*
bc. mkdir android/
cd android/
Download and extract the Mali vendor binaries in the above directory: "http://builds.96boards.org/snapshots/hikey/linaro/binaries/20150706/vendor.tar.bz2":http://builds.96boards.org/snapshots/hikey/linaro/binaries/20150706/vendor.tar.bz2
*Build the image:*
bc. repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r16 -g "default,-device,-non-default,hikey"
cd .repo/
git clone https://github.com/96boards/android_manifest -b android-6.0 local_manifests
cd -
repo sync -j8
source build/envsetup.sh
lunch hikey-userdebug
make droidcore -j8
cd out/target/product/hikey

View file

@ -0,0 +1,112 @@
h2. Install Instructions - CE AOSP RPB 15.12 - HiKey
This guide describes how to get started with the CE AOSP Reference Platform Build, release 15.12, for HiKey.
For more information about the HiKey development board, please check "https://www.96boards.org/products/ce/hikey/":https://www.96boards.org/products/ce/hikey/
h3. Image Components
The CE AOSP RPB 15.12 - HiKey build is composed of the following artifacts:
* Bootloader:
** ARM Trusted Firmware, EDK2/UEFI and Grub2
** For more information about the reference bootloader used by HiKey, please check "Reference-Bootloader-Hikey":https://github.com/96boards/documentation/wiki/Reference-Bootloader-Hikey
** Pre-built files: "http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/bootloader":http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/bootloader
* Linux Kernel:
** Derived from Linux 4.1 kernel
** Git: "https://github.com/96boards/linux.git":https://github.com/96boards/linux.git
** Branch: *android-hikey-linaro-4.1*
* AOSP Android Marshmallow 6.0
h4. Closed source binaries
The following components requires a closed source binary for better hardware support:
* TI wlan firmware (@wl18xx@)
** Git: "http://git.ti.com/wilink8-wlan/wl18xx_fw":http://git.ti.com/wilink8-wlan/wl18xx_fw
** Branch: *R8.5*
* Extra firmware files available from firmware-linux
* Mali (requires EULA)
h3. Downloading the pre-built binaries
The build is composed by the traditional Android image files (@boot@, @cache@, @system@ and @userdata@), but to avoid incompatibilities issues with older bootloaders, or different partition tables, it's also recommended to flash the bootloader.
*Bootloader files:*
bc. wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/bootloader/l-loader.bin
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/bootloader/nvme.img
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/bootloader/fip.bin
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/bootloader/ptable-aosp-4g.img
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/bootloader/ptable-aosp-8g.img
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/bootloader/hisi-idt.py
*CE AOSP RPB image:*
bc. wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/boot_fat.uefi.img.tar.xz
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/cache.img.tar.xz
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/userdata.img.tar.xz
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/userdata-8gb.img.tar.xz
Since @system.img@ requires the user to accept an End User License Agreement covering the rights to download and use the proprietary Mali userspace driver, it needs to be manually downloaded via browser. Please go to "http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/system.img.tar.xz":http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.12/system.img.tar.xz and follow the instructions to download the file.
Uncompress the .tar.xz files using your operating system file manager, or with the following command, for each file:
bc. xz --decompress [filename].tar.xz; tar -xvf [filename].tar
h3. Flashing
h4. Bootloader
To flash the bootloader the recovery mode is required. For more information about the recovery mode, how to enable and use, please go to "https://github.com/96boards/documentation/wiki/Reference-Bootloader-Hikey#enabling-recovery-mode":https://github.com/96boards/documentation/wiki/Reference-Bootloader-Hikey#enabling-recovery-mode
Now you need to identify if your device contains 4G or 8G of eMMC (LeMaker produces 2 HiKey versions, one with 4G and another with 8G of storage). The @ptable-aosp@ and @userdata@ files will differ depending on the board you have.
On recovery mode, flash the bootloader with the following command:
bc. sudo python hisi-idt.py --img1=l-loader.bin -d /dev/ttyUSB0
Then on a 4G compatible device:
bc. sudo fastboot flash ptable ptable-aosp-4g.img
Or the following on a 8G compatible device:
bc. sudo fastboot flash ptable ptable-aosp-8g.img
Then flash UEFI:
bc. sudo fastboot flash fastboot fip.bin
Change @ttyUSB0@ to the right interface name that gets exported to your host system.
Make sure to reboot the board after updating the partition table (@ptable-aosp@), otherwise flashing the system image might fail.
h4. Boot, System, Cache and Userdata
Fastboot is required to flash boot, system, cache and userdata.
*Flashing boot, cache, system and userdata:*
Enable fastboot (either via recovery or by changing the boot jumpers), and then just flash the required files:
bc. sudo fastboot flash boot boot_fat.uefi.img
sudo fastboot flash cache cache.img
sudo fastboot flash system system.img
sudo fastboot flash nvme nvme.img
Then on a 4G compatible device:
bc. sudo fastboot flash userdata userdata.img
Or the following on a 8G compatible device:
bc. sudo fastboot flash userdata userdata-8gb.img
Once flashed, make sure recovery mode is not enabled (pin3-pin4 on J15), that you don't have any sd card in place (since it first tries to boot from sd card, boot order can be changed with @sudo fastboot oem bootdevice [emmc|sd]@), then just reboot the board and enjoy :-)
h3. Additional resources
For known issues and more information about this release, please check "https://github.com/96boards/documentation/wiki/ReferencePlatform":https://github.com/96boards/documentation/wiki/ReferencePlatform

View file

@ -0,0 +1,53 @@
h3. Boot Loader
Please see "https://github.com/96boards/documentation/wiki/Reference-Bootloader-Hikey#building-from-source":https://github.com/96boards/documentation/wiki/Reference-Bootloader-Hikey#building-from-source for instructions on how to built the boot loader from source.
h3. How to get and customize the kernel source code
h4. Building the Linux kernel from source
The Linux kernel used in this release is available via tags in the git "repository":https://github.com/rsalveti/linux
bc. git: https://github.com/rsalveti/linux
tag: 96boards-rpb-debian-15.12-hikey
defconfig: arch/arm64/defconfig kernel/configs/distro.config
The kernel image (@Image@) is located in the @/boot@ directory from the system partition (rootfs), with the modules also installed in the root file system. It is possible for a user to rebuild the kernel and run a custom kernel image instead of the released kernel. You can build the kernel using any recent GCC release using the git tree, tag and defconfig mentioned above. This release only supports booting with device tree, as such both the device tree blobs need to be built as well.
The HiKey is an ARMv8 platform, and the kernel is compiled for the Aarch64 target. Even though it is possible to build natively, on the target board, It is recommended to build the Linux kernel on a PC development host. In which case you need to install a cross compiler for the ARM architecture. It is recommended to download the "Linaro GCC cross compiler (Aarch64 little-endian)":http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz.
To build the Linux kernel, you can use the following instructions:
bc. git clone -n https://github.com/rsalveti/linux.git
cd linux
git checkout -b kernel-rpb-15.12 96boards-rpb-debian-15.12-hikey
export ARCH=arm64
export CROSS_COMPILE=<path to your GCC cross compiler>/aarch64-linux-gnu-
make defconfig distro.config
make -j4 Image dtbs KERNELRELEASE=4.3.0-your-custom-release
To boot using your own kernel, simply copy the kernel, modules and device tree to the root file system (similar to desktops), and create your own grub entry at @/boot/grub/grub.cfg@.
h4. How to get and customize Debian packages source code
This release is based on Debian 8.2 "Jessie".
Since all packages installed in Linaro Debian-based images are maintained either in Debian archives or in Linaro repositories, it is possible for users to update their environment with commands such as:
bc. sudo apt-get update
sudo apt-get upgrade
All user space software is packaged using Debian packaging process. As such you can find extensive information about using, patching and building packages in The Debian New Maintainers Guide. If you quickly want to rebuild any package, you can run the following commands to fetch the package source code and install all build dependencies:
bc. sudo apt-get update
sudo apt-get build-dep <pkg>
apt-get source <pkg>
Then you can rebuild the package locally with:
bc. cd <pkg-version>
dpkg-buildpackage -b -us -uc
h4. TODO
* Explain how to build the rootfs from source

View file

@ -0,0 +1,97 @@
h2. Install Instructions - CE Debian RPB 15.12 - HiKey
This guide describes how to get started with the CE Debian Reference Platform Build, release 15.12, for HiKey.
For more information about the HiKey development board, please check "https://www.96boards.org/products/ce/hikey/":https://www.96boards.org/products/ce/hikey/
h3. Image Components
The CE Debian RPB 15.12 - HiKey build is composed of the following artifacts:
* Bootloader:
** ARM Trusted Firmware, EDK2/UEFI and Grub2
** For more information about the reference bootloader used by HiKey, please check "Reference-Bootloader-Hikey":https://github.com/96boards/documentation/wiki/Reference-Bootloader-Hikey
** Pre-built files: "http://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/bootloader":http://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/bootloader
* Linux Kernel:
** Upstream plus extra changes for a better hardware support
** Git: "https://github.com/rsalveti/linux.git":https://github.com/rsalveti/linux.git
** Branch: *reference-hikey-rebase*
* Debian "Jessie"
** ALIP (LXDE based)
** Custom 96Boards artworks and default settings
** Additional packages provided by "linaro-overlay":http://repo.linaro.org/ubuntu/linaro-overlay
** Kernel and initrd loaded from the rootfs (under /boot)
h4. Closed source binaries
The following components requires a closed source binary for better hardware support:
* TI wlan firmware (@wl18xx@)
** Git: "http://git.ti.com/wilink8-wlan/wl18xx_fw":http://git.ti.com/wilink8-wlan/wl18xx_fw
** Branch: *R8.6*
* Extra firmware files available from firmware-linux
* Mali (not yet included by default)
h3. Downloading the pre-built binaries
The build is mainly composed by two image files (boot and rootfs), but to avoid incompatibilities issues with older bootloaders, or different partition tables, it's also recommended to flash the bootloader.
Flashing and booting from the external SD Card is not supported by this release.
*Bootloader files:*
bc. wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/bootloader/l-loader.bin
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/bootloader/nvme.img
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/bootloader/fip.bin
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/bootloader/ptable-linux-4g.img
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/bootloader/ptable-linux-8g.img
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/bootloader/hisi-idt.py
*CE Debian RPB image:*
bc. wget https://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/hikey-boot-linux-20151214-35.uefi.img.gz
wget https://builds.96boards.org/releases/reference-platform/debian/hikey/15.12/hikey-rootfs-debian-jessie-alip-20151214-35.emmc.img.gz
gunzip hikey-*
h3. Flashing
h4. Bootloader
To flash the bootloader the recovery mode is required. For more information about the recovery mode, how to enable and use, please check "https://github.com/96boards/documentation/wiki/Reference-Bootloader-Hikey#enabling-recovery-mode":https://github.com/96boards/documentation/wiki/Reference-Bootloader-Hikey#enabling-recovery-mode
Now you need to identify if your device contains 4G or 8G of eMMC (LeMaker produces 2 HiKey versions, one with 4G and another with 8G of storage). The @ptable-linux@ file will differ depending on the board you have.
On recovery mode, flash the bootloader with the following command:
bc. sudo python hisi-idt.py --img1=l-loader.bin
Then on a 4G compatible device:
bc. sudo fastboot flash ptable ptable-linux-4g.img
Or the following on a 8G compatible device:
bc. sudo fastboot flash ptable ptable-linux-8g.img
Then flash UEFI:
bc. sudo fastboot flash fastboot fip.bin
Make sure to reboot the board after updating the partition table (@ptable-linux@), otherwise flashing the rootfs might fail.
h4. Boot and Rootfs
Fastboot is required to flash both the boot and rootfs images.
To avoid bug "117 (UEFI fastboot uploads hangs for large images)":https://bugs.96boards.org/show_bug.cgi?id=117, it's recommended to flash both the boot and rootfs images via recovery mode (after running @hisi-idt.py@).
*Flashing boot and rootfs:*
bc. sudo fastboot flash boot hikey-boot-linux-20151214-35.uefi.img
sudo fastboot flash system hikey-rootfs-debian-jessie-alip-20151214-35.emmc.img
Once flashed, make sure recovery mode is not enabled (pin3-pin4 on J15), that you dont have any sd card in place (since it first tries to boot from sd card, boot order can be changed with sudo fastboot oem bootdevice [emmc|sd]), then just reboot the board and enjoy :-)
h3. Additional resources
For known issues and more information about this release, please check "https://github.com/96boards/documentation/wiki/ReferencePlatform":https://github.com/96boards/documentation/wiki/ReferencePlatform