Massive move of files to fit new website structure
This commit will most likely break many links, relative and rendered. Fix and cleanup will happen over the next few days. Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
This commit is contained in:
parent
18f8097b87
commit
dc79d6369d
274 changed files with 26636 additions and 6 deletions
BIN
Reference-Platform/.DS_Store
vendored
Normal file
BIN
Reference-Platform/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Reference-Platform/Platforms/.DS_Store
vendored
Normal file
BIN
Reference-Platform/Platforms/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Reference-Platform/Platforms/Consumer/.DS_Store
vendored
Normal file
BIN
Reference-Platform/Platforms/Consumer/.DS_Store
vendored
Normal file
Binary file not shown.
346
Reference-Platform/Platforms/Consumer/CECommon/OE.md
Normal file
346
Reference-Platform/Platforms/Consumer/CECommon/OE.md
Normal file
|
@ -0,0 +1,346 @@
|
|||
## OpenEmbedded and Yocto
|
||||
|
||||
This page provides instructions to get started with OpenEmbedded and the Yocto Project on the DragonBoard 410c and HiKey.
|
||||
|
||||
# Introduction
|
||||
|
||||
This wiki is not an introduction on OpenEmbedded or Yocto Project. If you are not familiar with OpenEmbedded and the Yocto Project, it is very much recommended to read the appropriate documentation first. For example, you can start with:
|
||||
* http://openembedded.org/wiki/Main_Page
|
||||
* http://yoctoproject.org/
|
||||
* https://www.yoctoproject.org/documentation
|
||||
|
||||
In this wiki, we assume that the reader is familiar with basic concepts of OpenEmbedded.
|
||||
|
||||
The support for DragonBoard 410c is available in the [meta-qcom BSP layer](http://git.yoctoproject.org/cgit/cgit.cgi/meta-qcom).
|
||||
|
||||
The support for HiKey is available in the [meta-96boards BSP layer](https://github.com/96boards/meta-96boards).
|
||||
|
||||
These layers have been tested with OpenEmbedded Core layer, and are expected to work with any other standard layers and of course any OpenEmbedded based distributions.
|
||||
|
||||
The Linux kernel used for these boards is the Reference Platform Kernel (RPK). The graphic stack is based on mesa:
|
||||
* using the freedreno driver for Dragonboard 410c
|
||||
* using the ARM Mali Utgard GPU driver for HiKey
|
||||
|
||||
## OE Layers
|
||||
|
||||
| Layer | Description |
|
||||
|:-----------------------:|:----------------------|
|
||||
| oe-core (Base layer) | This is the main collaboration point when working on OpenEmbedded projects and is part of the core recipes. The goal of this layer is to have just enough recipes to build a basic system, this means keeping it as small as possible. |
|
||||
| meta-rpb (Distro layer) | This is a very small layer where the distro configurations live. Currently it houses both Reference Platform Build and Wayland Reference Platform Builds. |
|
||||
| meta-oe | This layer houses many useful, but sometimes unmaintained recipes. Since the reduction in recipes to the core, meta-oe was created for everything else. There are currently approximately 650 recipes in this layer. |
|
||||
| meta-browser | This layer holds the recipes for Firefox and Chromium. Both recipes require a lot of maintenance, because of this a seperate layer was created. |
|
||||
| meta-qt5 | This is a cross-platform toolkit. |
|
||||
| meta-linaro | This layer is used to get the Linaro toolchain. |
|
||||
| meta-linaro-backports | This is an experimental layer used to get newer versions into the build which were not part of the release. |
|
||||
| meta-96Boards | This support layer is managed by Linaro and intended for boards that do not have their own board support layer. Currently used for the HiKey Consumer Edition board, and eventually the Bubblegum-96 board. If a vendor does not support their own layer, it can be added to this layer. |
|
||||
| meta-qcom (BSP) | This is the board support layer for Qualcomm boards. Currently supports IFC6410 and the DragonBoard 410c. |
|
||||
|
||||
# Package Dependencies
|
||||
|
||||
In order to successfully set up your build environment, you will need to install the following package dependencies.
|
||||
|
||||
**Step 1**: You will need git installed on your Linux host machine
|
||||
|
||||
`$ sudo apt-get install git`
|
||||
|
||||
**Step 2**: Visit the OpenEmbedded (Getting Started) wiki to see which distribution specific dependencies you will need
|
||||
|
||||
http://www.openembedded.org/wiki/Getting_started
|
||||
|
||||
**Step 3**: Install 96Boards specific dependencies (Case specific)
|
||||
|
||||
Setting up the build environment will first search for `whiptail`, if it is not present then it will search for `dialog`. You only need one of the following packages to ensure your setup-environement runs correctly:
|
||||
|
||||
|
||||
`$ sudo apt-get install whiptail`
|
||||
|
||||
or
|
||||
|
||||
`$ sudo apt-get install dialog`
|
||||
|
||||
**Please Note**: If you are running Ubuntu 16.04 you will need to add the following line to your `/etc/apt/sources.list`
|
||||
|
||||
`deb http://archive.ubuntu.com/ubuntu/ xenial universe`
|
||||
|
||||
```shell
|
||||
$ cd /etc/apt/
|
||||
#vim text editor is used in this example
|
||||
#sudo is used to allow editing, sources.list is set to read only
|
||||
$ sudo vim sources.list
|
||||
```
|
||||
|
||||
All required dependencies should now be installed on your host environment, you are ready to begin your build environment setup.
|
||||
|
||||
|
||||
# Setup the build environment
|
||||
|
||||
The BSPs layesr can be used with any OE based distribution, such as Poky. The following instructions are provided to get started with OpenEmbedded Reference Software Platforms.
|
||||
|
||||
To manage the various git trees and the OpenEmbedded environment, a repo manifest is provided. If you do not have `repo` installed on your host machine, you first need to install it, using the following instructions (or similar):
|
||||
|
||||
mkdir -p ${HOME}/bin
|
||||
curl https://storage.googleapis.com/git-repo-downloads/repo > ${HOME}/bin/repo
|
||||
chmod a+x ${HOME}/bin/repo
|
||||
export PATH=${HOME}/bin:${PATH}
|
||||
|
||||
To initialize your build environment, you need to run:
|
||||
|
||||
mkdir oe-rpb && cd oe-rpb
|
||||
repo init -u https://github.com/96boards/oe-rpb-manifest.git -b krogoth
|
||||
repo sync
|
||||
source setup-environment [<build folder>]
|
||||
|
||||
* after the command `repo sync` returns, all the OpenEmbedded recipes have been downloaded locally.
|
||||
* you will be prompted to choose the target machine, pick `dragonboard-410c` or `hikey`
|
||||
* you will be prompted to choose the distro, for now, it is recommended to use 'rpb'
|
||||
* <build folder> is optional, if missing it will default to `build-$DISTRO`
|
||||
|
||||
The script `setup-environment` will create sane default configuration files in <build folder>/conf, you can inspect them and modify them if needed. Note that conf/local.conf and conf/bblayers.conf are symlink , and under source control. So it is generally better not to modify them, and use conf/site.conf and conf/auto.conf instead.
|
||||
|
||||
# Build a minimal, console-only image
|
||||
|
||||
To build a console image, you can run:
|
||||
|
||||
$ bitbake rpb-console-image
|
||||
|
||||
At the end of the build, your build artifacts will be found under `tmp-eglibc/deploy/images/MACHINE/`. The two artifacts you will use to update your board are:
|
||||
* `rpb-console-image-MACHINE.ext4.gz` and
|
||||
* `boot-MACHINE.img`
|
||||
|
||||
where `MACHINE` is `dragonboard-410c` or `hikey`.
|
||||
|
||||
# Bootloaders and eMMC partitions
|
||||
|
||||
Build artifacts from your OE build will be flashed into the on-board eMMC (in contrast to some other boards which run their images from an SDcard). The OpenEmbedded BSP layer assumes that the _Linux_ Bootloaders and eMMC partition layout are used on the board (not the _Android_ ones; by default DragonBoards come pre-configured with the Android eMMC partition layout). You can download the latest Linux bootloader package for Dragonboard 410c from [here](http://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/) to your development host, it will be named something like `dragonboard410c_bootloader_emmc_linux-<version>.zip`.
|
||||
|
||||
Whether your board is using the Android eMMC partition layout or the Linux partition eMMC layout, you will use the Android `fastboot` utility on your development host for managing the board's eMMC partitions. If you are using a relatively recent Linux distribution on your development host, it probably already has a package that includes the `fastboot` utility (it might be named something like `android-tools` or `android-tools-fastboot`) so go ahead and install it on your development host. In order for your development host's fastboot utility to interact with the board, in the case of the DragonBoard 410c, it must be booted into a special `fastboot mode`. The procedure to do so is as follows:
|
||||
* remove power from your DragonBoard 410c
|
||||
* plug a USB cable from your development host to your DragonBoard's J4 connector
|
||||
* while holding down S4 on the DragonBoard 410c (the one marked "(-)"), insert the power adapter
|
||||
* after a few seconds you can release S4
|
||||
|
||||
In the case of case of HiKey, see `TBA` (put a link to Debian instructions, they are the same).
|
||||
|
||||
To verify your cables and that the above procedure worked, on your development host run:
|
||||
|
||||
# sudo fastboot devices
|
||||
|
||||
and you should get a non-empty response, e.g.
|
||||
|
||||
# sudo fastboot devices
|
||||
83581d40 fastboot
|
||||
|
||||
If this is your first time using a particular board, you will need to switch its eMMC partition layout to the Linux layout, but this procedure only needs to be done once for a given board. After switching your layout, you only have to update your board with your latest build artifacts.
|
||||
|
||||
The procedure for updating your eMMC partitions is as follows. Put your DragonBoard into `fastboot mode` (see procedure above) then perform these steps on your development host:
|
||||
* download the latest Linux bootloader package (e.g. `dragonboard410c_bootloader_emmc_linux-<version>.zip`)
|
||||
* unzip its contents
|
||||
* run the `flashall` script (as root) that you will find after unzipping the Linux bootloader package
|
||||
|
||||
At this point your eMMC has the following partition layout:
|
||||
|
||||
Dragonboard 410c:
|
||||
* `/dev/mmcblk0p8` , aka `boot` is used for the boot image (kernel, device tree, initrd)
|
||||
* `/dev/mmcblk0p10` , aka `rootfs` is used for the root file system
|
||||
|
||||
HiKey:
|
||||
* `/dev/mmcblk0p6` , aka `boot` is used for the boot image (kernel, device tree, initrd)
|
||||
* `/dev/mmcblk0p9` , aka `system` is used for the root file system
|
||||
|
||||
# Flashing build artifacts
|
||||
|
||||
In the following description, replace `IMAGE` with the name of the image you built. For example: if you built `rpb-console-image` then `IMAGE` will be `rpb-console-image`.
|
||||
Same for `IMAGE`, replace with the name of your board. For example: if you built for `Dragonboard 410c` then `MACHINE` will be `dragonboard-410c`, if you built for `HiKey` then `MACHINE` will be `hikey`.
|
||||
|
||||
At the end of any successful build you will end up with the following artifacts (amongst others)
|
||||
* `IMAGE-MACHINE.ext4.gz` and
|
||||
* `boot-MACHINE.img`
|
||||
|
||||
These will be found in your `tmp-eglibc/deploy/images/MACHINE` directory.
|
||||
|
||||
To install these to your board's eMMC from your development host:
|
||||
|
||||
# gunzip IMAGE-MACHINE.ext4.gz
|
||||
# fastboot flash boot boot-MACHINE.img
|
||||
|
||||
In the case of Dragonboard 410c:
|
||||
|
||||
# fastboot flash rootfs IMAGE-MACHINE.ext4
|
||||
|
||||
In the case of HiKey:
|
||||
|
||||
# ext2simg -v IMAGE-MACHINE.ext4 IMAGE-MACHINE.img
|
||||
# fastboot flash system IMAGE-MACHINE.img
|
||||
|
||||
# Proprietary firmware blob
|
||||
|
||||
When running the `setup-environment` script, you were asked to read/accept the Qualcomm EULA. The EULA is required to access the proprietary firmware, such as the GPU firmware , WLAN, ...
|
||||
|
||||
If you accepted the EULA, when building an image for DragonBoard 410c all proprietary firmware are installed automatically in `/lib/firmware`, and a copy of the EULA is added as '/etc/license.txt`.
|
||||
|
||||
If you did not accept the EULA, the firmware are not downloaded, and not installed into the image. You can manually manage the firmware and download them separately from [Qualcomm Developer Network](https://developer.qualcomm.com/download/linux-ubuntu-board-support-package-v1.1.zip).
|
||||
|
||||
# Build a simple X11 image
|
||||
|
||||
To build an X11 image with GPU hardware accelerated support, run:
|
||||
|
||||
$ bitbake rpb-desktop-image
|
||||
|
||||
At the end of the build, the root file system image will be available as `tmp-eglibc/deploy/images/MACHINE/rpb-desktop-image-MACHINE.ext4.gz`.
|
||||
|
||||
Then you can finally start the X server, and run any graphical application:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
glxgears
|
||||
|
||||
The default X11 image includes `openbox` window manager, to use it:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
openbox &
|
||||
glxgears
|
||||
|
||||
Of course, you can easily add another window manager, such as `metacity` in the image. To install `metacity` in the image, add the following to `conf/auto.conf` file:
|
||||
|
||||
CORE_IMAGE_EXTRA_INSTALL += "metacity"
|
||||
|
||||
and rebuild the `rpb-desktop-image` image, it will now include `metacity`, which can be started like this:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
metacity&
|
||||
glxgears
|
||||
|
||||
# Build a sample Wayland/Weston image
|
||||
|
||||
For Wayland/weston, it is needed to change the DISTRO and use `rpb-wayland` instead of `rpb`. The main reason is that in the `rpb-wayland` distro, the support for X11 is completely removed. So, in a new terminal prompt, setup a new environment and make sure to use `rpb-wayland` for DISTRO, then, you can run a sample image with:
|
||||
|
||||
$ bitbake rpb-weston-image
|
||||
|
||||
This image includes a few additional features, such as `systemd`, `connman` which makes it simpler to use. Once built, the image will be available at `tmp-eglibc/deploy/images/MACHINE/rpb-weston-image-MACHINE.ext4.gz`. And it can be flashed into `rootfs` partition.
|
||||
|
||||
If you boot this image on the board, you should get a command prompt on the HDMI monitor. A user called `linaro` exists (and has no password). Once logged in a VT, you run start weston with:
|
||||
|
||||
weston-launch
|
||||
|
||||
And that should get you to the Weston desktop shell.
|
||||
|
||||
# Build mixed 32bit/64bit image
|
||||
|
||||
OE RPB has support for creating mixed 32-bit/64-bit builds with 64-bit
|
||||
kernel and 32-bit userland for:
|
||||
* HiKey
|
||||
* Dragonboard-410c
|
||||
|
||||
There are two variants of machine configuration for both HiKey and
|
||||
Dragonboard-410c boards:
|
||||
|
||||
| Board | MACHINE-32 | MACHINE-64 |
|
||||
|:-----:|:-------------:|:-----------:|
|
||||
| HiKey | hikey-32 | hikey |
|
||||
| DB-410c| dragonboard-410c-32 | dragonboard-410c |
|
||||
|
||||
MACHINE-32 configuration doesn't build the kernel. It is intended to
|
||||
create the 32-bit root filesystem only.
|
||||
|
||||
MACHINE-64 configuration is universal. But in this mixed build only the
|
||||
kernel and the kernel modules are needed from the 64-bit configuration,
|
||||
so the 64-bit rpb-minimal-image is built.
|
||||
|
||||
## Running a mixed build
|
||||
|
||||
Setting up the build environment is the same as usual. The only difference
|
||||
is that when running
|
||||
```
|
||||
$ . setup-environment
|
||||
```
|
||||
one should select `<MACHINE-32>` as the MACHINE.
|
||||
DISTRO values can be:
|
||||
* rpb-x11
|
||||
* rpb-wayland
|
||||
|
||||
Then do
|
||||
```
|
||||
bitbake_secondary_image --extra-machine <MACHINE-64> <image>
|
||||
```
|
||||
e.g. if MACHINE=dragonboard-410c-32 and DISTRO=rpb-wayland were selected
|
||||
when sourcing setup-environment, the command could be:
|
||||
`bitbake_secondary_image --extra-machine dragonboard-410c rpb-weston-image`
|
||||
|
||||
## Creating the mixed rootfs image
|
||||
|
||||
`bitbake_secondary_image` actually runs two builds. So in the build directory,
|
||||
under `tmp-*/deploy/images/` two directories are created: one for 32-bit build
|
||||
artifacts, and the other for the 64-bit ones. E.g.
|
||||
```
|
||||
tmp-rpb_wayland-glibc/deploy/images/dragonboard-410c-32
|
||||
```
|
||||
and
|
||||
```
|
||||
tmp-rpb_wayland-glibc/deploy/images/dragonboard-410c
|
||||
```
|
||||
|
||||
Unpack the 32-bit `*.rootfs.ext4` image, resize it to make sure that there is
|
||||
enough space for the 64-bit modules, mount it via a loop device, and unpack the
|
||||
64-bit modules into the 32-bit root filesystem. Then unmount the rootfs to get
|
||||
the 32-bit rootfs.ext4 image with the 64-bit kernel modules added.
|
||||
|
||||
Please find more detailed instructions for the both boards below.
|
||||
|
||||
### Creating the image for Dragonboard-410c
|
||||
|
||||
Assuming that all the relevant build artifacts are in the current directory:
|
||||
```
|
||||
gunzip -k rpb-weston-image-dragonboard-410c-32-20161013104111.rootfs.ext4.gz
|
||||
resize2fs rpb-weston-image-dragonboard-410c-32-20161013104111.rootfs.ext4 512M
|
||||
mkdir root
|
||||
sudo mount -o loop rpb-weston-image-dragonboard-410c-32-20161013104111.rootfs.ext4 root
|
||||
cd root/
|
||||
sudo tar xzf ../modules--4.4-r0-dragonboard-410c-20161013094521.tgz
|
||||
cd ..
|
||||
sync
|
||||
sudo umount root
|
||||
ext2simg rpb-weston-image-dragonboard-410c-32-20161013104111.rootfs.ext4 rpb-weston-image-dragonboard-410c.rootfs.img
|
||||
```
|
||||
The resulting rpb-weston-image-dragonboard-410c.rootfs.img with 32-bit userland
|
||||
and 64-bit kernel modules can be flashed into the board with
|
||||
```
|
||||
fastboot flash rootfs rpb-weston-image-dragonboard-410c.rootfs.img
|
||||
```
|
||||
|
||||
### Creating the image for HiKey
|
||||
|
||||
Creating the mixed tootfs image for HiKey is the same as for Dragonboard-410c,
|
||||
but requires an extra step, as HiKey reads the kernel image to boot from the
|
||||
rootfs (vs a boot partition in the case of Dragonboard-410c). So the 64-bit
|
||||
kernel image and the DTB file must be copied to the 32-bit rootfs, the /boot
|
||||
directory - this is where GRUB looks the kernel image for. E.g.:
|
||||
```
|
||||
mkdir root
|
||||
mkdir root-64
|
||||
gunzip -k rpb-minimal-image-hikey-20161014162659.rootfs.ext4.gz
|
||||
sudo mount -o loop rpb-minimal-image-hikey-20161014162659.rootfs.ext4 root-64/
|
||||
gunzip -k rpb-weston-image-hikey-32-20161014172406.rootfs.ext4.gz
|
||||
resize2fs rpb-weston-image-hikey-32-20161014172406.rootfs.ext4 512M
|
||||
sudo mount -o loop rpb-weston-image-hikey-32-20161014172406.rootfs.ext4 root
|
||||
sudo cp -r root-64/boot/* root/boot/
|
||||
cd root
|
||||
sudo tar xzf ../modules--4.4.11+git-r0-hikey-20161014162659.tgz
|
||||
cd ..
|
||||
sync
|
||||
sudo umount root
|
||||
sudo umount root-64
|
||||
ext2simg rpb-weston-image-hikey-32-20161014172406.rootfs.ext4 rpb-weston-image-hikey.rootfs.img
|
||||
```
|
||||
The resulting rpb-weston-image-hikey.rootfs.img with a 32-bit userland, and
|
||||
64-bit kernel modules and the kernel can be flashed into the board with
|
||||
```
|
||||
fastboot flash system rpb-weston-image-hikey.rootfs.img
|
||||
```
|
||||
|
||||
# Support
|
||||
|
||||
For general question or support request, please go to [96boards.org Community forum](http://www.96boards.org/forums/forum/products/).
|
||||
|
||||
For any bug related to this release, please submit issues to the [Linaro Bug Tracking System](https://bugs.linaro.org/). To submit a bug, follow this [link](https://bugs.linaro.org/enter_bug.cgi?product=Reference%20Platforms).
|
1
Reference-Platform/Platforms/Consumer/CECommon/README.md
Normal file
1
Reference-Platform/Platforms/Consumer/CECommon/README.md
Normal file
|
@ -0,0 +1 @@
|
|||
|
37
Reference-Platform/Platforms/Consumer/README.md
Normal file
37
Reference-Platform/Platforms/Consumer/README.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Reference Software Platform - Legacy
|
||||
|
||||
<a href="http://connect.linaro.org/resource/sfo15/sfo15-104-the-96boards-software-reference-platform/" target="_blank"><img align="right" src="http://i.imgur.com/UzmaWUD.png" data-canonical-src="http://i.imgur.com/UzmaWUD.png" width="300" height="200" /></a>
|
||||
|
||||
|
||||
The Reference Software Platform Lead Project is part of the Linaro 96Boards initiative. The project's goal is to deliver Linaro output for ARM SoCs using 96Boards products. Use cases range from the Embedded to the Enterprise segments. Releases may contain bootloader, kernel, distribution and/or user level middleware/applications. Loadable software for 96Boards products, reference source code, hardware dependencies including porting tips for other SoCs, configurations chosen for the reference builds, and ample documentation will also be included with every release.
|
||||
For more information about the Reference Software Platform project please watch this video from Linaro Connect (SFO15)
|
||||
|
||||
**Release Status** ([CE](Extras/ReleaseStatus/RPB-CE-Release.md) / [EE](Extras/ReleaseStatus/RPB-EE-Release.md))</a>
|
||||
|
||||
***
|
||||
|
||||
| | | |
|
||||
|:---:|:---:|:---:|
|
||||
| | | |
|
||||
|
||||
|
||||
|
||||
|
||||
- **[16.06(Latest)](Releases/RPB_16.06/README.md)**
|
||||
- [16.03](Releases/RPB_16.03/README.md)
|
||||
- [15.12](Releases/RPB_15.12/README.md)
|
||||
- [15.10(Alpha)](Releases/RPB_15.10/README.md)
|
||||
|
||||
***
|
||||
|
||||
#### Resources
|
||||
|
||||
| Extras and Support | Progress and Policy |
|
||||
|:-----------------------------------------------------:|:-----------------------------------------:|
|
||||
| [RPB CI](Extras/RPB-CI.md) | [Kernel Policy](Extras/KernelPolicy.md) |
|
||||
| [Feedback and Support](Extras/Feedback-and-Support.md)| [Kernel Roadmap](Extras/Kernel-Roadmap.md)|
|
||||
| [Report a bug](Extras/Report-a-bug.md) | [Contribute to RPB](Contribute/README.md) |
|
||||
|
||||
***
|
||||
|
||||
[Document Contribution Policy](../ContributionPolicy.md)
|
|
@ -0,0 +1,122 @@
|
|||
### How to get and customize the kernel source code
|
||||
|
||||
#### 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)
|
||||
|
||||
```
|
||||
git: https://github.com/rsalveti/linux
|
||||
tag: 96boards-rpb-debian-15.10-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:
|
||||
|
||||
```
|
||||
git clone -n https://github.com/rsalveti/linux.git
|
||||
cd linux
|
||||
git checkout -b kernel-rpb-15.10 96boards-rpb-debian-15.10-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
|
||||
```
|
||||
|
||||
#### 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:
|
||||
|
||||
```
|
||||
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.
|
||||
|
||||
`./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:
|
||||
|
||||
```
|
||||
./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"
|
||||
```
|
||||
|
||||
#### 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:
|
||||
|
||||
`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:
|
||||
|
||||
`sudo fastboot flash boot boot-db410c.img`
|
||||
|
||||
#### 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):
|
||||
|
||||
```
|
||||
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:
|
||||
|
||||
```
|
||||
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:
|
||||
|
||||
`sudo fastboot aboot ./build-msm8916/emmc_appsboot.mbn`
|
||||
|
||||
#### 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:
|
||||
|
||||
```
|
||||
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:
|
||||
|
||||
```
|
||||
sudo apt-get update
|
||||
sudo apt-get build-dep <pkg>
|
||||
apt-get source <pkg>
|
||||
```
|
||||
|
||||
Then you can rebuild the package locally with:
|
||||
|
||||
```
|
||||
cd <pkg-version>
|
||||
dpkg-buildpackage -b -us -uc
|
||||
```
|
||||
|
||||
#### TODO
|
||||
|
||||
- Explain how to build the rootfs from source
|
|
@ -0,0 +1,81 @@
|
|||
## Install Instructions - CE Debian RPB 15.10 - Dragonboard410c
|
||||
|
||||
This guide describes how to get started with the CE Debian Reference Platform Build, release 15.10, for Dragonboard410c.
|
||||
|
||||
For more information about the Dragonboard410c development board, please check https://www.96boards.org/products/ce/dragonboard410c/
|
||||
|
||||
### Image Components
|
||||
|
||||
The CE Debian RPB 15.10 - 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
|
||||
- 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)
|
||||
|
||||
#### 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).
|
||||
|
||||
### 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/dragonboard410c_bootloader_emmc_linux*.zip)
|
||||
|
||||
*CE Debian RPB image:*
|
||||
|
||||
```
|
||||
wget https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/15.10/dragonboard410c-boot-linux-20151106-31.img.gz
|
||||
wget https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/15.10/dragonboard410c-rootfs-debian-jessie-alip-20151106-31.emmc.img.gz
|
||||
gunzip dragonboard410c-*
|
||||
```
|
||||
|
||||
### Flashing
|
||||
|
||||
#### 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:
|
||||
|
||||
```
|
||||
# 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.
|
||||
|
||||
#### Boot and Rootfs
|
||||
|
||||
Fastboot is required to flash both the boot and rootfs images.
|
||||
|
||||
*Flashing boot and rootfs:*
|
||||
|
||||
```
|
||||
sudo fastboot flash boot dragonboard410c-boot-linux-20151106-31.img
|
||||
sudo fastboot flash rootfs dragonboard410c-rootfs-debian-jessie-alip-20151106-31.emmc.img
|
||||
```
|
||||
|
||||
Once flashed just reboot the board and enjoy :-)
|
|
@ -0,0 +1,15 @@
|
|||
## Dragonboard™ 410c - Reference Platform Build - 15.10
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
- **Test Report:** Provides test results and bug status for kernel, firmware, and images with a straight forward pass/fail legend.
|
||||
|
||||
***
|
||||
|
||||
| **CE Debian RPB - 15.10** |
|
||||
|:-----------------------------:|
|
||||
| [Install Instructions](InstallDebianRPB-15.10.md) |
|
||||
| [Build from Source](BFSDebianRPB-15.10.md) |
|
||||
| [Known issues](../../Known-Issues.md) |
|
||||
| [Test Report](https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.03/CE-Debian-RPB-16.03-Dragonboard410c-TestReport.pdf) |
|
|
@ -0,0 +1,44 @@
|
|||
h4. Building AOSP from source
|
||||
|
||||
*NOTE*: This build instructions are not yet reflecting the 15.10 image
|
||||
|
||||
AOSP sources are hosted in these repositories:
|
||||
* https://github.com/96boards/android_hardware_ti_wpan
|
||||
* https://github.com/96boards/android_external_wpa_supplicant_8
|
||||
* https://github.com/96boards/android_device_linaro_hikey
|
||||
* https://github.com/96boards/android_manifest
|
||||
|
||||
*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
|
||||
|
||||
*Build the image:*
|
||||
|
||||
bc. $ repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r1\
|
||||
> -g "default,-device,hikey"
|
||||
$ cd .repo/
|
||||
$ git clone https://github.com/96boards/android_manifest -b android-5.0 local_manifests
|
||||
$ cd -
|
||||
$ repo sync -j8
|
||||
$ source build/envsetup.sh
|
||||
$ lunch hikey-userdebug
|
||||
$ make droidcore -j8
|
||||
$ cd out/target/product/hikey
|
||||
|
||||
h4. TODO
|
||||
|
||||
* Update to reflect the latest/current build
|
|
@ -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.10-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.10 96boards-rpb-debian-15.10-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
|
|
@ -0,0 +1,88 @@
|
|||
h2. Install Instructions - CE AOSP RPB 15.10 - HiKey
|
||||
|
||||
This guide describes how to get started with the CE AOSP Reference Platform Build, release 15.10, 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.10 - 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.10/bootloader":http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/bootloader
|
||||
* Linux Kernel:
|
||||
** Derived from Linux 3.18 kernel
|
||||
** Git: "https://github.com/96boards/linux.git":https://github.com/96boards/linux.git
|
||||
** Branch: *hikey*
|
||||
* 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.10/bootloader/l-loader.bin
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/bootloader/fip.bin
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/bootloader/ptable-aosp.img
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/bootloader/hisi-idt.py
|
||||
|
||||
*CE AOSP RPB image:*
|
||||
|
||||
bc. wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/boot_fat.uefi.img.tar.xz
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/cache.img.tar.xz
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/userdata.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.10/system.img.tar.xz":http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/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
|
||||
|
||||
On recovery mode, flash the bootloader with the following command:
|
||||
|
||||
bc. sudo python hisi-idt.py --img1=l-loader.bin -d /dev/ttyUSB0
|
||||
sudo fastboot flash ptable ptable-aosp.img
|
||||
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.img@), otherwise flashing the system image might fail.
|
||||
|
||||
h4. Boot, System, Cache and Userdata
|
||||
|
||||
Fastboot is required to flash boot, system, cache and userdata.
|
||||
|
||||
Due bug "117 (UEFI fastboot uploads hangs for large images)":https://bugs.96boards.org/show_bug.cgi?id=117, it's recommended to flash the images via recovery mode (after running @hisi-idt.py@).
|
||||
|
||||
*Flashing boot, cache, system and userdata:*
|
||||
|
||||
bc. sudo fastboot flash boot boot_fat.uefi.img
|
||||
sudo fastboot flash cache cache.img
|
||||
sudo fastboot flash system system.img
|
||||
sudo fastboot flash userdata userdata.img
|
||||
|
||||
Once flashed, make sure recovery mode is not enabled (pin3-pin4 on J15), 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/ReferenceSoftware":https://github.com/96boards/documentation/wiki/ReferencePlatform
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
h2. Install Instructions - CE Debian RPB 15.10 - HiKey
|
||||
|
||||
This guide describes how to get started with the CE Debian Reference Platform Build, release 15.10, 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.10 - 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.10/bootloader":http://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/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.10/bootloader/l-loader.bin
|
||||
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/bootloader/fip.bin
|
||||
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/bootloader/ptable-linux.img
|
||||
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/bootloader/hisi-idt.py
|
||||
|
||||
*CE Debian RPB image:*
|
||||
|
||||
bc. wget https://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/hikey-boot-linux-20151106-31.uefi.img.gz
|
||||
wget https://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/hikey-rootfs-debian-jessie-alip-20151106-31.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
|
||||
|
||||
On recovery mode, flash the bootloader with the following command:
|
||||
|
||||
bc. sudo python hisi-idt.py --img1=l-loader.bin -d /dev/ttyUSB0
|
||||
sudo fastboot flash ptable ptable-linux.img
|
||||
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-linux.img@), otherwise flashing the rootfs might fail.
|
||||
|
||||
h4. Boot and Rootfs
|
||||
|
||||
Fastboot is required to flash both the boot and rootfs images.
|
||||
|
||||
Due 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-20151106-31.uefi.img
|
||||
sudo fastboot flash system hikey-rootfs-debian-jessie-alip-20151106-31.emmc.img
|
||||
|
||||
Once flashed, make sure recovery mode is not enabled (pin3-pin4 on J15), 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/ReferenceSoftware":https://github.com/96boards/documentation/wiki/ReferenceSoftware
|
|
@ -0,0 +1,24 @@
|
|||
# HiKey Reference Platform Build - 15.10
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
- **Test Report:** Provides test results and bug status for kernel, firmware, and images with a straight forward pass/fail legend.
|
||||
|
||||
***
|
||||
|
||||
| [CE Debian RPB - 15.10](https://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/) |
|
||||
|:------|:------|
|
||||
| [Install instructions](InstallDebianRPB-15.10.md) |
|
||||
| [Build from source](BFSDebianRPB-15.10.md) |
|
||||
| [Known issues](../../Known-Issues.md) |
|
||||
| [Test Report](https://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/CE-Debian-RPB-15.10-HiKey-TestReport.pdf) |
|
||||
|
||||
|
||||
|
||||
| [CE AOSP RPB - 15.10](https://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/) |
|
||||
|:------|:------|
|
||||
| [Install instructions](InstallAOSP-15.10.md) |
|
||||
| [Build from source](BFSAOSPRPB-15.10.md) |
|
||||
| [Known issues](../../Known-Issues.md) |
|
||||
| [Test Report](https://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/CE-AOSP-RPB-15.10-HiKey-TestReport.pdf) |
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
# Highlights
|
||||
|
||||
The *15.10 Alpha* release is the first official release for the reference software platform project. It incorporates reference platform builds for both HiKey (Debian and AOSP) and Dragonboard410c (Debian).
|
||||
|
||||
While the release supports many of the available hardware features for both Hikey and Dragonboard410c, it is in *ALPHA* state (used as a starting point for the reference software platform project), so bugs are expected. For a better user experience, please use the previous releases available at https://builds.96boards.org/releases/dragonboard410c/ and https://builds.96boards.org/releases/hikey/.
|
||||
|
||||
##### Highlights for this release:
|
||||
|
||||
- CE Debian RPBs:
|
||||
- Debian 8.2 "Jessie"
|
||||
- 4.3 kernel (with additional patches)
|
||||
- OpenJDK 8 included by default
|
||||
- 96Boards artworks and default settings
|
||||
- CE AOSP RPB:
|
||||
- AOSP Android Marshmallow 6.0
|
||||
- 3.18 based kernel
|
|
@ -0,0 +1,56 @@
|
|||
## Reference Platform Build - 15.10 Release - Known Issues
|
||||
|
||||
### UEFI - HiKey
|
||||
|
||||
- "Bug 117":https://bugs.96boards.org/show_bug.cgi?id=117 - UEFI fastboot uploads hangs for large images
|
||||
- Workaround is to use the fastboot support provided by the ARM TF (@bl1.bin@, provided by the binary @l-loader.bin@)
|
||||
|
||||
### Debian
|
||||
|
||||
#### HiKey
|
||||
|
||||
- Mali not supported, missing kernel and userspace support
|
||||
- [Bug 20](https://bugs.96boards.org/show_bug.cgi?id=20) - USB kernel trace errors -22
|
||||
- [Bug 43](https://bugs.96boards.org/show_bug.cgi?id=43) - Iceweasel browser exits after file download complete
|
||||
- [Bug 86](https://bugs.96boards.org/show_bug.cgi?id=86) - Debian ALIP: resize UI screen when underlying DRM resolution changed.
|
||||
- [Bug 143](https://bugs.96boards.org/show_bug.cgi?id=143) - Mouse cursor invisible after boot (until you open an application)
|
||||
- [Bug 144](https://bugs.96boards.org/show_bug.cgi?id=144) - Shutdown is not clean
|
||||
- [Bug 145](https://bugs.96boards.org/show_bug.cgi?id=145) - Thermal sensor is not readable
|
||||
- [Bug 147](https://bugs.96boards.org/show_bug.cgi?id=147) - Highest resolution of 1080p monitor cannot be detected
|
||||
- [Bug 148](https://bugs.96boards.org/show_bug.cgi?id=148) - Bluetooth doesn't work
|
||||
- [Bug 150](https://bugs.96boards.org/show_bug.cgi?id=150) - Cannot login when the screen is locked
|
||||
- [Bug 151](https://bugs.96boards.org/show_bug.cgi?id=151) - glxgears: couldn't get an RGB, Double-buffered visual
|
||||
- [Bug 152](https://bugs.96boards.org/show_bug.cgi?id=152) - SD-Card doesn't work
|
||||
- [Bug 159](https://bugs.96boards.org/show_bug.cgi?id=159) - No sound cards found
|
||||
- [Bug 160](https://bugs.96boards.org/show_bug.cgi?id=160) - Behaviors of power on button not following hardware user guide
|
||||
|
||||
#### DragonBoard 410c
|
||||
|
||||
- Freedreno graphics driver not provided by the image
|
||||
-Newer mesa, libdrm and freedreno xorg driver is needed (to be available as part of the next release)
|
||||
- Workaround is to enable the qcom overlay PPA, and install the required packages:
|
||||
|
||||
```
|
||||
sudo su -
|
||||
echo "deb http://repo.linaro.org/ubuntu/qcom-overlay jessie main" > /etc/apt/sources.list.d/qcom-overlay-repo.list
|
||||
apt-get update
|
||||
apt-get install libdrm2 libdrm-freedreno1 libegl1-mesa libegl1-mesa-drivers libgbm1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles1-mesa libgles2-mesa libosmesa6 libwayland-egl1-mesa libxatracker2 xserver-xorg-video-freedreno
|
||||
reboot
|
||||
```
|
||||
|
||||
- Slow USB throughput: https://www.96boards.org/forums/topic/super-slow-usb/
|
||||
- [Bug 43](https://bugs.96boards.org/show_bug.cgi?id=43) - Iceweasel browser exits after file download complete
|
||||
- [Bug 121](https://bugs.96boards.org/show_bug.cgi?id=121) - Cannot soft power off or shutdown db410c
|
||||
- [Bug 154](https://bugs.96boards.org/show_bug.cgi?id=154) - glxgears and tuxracer benchmarks failed to run (due to the missing freedreno driver)
|
||||
- [Bug 156](https://bugs.96boards.org/show_bug.cgi?id=156) - HDMI resolution change not workin
|
||||
- [Bug 157](https://bugs.96boards.org/show_bug.cgi?id=157) - HDMI audio not working (MIGHT NOT BE A BUG)
|
||||
- [Bug 165](https://bugs.96boards.org/show_bug.cgi?id=165) - HDMI Display sleep - no way to wake back up
|
||||
|
||||
### AOSP
|
||||
|
||||
#### HiKey
|
||||
|
||||
- [Bug 136](https://bugs.96boards.org/show_bug.cgi?id=136) - HDMI goes off while running CTS
|
||||
- [Bug 161](https://bugs.96boards.org/show_bug.cgi?id=161) - Fails to enter sleep mode
|
||||
- [Bug 163](https://bugs.96boards.org/show_bug.cgi?id=163) - HDMI audio not working
|
||||
- [Bug 164](https://bugs.96boards.org/show_bug.cgi?id=164) - Behaviors of power on button not following hardware user guide
|
12
Reference-Platform/Platforms/Consumer/RPB_15.10/README.md
Normal file
12
Reference-Platform/Platforms/Consumer/RPB_15.10/README.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Reference Platform Build - 15.10
|
||||
|
||||
[RPB 15.10 Highlights](Highlights.md) | [RPB 15.10 Known Issues](Known-Issues.md)
|
||||
|
||||
## Choose your Hardware
|
||||
|
||||
#### Consumer Edition
|
||||
- [HiKey](ConsumerEdition/HiKey/README.md)
|
||||
- [DragonBoard™ 410c](ConsumerEdition/DragonBoard-410c/README.md)
|
||||
|
||||
***
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -0,0 +1,14 @@
|
|||
## Dragonboard™ 410c - Reference Platform Build - 15.12
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
- **Test Report:** Provides test results and bug status for kernel, firmware, and images with a straight forward pass/fail legend.
|
||||
|
||||
***
|
||||
|
||||
| **CE Debian RPB - 15.12** |
|
||||
|:---------------------------------------------------:|
|
||||
| [Install Instructions](InstallDebianRPB-15.12.md) |
|
||||
| [Build from Source](BFSDebianRPB-15.12.md) |
|
||||
| [Known issues](../../Known-Issues.md) |
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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 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
|
|
@ -0,0 +1,18 @@
|
|||
# HiKey Reference Platform Build - 15.12
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
- **Test Report:** Provides test results and bug status for kernel, firmware, and images with a straight forward pass/fail legend.
|
||||
|
||||
***
|
||||
|
||||
#### HiKey
|
||||
|
||||
| **CE Debian RPB - 15.12** | **CE AOSP RPB - 15.12** |
|
||||
|:------------------------------------------------------:|:---------------------------------------------------:|
|
||||
| [Install Instructions](InstallDebianRPB-15.12.md) | [Install Instructions](InstallAOSPRPB-15.12.md) |
|
||||
| [Build from Source](BFSDebianRPB-15.12.md) | [Build from Source](BFSAOSPRPB-15.12.md) |
|
||||
| [Known issues](../../Known-Issues.md) | [Known issues](../../Known-Issues.md) |
|
||||
|
||||
***
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,49 @@
|
|||
## Reference Platform Builds - 15.12
|
||||
|
||||
The *15.12* release is the second release for the Reference Software Platform project, and for the first time also including support for the Enterprise Edition. Since there is still no availability for the 96Boards HuskyBoard, the first EE RPB was produced using the current enterprise development boards that are available in Linaro, such as HiSilicon D02 and AMD Overdrive (same SoC from HuskyBoard, known as Seattle). Once HuskBoard is available, the work for making it supported by the EE RPB should be minimal.
|
||||
|
||||
A lot of work was put in place for the EE RPB, covering firmware (UEFI/EDK2), Linux 4.4 (with ACPI), Debian Jessie/CentOS 7 network installers, OpenStack Liberty, Hadoop, Spark and a few others, consolidating the work from several other Linaro groups and teams as well as from community and members.
|
||||
|
||||
For the Consumer Edition the CE AOSP RPB for Hikey is now using a 4.1 based kernel, closer to what is provided directly by AOSP. We decided to not push major updates and rebases for the CE Debian RPB kernel since we want the changes to follow the same [kernel policy](../../KernelPolicy.md) as used by the EE kernel. The goal of having one single tree for both CE and EE, with a strict upstream-based policy will continue, and we hope to have more news on that during the upcoming weeks.
|
||||
|
||||
The work for the CE OE/Yocto RPB was also started, but unfortunately not yet covering a single machine (due lack of a single kernel). Please check [https://github.com/96boards/meta-rpb](https://github.com/96boards/meta-rpb) and https://github.com/96boards/oe-rpb-manifest to see what was already done for OpenEmbedded.
|
||||
|
||||
##### Highlights for this release:
|
||||
|
||||
###### Enterprise Edition
|
||||
|
||||
- Firmware:
|
||||
- UEFI/EDK2 support for D02, provided by OpenPlatformPkg
|
||||
- Linux:
|
||||
- 4.4-rc4 based, including support for D02 and Overdrive
|
||||
- ACPI support for D02 and Overdrive (mandatory for the enterprise edition)
|
||||
- Distributions:
|
||||
- Debian Jessie network installer (using latest kernel)
|
||||
- CentOS 7 network installer (alpha state)
|
||||
- Enterprise Components:
|
||||
- Docker 1.9.1
|
||||
- OpenStack Liberty
|
||||
- ODPi BigTop (Hadoop, Spark, etc)
|
||||
- OpenJDK 8
|
||||
|
||||
###### Consumer Edition
|
||||
|
||||
- CE Debian RPB for DragonBoard410 and HiKey (including support for the LeMaker version):
|
||||
- Debian 8.2 "Jessie"
|
||||
- 4.3 kernel (with additional patches)
|
||||
- OpenJDK 8 included by default
|
||||
- 96Boards artwork and default settings
|
||||
- CE AOSP RPB for HiKey (including support for the LeMaker version):
|
||||
- AOSP Android Marshmallow 6.0
|
||||
- 4.1 based kernel
|
||||
|
||||
The complete list of known issues for this release: [Known Issues](Known-Issues.md)
|
||||
|
||||
##### Enterprise
|
||||
|
||||
- [UEFI/EDK2](https://builds.96boards.org/releases/reference-platform/components/uefi/15.12/) for HiSilicon D02
|
||||
- [Kernel 4.4-rc4](https://builds.96boards.org/releases/reference-platform/components/linux/enterprise/15.12/) tested with D02 and Overdrive
|
||||
- [Debian (Jessie) Installer](https://builds.96boards.org/releases/reference-platform/components/debian-installer/15.12/) tested with D02 and Overdrive (shipping kernel 4.4-rc4 by default)
|
||||
- [OpenStack Liberty]() for Debian Jessie
|
||||
- [ODPi Hadoop]() for Debian Jessie
|
||||
- [EE Debian Test Report](https://builds.96boards.org/releases/reference-platform/components/linux/enterprise/15.12/EE-Debian-RPB-15.12-TestReport.pdf)
|
|
@ -0,0 +1,73 @@
|
|||
## Reference Platform Build - 15.12 Release - Known Issues
|
||||
|
||||
### Enterprise
|
||||
|
||||
#### Kernel
|
||||
|
||||
- "Bug 1966":https://bugs.linaro.org/show_bug.cgi?id=1966 - KVM errors when booting on overdrive and d02
|
||||
|
||||
#### HiSilicon D02
|
||||
|
||||
- "Bug 1965":https://bugs.linaro.org/show_bug.cgi?id=1965 - D02: kernel unable to find valid mac for the network interfaces
|
||||
- "Bug 1967":https://bugs.linaro.org/show_bug.cgi?id=1967 - D02: unhandled level 3 permission fault (11)
|
||||
- "Bug 1975":https://bugs.linaro.org/show_bug.cgi?id=1975 - D02: Kernel can only see 2GB of memory (from 8GB)
|
||||
- *SATA*: Due to bugs in the SATA controller, there is a risk of disk corruption when installing to a SATA disk. This is expected to be fixed in subsequent silicon revisions.
|
||||
- *SAS*: not yet supported in EDK2. For it to work on linux only, this "patch":https://git.linaro.org/uefi/OpenPlatformPkg.git/commit/96d58c4318584f066b1bb7f1c48b72e7e25cf709 needs to be reverted on UEFI/EDK2, but then an alternative boot method needs to be used (since UEFI/EDK2 is unable to load grub/kernel from SAS).
|
||||
|
||||
#### AMD Overdrive
|
||||
|
||||
- UEFI/EDK2 is not yet supported
|
||||
|
||||
### Debian
|
||||
|
||||
#### HiKey
|
||||
|
||||
- Mali not supported, missing kernel and userspace support
|
||||
- "Bug 20":https://bugs.96boards.org/show_bug.cgi?id=20 - USB kernel trace errors -22
|
||||
- "Bug 43":https://bugs.96boards.org/show_bug.cgi?id=43 - Iceweasel browser exits after file download complete
|
||||
- "Bug 86":https://bugs.96boards.org/show_bug.cgi?id=86 - Debian ALIP: resize UI screen when underlying DRM resolution changed.
|
||||
- "Bug 143":https://bugs.96boards.org/show_bug.cgi?id=143 - Mouse cursor invisible after boot (until you open an application)
|
||||
- "Bug 144":https://bugs.96boards.org/show_bug.cgi?id=144 - Shutdown is not clean
|
||||
- "Bug 145":https://bugs.96boards.org/show_bug.cgi?id=145 - Thermal sensor is not readable
|
||||
- "Bug 147":https://bugs.96boards.org/show_bug.cgi?id=147 - Highest resolution of 1080p monitor cannot be detected
|
||||
- "Bug 148":https://bugs.96boards.org/show_bug.cgi?id=148 - Bluetooth doesn't work
|
||||
- "Bug 151":https://bugs.96boards.org/show_bug.cgi?id=151 - glxgears: couldn't get an RGB, Double-buffered visual
|
||||
- "Bug 152":https://bugs.96boards.org/show_bug.cgi?id=152 - SD-Card doesn't work
|
||||
- "Bug 159":https://bugs.96boards.org/show_bug.cgi?id=159 - No sound cards found
|
||||
- "Bug 160":https://bugs.96boards.org/show_bug.cgi?id=160 - Behaviors of power on button not following hardware user guide
|
||||
- "Bug 166":https://bugs.96boards.org/show_bug.cgi?id=166 - Support 8GB emmc
|
||||
- "Bug 211":https://bugs.96boards.org/show_bug.cgi?id=211 - Fails to enter fastboot mode from grub boot menu
|
||||
|
||||
#### DragonBoard 410c
|
||||
|
||||
- Freedreno graphics driver not provided by the image
|
||||
- Newer mesa, libdrm and freedreno xorg driver is needed (work in progress to be included by default as part of the next release)
|
||||
- Workaround is to enable the qcom overlay PPA, and install the required packages:
|
||||
|
||||
```shell
|
||||
sudo su -
|
||||
echo "deb http://repo.linaro.org/ubuntu/qcom-overlay jessie main" > /etc/apt/sources.list.d/qcom-overlay-repo.list
|
||||
apt-get update
|
||||
apt-get install libdrm2 libdrm-freedreno1 libegl1-mesa libegl1-mesa-drivers libgbm1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles1-mesa libgles2-mesa libosmesa6 libwayland-egl1-mesa libxatracker2 xserver-xorg-video-freedreno
|
||||
reboot
|
||||
```
|
||||
|
||||
* Slow USB throughput: "https://www.96boards.org/forums/topic/super-slow-usb/":https://www.96boards.org/forums/topic/super-slow-usb/
|
||||
* "Bug 43":https://bugs.96boards.org/show_bug.cgi?id=43 - Iceweasel browser exits after file download complete
|
||||
* "Bug 121":https://bugs.96boards.org/show_bug.cgi?id=121 - Cannot soft power off or shutdown db410c
|
||||
* "Bug 154":https://bugs.96boards.org/show_bug.cgi?id=154 - glxgears and tuxracer benchmarks failed to run (due to the missing freedreno driver)
|
||||
* "Bug 160":https://bugs.96boards.org/show_bug.cgi?id=160 - Behaviors of power on button not following hardware user guide
|
||||
* "Bug 207":https://bugs.96boards.org/show_bug.cgi?id=208 - Bluetooth does not work on Dragonboard debian
|
||||
* "Bug 208":https://bugs.96boards.org/show_bug.cgi?id=208 - Real Time clock not working: due to /dev/rtc not found
|
||||
|
||||
### AOSP
|
||||
|
||||
#### HiKey
|
||||
|
||||
* "Bug 20":https://bugs.96boards.org/show_bug.cgi?id=20 - USB kernel trace errors -22
|
||||
* "Bug 124":https://bugs.96boards.org/show_bug.cgi?id=124 - CPU frequency will be reset to lowest when it is heavily loaded
|
||||
* "Bug 136":https://bugs.96boards.org/show_bug.cgi?id=136 - HDMI goes off while running CTS
|
||||
* "Bug 163":https://bugs.96boards.org/show_bug.cgi?id=163 - HDMI audio not working
|
||||
* "Bug 164":https://bugs.96boards.org/show_bug.cgi?id=164 - Behaviors of power on button not following hardware user guide
|
||||
* "Bug 180":https://bugs.96boards.org/show_bug.cgi?id=180 - Shutdown cannot turn off HDMI monitor
|
||||
* "Bug 204":https://bugs.96boards.org/show_bug.cgi?id=204 - File download crashes the build-in browser
|
13
Reference-Platform/Platforms/Consumer/RPB_15.12/README.md
Normal file
13
Reference-Platform/Platforms/Consumer/RPB_15.12/README.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Reference Platform Build - 15.12
|
||||
|
||||
[RPB 15.12 Highlights](Highlights.md) | [RPB 15.12 Known Issues](Known-Issues.md)
|
||||
|
||||
## Choose your Hardware
|
||||
|
||||
#### Consumer Edition
|
||||
- [HiKey](ConsumerEdition/HiKey/README.md)
|
||||
- [DragonBoard™ 410c](ConsumerEdition/DragonBoard-410c/README.md)
|
||||
|
||||
#### Enterprise Edition
|
||||
- [D02](EnterpriseEdition/D02/README.md)
|
||||
- [Overdrive](EnterpriseEdition/Overdrive/README.md)
|
|
@ -0,0 +1,46 @@
|
|||
## AOSP RPB 16.03 - Build from Source
|
||||
|
||||
Additional AOSP repositories are hosted at:
|
||||
- [https://github.com/96boards/android_device_linaro_db410c](https://github.com/96boards/android_device_linaro_db410c)
|
||||
- [https://github.com/96boards/android_manifest](https://github.com/96boards/android_manifest)
|
||||
- [https://github.com/rsalveti/linux (branch qcomlt-4.4)](https://github.com/rsalveti/linux)
|
||||
- [https://github.com/robherring/mesa](https://github.com/robherring/mesa)
|
||||
- [https://github.com/robherring/drm_gralloc](https://github.com/robherring/drm_gralloc)
|
||||
- https://github.com/robherring/drm_hwcomposer](https://github.com/robherring/drm_hwcomposer)
|
||||
|
||||
*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)
|
||||
|
||||
Also install make sure to install the following packages:
|
||||
|
||||
```shell
|
||||
sudo apt-get install libfdt-dev python-mako get text
|
||||
```
|
||||
|
||||
*Download the firmware blobs:*
|
||||
|
||||
```shell
|
||||
mkdir android/
|
||||
cd android/
|
||||
mkdir -p vendor/db410c
|
||||
cd vendor/db410c
|
||||
wget http://developer.qualcomm.com/download/db410c/firmware-410c-1.2.0.bin
|
||||
sh firmware-410c-1.2.0.bin
|
||||
cd -
|
||||
```
|
||||
|
||||
*Build the image:*
|
||||
|
||||
```shell
|
||||
repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r16
|
||||
cd .repo
|
||||
git clone https://github.com/96boards/android_manifest -b android-6.0-db410c local_manifests
|
||||
cd -
|
||||
repo sync -j8
|
||||
source build/envsetup.sh
|
||||
lunch db410c-userdebug
|
||||
make droidcore -j8
|
||||
cd out/target/product/db410c
|
||||
```
|
||||
|
|
@ -0,0 +1,280 @@
|
|||
## Debian RPB 16.03 - Build from Source
|
||||
|
||||
- Building Linux Kernel from Source
|
||||
- Step 1: Setting up your environment on your host computer
|
||||
- Step 2: Download the Linaro cross compiler toolchain and Skales Tool
|
||||
- Step 3: Export path to cross compiler tool and confirm version
|
||||
- Step 4: Clone the Reference Platform kernel
|
||||
- Step 5: Set the right kernel .config file
|
||||
- Step 6: Build kernel image
|
||||
- Step 7: Copy Modules
|
||||
- Step 8: Find kernel release string
|
||||
- Step 9: Generate modules.dep and map files
|
||||
- Step 10: Find DragonBoard™ 410c IP Address
|
||||
- Step 11: Transfer the modules to the target DragonBoard™ 410c
|
||||
- [Step 12: Generate the initramfs
|
||||
- [Step 13: Create the device tree image and boot image
|
||||
- Customize Bootloader
|
||||
- Build Rootfs from source
|
||||
|
||||
***
|
||||
|
||||
#### Building the Linux kernel from source
|
||||
|
||||
The Linux kernel used in this release is available via tags in the git [repository](https://github.com/96boards/linux)
|
||||
|
||||
```shell
|
||||
git: https://github.com/96boards/linux
|
||||
tag: 96b-kernelci
|
||||
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/components/toolchain/binaries/latest-5.1/aarch64-linux-gnu/gcc-linaro-5.1-2015.08-x86_64_aarch64-linux-gnu.tar.xz).
|
||||
|
||||
To build the Linux kernel, you can use the following instructions:
|
||||
|
||||
#### Step 1: Setting up your environment on your host computer
|
||||
|
||||
- Open your Terminal and cd into your desired directory
|
||||
- Make a new folder using `mkdir` and call is something relevant
|
||||
|
||||
```shell
|
||||
#Example of desired directory
|
||||
$ cd ~/Desktop
|
||||
|
||||
#Example of relevant folder
|
||||
$ mkdir DB410c-16.03
|
||||
$ cd DB410c-16.03
|
||||
```
|
||||
|
||||
#### Step 2: Download the Linaro cross compiler toolchain and Skales Tool
|
||||
|
||||
- From within the directory you just made
|
||||
- Download and unzip by executing the following commands
|
||||
|
||||
###### Linaro Cross Compiler
|
||||
|
||||
```shell
|
||||
#Download
|
||||
$ wget http://releases.linaro.org/components/toolchain/binaries/latest-5.1/aarch64-linux-gnu/gcc-linaro-5.1-2015.08-x86_64_aarch64-linux-gnu.tar.xz
|
||||
#Unzip
|
||||
$ tar -Jxvf gcc-linaro-5.1-2015.08-x86_64_aarch64-linux-gnu.tar.xz
|
||||
```
|
||||
|
||||
###### Skales tool
|
||||
|
||||
```shell
|
||||
$ sudo apt-get install libfdt-dev
|
||||
$ git clone git://codeaurora.org/quic/kernel/skales /tmp/skales
|
||||
$ export PATH=$PATH:/tmp/skales
|
||||
```
|
||||
>Skales will be used later when creating the device tree
|
||||
|
||||
|
||||
#### Step 3: Export path to cross compiler tool and confirm version
|
||||
|
||||
- Exporting path will allow build system can find and use the right kernel
|
||||
|
||||
```shell
|
||||
#Create path
|
||||
$ export PATH=gcc-linaro-5.1-2015.08-x86_64_aarch64-linux-gnu/bin/:$PATH
|
||||
#Check version
|
||||
$ aarch64-linux-gnu-gcc --version
|
||||
aarch64-linux-gnu-gcc (Linaro GCC 5.1-2015.08) 5.1.1 20150608
|
||||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
```
|
||||
|
||||
#### Step 4: Clone the Reference Platform kernel
|
||||
|
||||
- **96b-kernelci** is the development branch
|
||||
- This branch will have the latest changes
|
||||
|
||||
```shell
|
||||
$ git clone -b 96b-kernelci http://github.com/96boards/linux.git
|
||||
```
|
||||
|
||||
- Cloning the kernel may take a few minutes
|
||||
- Once kernel source has been cloned cd into its directory
|
||||
|
||||
```shell
|
||||
$ cd kernel
|
||||
```
|
||||
|
||||
#### Step 5: Set the right kernel .config file
|
||||
|
||||
- This step creates the '.config' file
|
||||
- The .config file is used by the build system when compiling the kernel
|
||||
- Current Reference Platform config can be made by using distro.config
|
||||
- From with in kernel directory execute the following command:
|
||||
|
||||
```shell
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig distro.config
|
||||
```
|
||||
|
||||
- New .config file will be hidden but can be seen by executing `ls -a` from within kernel folder
|
||||
- To view all current configuration the .config file can be opened with a text editor such a `vim`
|
||||
|
||||
#### Step 6: Build kernel image
|
||||
|
||||
- This step will take some time (~20-30 minutes or more), depending on your cpu/memory
|
||||
|
||||
```shell
|
||||
#Replace X from -jX with the number of cores on your host computer
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -jX
|
||||
```
|
||||
|
||||
#### Step 7: Copy Modules
|
||||
|
||||
- Modules must be local (host computer) before transferring to target device
|
||||
- Still within linux directory
|
||||
- Make temp folder
|
||||
- Create modules
|
||||
|
||||
```shell
|
||||
$ mk tmp/modules
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules_install INSTALL_MOD_PATH=/tmp/modules INSTALL_MOD_STRIP=1
|
||||
```
|
||||
|
||||
#### Step 8: Find kernel release string
|
||||
|
||||
- This was created during the kernel build
|
||||
- In this example the kernel.release is 4.4.0+
|
||||
|
||||
```shell
|
||||
$ cat include/config/kernel.release
|
||||
#Output
|
||||
$ 4.4.0+
|
||||
```
|
||||
|
||||
#### Step 9: Generate modules.dep and map files
|
||||
|
||||
- Helps kernel find modules when system boots
|
||||
- Note: `4.4.0+` was the output from `cat include/config/kernel.release` in Step 8
|
||||
|
||||
```shell
|
||||
$ depmod -a -b /tmp/modules 4.4.0+
|
||||
```
|
||||
|
||||
#### Step 10: Find DragonBoard™ 410c IP Address
|
||||
|
||||
- On your DragonBoard™ 410c
|
||||
- Connect to the internet through WIFI
|
||||
- Open one of the Terminal applications
|
||||
|
||||
```shell
|
||||
$ /sbin/ifconfig
|
||||
```
|
||||
- Look for your `wlan0` connection
|
||||
- Here you will see an `inet addr`
|
||||
- This is your board's IP address and should look something like this: `192.168.0.10`
|
||||
|
||||
#### Step 11: Transfer the modules to the target DragonBoard™ 410c
|
||||
|
||||
- Using your board's IP Address for linaro@<yourIPaddress>
|
||||
|
||||
```shell
|
||||
$ tar -cjf /tmp/modules.tar.bz2 -C /tmp modules
|
||||
$ scp /tmp/modules.tar.bz2 linaro@192.168.1.15:~/
|
||||
$ ssh linaro@192.168.1.15
|
||||
#DragonBoard™ 410c shell
|
||||
db410c $ tar -jxvf modules.tar.bz2
|
||||
db410c $ sudo cp -r modules/lib/modules/4.4.0+ /lib/modules/
|
||||
```
|
||||
|
||||
#### Step 12: Generate the initramfs
|
||||
|
||||
- You should still be in the DragonBoard™ 410c shell
|
||||
|
||||
```shell
|
||||
db410c $ sudo update-initramfs -k 4.4.0+ -c
|
||||
```
|
||||
|
||||
- Copy back the new initramfs
|
||||
- This will be used when creating the boot.mg
|
||||
|
||||
#### Step 13: Create the device tree image and boot image
|
||||
|
||||
###### Device tree
|
||||
|
||||
```shell
|
||||
$ dtbTool -o dt.img -s 2048 arch/arm64/boot/dts/qcom
|
||||
```
|
||||
|
||||
###### Boot image
|
||||
|
||||
```shell
|
||||
$ mkbootimg --kernel arch/arm64/boot/Image --ramdisk initrd.img-4.4.0+ --output boot.img --dt dt.img --pagesize "2048" --base "0x80000000" --cmdline "root=/dev/disk/by-partlabel/rootfs rw rootwait console=tty0 console=ttyMSM0,115200n8"
|
||||
```
|
||||
|
||||
Congratulations! Boot image is now ready to be flashed to your DragonBoard™ 410c.
|
||||
|
||||
- Flashing the boot image can be done using fastboot
|
||||
- Board must be booted into fastboot mode
|
||||
- With USB to microUSB cable still connect execute the following:
|
||||
|
||||
```shell
|
||||
$ sudo fastboot flash boot boot.img
|
||||
$ sudo fastboot reboot
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
### 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):
|
||||
|
||||
```shell
|
||||
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:
|
||||
|
||||
```shell
|
||||
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 `about` partition, you can now flash your board with:
|
||||
|
||||
```shell
|
||||
sudo fastboot aboot ./build-msm8916/emmc_appsboot.mbn
|
||||
```
|
||||
|
||||
#### 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:
|
||||
|
||||
```shell
|
||||
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:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get build-dep <pkg>
|
||||
apt-get source <pkg>
|
||||
```
|
||||
|
||||
Then you can rebuild the package locally with:
|
||||
|
||||
```
|
||||
cd <pkg-version>
|
||||
dpkg-buildpackage -b -us -uc
|
||||
```
|
||||
|
||||
#### TO-DO
|
||||
|
||||
- Explain how to build the rootfs from source
|
|
@ -0,0 +1,155 @@
|
|||
[<img src="http://i.imgur.com/jl4GG0d.png" data-canonical-src="http://i.imgur.com/jl4GG0d.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/7wy1996.png" data-canonical-src="http://i.imgur.com/7wy1996.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/tXXN5bZ.png" data-canonical-src="http://i.imgur.com/tXXN5bZ.png" width="125" height="157" />]()
|
||||
|
||||
>**Note:** CE AOSP RPB - 16.03 is a Developer Preview operating system
|
||||
|
||||
***
|
||||
|
||||
#### Step 1: Read about the Fastboot Method
|
||||
|
||||
Fastboot is supported by the board and can be used for installs. This is for advanced users who are most likely modifying/customizing source code and will need to download such updates to the board for test/execution.
|
||||
|
||||
This method requires the following hardware:
|
||||
- DragonBoard™ 410c with power supply
|
||||
- Host machine (Linux, Mac OS X, or Windows)
|
||||
- USB to microUSB cable
|
||||
- USB Mouse and/or keyboard (not required to perform flash)
|
||||
- HDMI Monitor with full size HDMI cable (not required to perform flash)
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download Android Bootloader and Boot file
|
||||
|
||||
- Android Bootloader ([Direct Download](https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/dragonboard410c_bootloader_emmc_android-*.zip) / <a href="https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/" target="_blank">Build Folder</a> )
|
||||
- Android Boot ([Direct Download](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/boot-db410c.img.xz) / <a href="https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
|
||||
>Note the location of all downloads, they will be needed once you access your instruction set
|
||||
|
||||
#### Step 3: Download all remaining files
|
||||
|
||||
- system.img ([Direct Download](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/system.img.xz) / <a href="https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
- userdata.img ([Direct Download](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/userdata.img.xz) / <a href="https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
- cache.img ([Direct Download](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/cache.img.xz) / <a href="https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
|
||||
>Note the location of all downloads, they will be needed once you access your instruction set
|
||||
|
||||
***
|
||||
#### Step 4: Install Android using Fastboot with Linux host
|
||||
|
||||
This section show how to install the Android operating system to your DragonBoard™ 410c using the fastboot method on a Mac OS X host computer.
|
||||
|
||||
1 - **Make sure fastboot is set up on host computer**
|
||||
|
||||
- Android SDK “Tools only” for Linux can be downloaded <a href="http://developer.android.com/sdk" target="_blank">here</a>
|
||||
- The Linux “Tools Only” SDK download does not come with fastboot, you will need to use the Android SDK Manager to install platform-tools.
|
||||
- To do this follow the “SDK Readme.txt” instructions included in your SDK “Tools Only” download.
|
||||
|
||||
If you are still having trouble setting up fastboot, <a href="https://youtu.be/W_zlydVBftA" target="_blank">click here</a> for a short tutorial video
|
||||
|
||||
2 - **Connect host computer to DragonBoard™ 410c**
|
||||
|
||||
- DragonBoard™ 410c must be powered off (unplugged from power)
|
||||
- Make sure microSD card slot on DragonBoard™ 410c is empty
|
||||
- S6 switch on DragonBoard™ 410c must be set to ‘0-0-0-0’. All switches should be in “off” position
|
||||
- Connect USB to microUSB cable from host computer to DragonBoard™ 410c
|
||||
|
||||
3 - **Boot DragonBoard™ 410c into fastboot mode**
|
||||
|
||||
**Please read all bullet points before attempting**
|
||||
|
||||
- Press and hold the Vol (-) button on the DragonBoard™ 410c, this is the S4 button. DragonBoard™ 410c should still NOT be powered on
|
||||
- While holding the Vol (-) button, power on the DragonBoard™ 410c by plugging it in
|
||||
- Once DragonBoard™ 410c is plugged into power, release your hold on the Vol (-) button.
|
||||
- Board should boot into fastboot mode.
|
||||
|
||||
From the connected host machine terminal window, run the following commands:
|
||||
|
||||
```shell
|
||||
# Check to make sure device is connected and in fastboot mode
|
||||
|
||||
fastboot devices
|
||||
```
|
||||
|
||||
**At this point you should be connected to your DragonBoard™ 410c with a USB to microUSB cable. Your DragonBoard™ 410c should be booted into fastboot mode and ready to be flashed with the appropriate images.**
|
||||
|
||||
4 - **Flash Bootloader**
|
||||
|
||||
- Use host computer
|
||||
- Open "Terminal" application
|
||||
- Recall location of Bootloader download.
|
||||
- The bootloader file should be named `dragonboard410c_bootloader_emmc_android`
|
||||
- `cd` to the directory with your unzipped **Bootloader Folder**
|
||||
|
||||
```shell
|
||||
cd <extraction directory>
|
||||
|
||||
#Example:
|
||||
cd /Users/YourUserName/Downloads
|
||||
#<extraction directory> = /Users/YourUserName/Downloads
|
||||
#For this example we assume the "Bootloader" is in the Downloads folder.
|
||||
|
||||
|
||||
cd <unzipped Bootloader folder>
|
||||
|
||||
#Example:
|
||||
cd dragonboard410c_bootloader_emmc_android
|
||||
#<unzipped Bootloader folder> = dragonboard410c_bootloader_emmc_android
|
||||
|
||||
# This command will execute the flashall script within the bootloader folder
|
||||
./flashall
|
||||
|
||||
```
|
||||
|
||||
5 - **Recall location of all downloaded files from downloads page**
|
||||
|
||||
This will include the files listed below:
|
||||
|
||||
###### Reference Platform files
|
||||
|
||||
- boot.img.tar.xz
|
||||
- system.img.tar.xz
|
||||
- userdata.img.tar.xz
|
||||
- cache.img.tar.xz
|
||||
|
||||
6 - **Unzip all files**
|
||||
|
||||
7 - **Flash all files to the DragonBoard™ 410c**
|
||||
|
||||
- Use host computer
|
||||
- Use "Terminal" application
|
||||
- Recall location of all extracted(unzipped) files
|
||||
- `cd` to the directory with your unzipped files
|
||||
- From within extraction directory, execute the following commands:
|
||||
|
||||
###### Reference Platform
|
||||
|
||||
```shell
|
||||
# (Once again) Check to make sure fastboot device connected
|
||||
sudo fastboot devices
|
||||
|
||||
# cd to the directory the boot image and were extracted
|
||||
$ cd <extraction directory>
|
||||
|
||||
# Make sure you have properly unzipped the downloads
|
||||
sudo fastboot flash boot boot.img
|
||||
sudo fastboot flash system system.img
|
||||
sudo fastboot flash userdata userdata.img
|
||||
sudo fastboot flash cache cache.img
|
||||
```
|
||||
|
||||
8 - **Reboot DragonBoard™ 410c**
|
||||
|
||||
- Unplug power to DragonBoard™ 410c
|
||||
- Unplug micro USB cable from DragonBoard™ 410c
|
||||
- Ensure HDMI connection to monitor
|
||||
- Ensure keyboard and/or mouse connection (Depending on your rootfs selection)
|
||||
- Plug power back into DragonBoard™ 410c
|
||||
- Wait for board to boot up
|
||||
- Board will boot into Android lock screen.
|
||||
|
||||
**Congratulations! You are now booting your newly installed OS directly
|
||||
from eMMC on the DragonBoard™ 410c!**
|
||||
|
|
@ -0,0 +1,153 @@
|
|||
[<img src="http://i.imgur.com/jl4GG0d.png" data-canonical-src="http://i.imgur.com/jl4GG0d.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/OQGR5yY.png" data-canonical-src="http://i.imgur.com/OQGR5yY.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/tXXN5bZ.png" data-canonical-src="http://i.imgur.com/tXXN5bZ.png" width="125" height="157" />]()
|
||||
|
||||
|
||||
***
|
||||
|
||||
#### Step 1: Read about the Fastboot Method
|
||||
|
||||
Fastboot is supported by the board and can be used for installs. This is for advanced users who are most likely modifying/customizing source code and will need to download such updates to the board for test/execution.
|
||||
|
||||
This method requires the following hardware:
|
||||
- DragonBoard™ 410c with power supply
|
||||
- Host machine (Linux, Mac OS X, or Windows)
|
||||
- USB to microUSB cable
|
||||
- USB Mouse and/or keyboard (not required to perform flash)
|
||||
- HDMI Monitor with full size HDMI cable (not required to perform flash)
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download Debian Bootloader and Boot file
|
||||
|
||||
- Debian Bootloader ([Direct Download](https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/dragonboard410c_bootloader_emmc_linux-*.zip) / <a href="https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/" target="_blank">Build Folder</a> )
|
||||
- Debian Boot ([Direct Download](https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.03/dragonboard410c-boot-linux-*.img.gz) / <a href="https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
|
||||
#### Step 3: Download Root File System
|
||||
|
||||
- Debian Rootfs (Desktop) ([Direct Download](https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.03/dragonboard410c-rootfs-debian-jessie-alip-*.emmc.img.gz) / <a href="https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
|
||||
>Note the location of all downloads, they will be needed once you access your instruction set
|
||||
|
||||
***
|
||||
#### Step 4: Install Debian Using Fastboot with Linux host
|
||||
|
||||
This section show how to install the Linaro based Debian operating system to your DragonBoard™ 410c using the fastboot method on a Linux host computer.
|
||||
|
||||
1 - **Make sure fastboot is set up on host computer**
|
||||
|
||||
- Android SDK “Tools only” for Linux can be downloaded <a href="http://developer.android.com/sdk" target="_blank">here</a>
|
||||
- The Linux “Tools Only” SDK download does not come with fastboot, you will need to use the Android SDK Manager to install platform-tools.
|
||||
- To do this follow the “SDK Readme.txt” instructions included in your SDK “Tools Only” download.
|
||||
|
||||
If you are still having trouble setting up fastboot, <a href="https://youtu.be/W_zlydVBftA" target="_blank">click here</a> for a short tutorial video
|
||||
|
||||
2 - **Connect host computer to DragonBoard™ 410c**
|
||||
|
||||
- DragonBoard™ 410c must be powered off (unplugged from power)
|
||||
- Make sure microSD card slot on DragonBoard™ 410c is empty
|
||||
- S6 switch on DragonBoard™ 410c must be set to ‘0-0-0-0’. All switches should be in “off” position
|
||||
- Connect USB to microUSB cable from host computer to DragonBoard™ 410c
|
||||
|
||||
3 - **Boot DragonBoard™ 410c into fastboot mode**
|
||||
|
||||
**Please read all bullet points before attempting**
|
||||
|
||||
- Press and hold the Vol (-) button on the DragonBoard™ 410c, this is the S4 button. DragonBoard™ 410c should still NOT be powered on
|
||||
- While holding the Vol (-) button, power on the DragonBoard™ 410c by plugging it in
|
||||
- Once DragonBoard™ 410c is plugged into power, release your hold on the Vol (-) button.
|
||||
- Wait for about 20 seconds.
|
||||
- Board should boot into fastboot mode.
|
||||
|
||||
From the connected host machine terminal window, run the following commands:
|
||||
|
||||
```shell
|
||||
# Check to make sure device is connected and in fastboot mode
|
||||
|
||||
$ fastboot devices
|
||||
```
|
||||
|
||||
Typically it will show as bellow
|
||||
```shell
|
||||
de82318 fastboot
|
||||
```
|
||||
|
||||
**At this point you should be connected to your DragonBoard™ 410c with a USB to microUSB cable. Your DragonBoard™ 410c should be booted into fastboot mode and ready to be flashed with the appropriate images.**
|
||||
|
||||
4 - **Flash Bootloader**
|
||||
|
||||
- Use host computer
|
||||
- Open "Terminal" application
|
||||
- Recall location of Bootloader download.
|
||||
- The bootloader file should be named `dragonboard410c_bootloader_emmc_linux-XX`
|
||||
- XX represents the release number of the Bootloader
|
||||
- `cd` to the directory with your unzipped **Bootloader Folder**
|
||||
|
||||
```shell
|
||||
$ cd <extraction directory>
|
||||
|
||||
#Example:
|
||||
cd /Users/YourUserName/Downloads
|
||||
#<extraction directory> = /Users/YourUserName/Downloads
|
||||
#For this example we assume the "Bootloader" is in the Downloads folder.
|
||||
|
||||
|
||||
$ cd <unzipped Bootloader folder>
|
||||
|
||||
#Example:
|
||||
cd dragonboard410c_bootloader_emmc_linux-40
|
||||
#<unzipped Bootloader folder> = dragonboard410c_bootloader_emmc_linux-40
|
||||
#This example took place during release 40
|
||||
|
||||
# This command will execute the flashall script within the bootloader folder
|
||||
$ ./flashall
|
||||
|
||||
```
|
||||
|
||||
5 - **Recall location of `boot` and `rootfs` download from the downloads page**
|
||||
|
||||
- You should have downloaded the `boot` file
|
||||
- You should have downloaded ONE of rootfs` file (Either `Developer` or `Desktop - ALIP` version)
|
||||
|
||||
6 - **Unzip both 'boot' and 'rootfs' files**
|
||||
|
||||
7 - **Flash `boot` image and `rootfs` to the DragonBoard™ 410c**
|
||||
|
||||
- Use host computer
|
||||
- Use "Terminal" application
|
||||
- Recall location of extracted(unzipped) `boot` file
|
||||
- Recall location of extracted(unzipped) `rootfs` file (`Developer` or `Desktop - ALIP`)
|
||||
- `cd` to the directory with your unzipped `boot` and `rootfs` files
|
||||
- From within extraction directory, execute the following commands:
|
||||
|
||||
```shell
|
||||
# (Once again) Check to make sure fastboot device connected
|
||||
$ sudo fastboot devices
|
||||
# It will show similar to bellow if the device is connected successfully
|
||||
de82318 fastboot
|
||||
|
||||
# cd to the directory the boot image and were extracted
|
||||
$ cd <extraction directory>
|
||||
|
||||
# Make sure you have properly unzipped the boot and rootfs downloads
|
||||
$ sudo fastboot flash boot boot-linaro-jessie-qcom-snapdragon-arm64-**BUILD#**.img
|
||||
$ sudo fastboot flash rootfs linaro-jessie-developer-qcom-snapdragon-arm64-**BUILD#**.img
|
||||
```
|
||||
**Note**: Replace **BUILD#** in the above commands with the file-specific date/build stamp.
|
||||
|
||||
8 - **Reboot DragonBoard™ 410c**
|
||||
|
||||
- Unplug power to DragonBoard™ 410c
|
||||
- Unplug micro USB cable from DragonBoard™ 410c
|
||||
- Ensure HDMI connection to monitor
|
||||
- Ensure keyboard and/or mouse connection (Depending on your rootfs selection)
|
||||
- Plug power back into DragonBoard™ 410c
|
||||
- Wait for board to boot up
|
||||
- Board will boot into either command line or desktop depending on rootfs
|
||||
|
||||
**Note:** the **username** and **password** are both **“linaro”** when the login information is requested.
|
||||
|
||||
**Congratulations! You are now booting your newly installed OS directly
|
||||
from eMMC on the DragonBoard™ 410c!**
|
|
@ -0,0 +1,212 @@
|
|||
## OpenEmbedded RPB 16.03 - Build from Source
|
||||
|
||||
This page provides instructions to get started with OpenEmbedded and the Yocto Project on the DragonBoard 410c.
|
||||
|
||||
# Introduction
|
||||
|
||||
This wiki is not an introduction on OpenEmbedded or Yocto Project. If you are not familiar with OpenEmbedded and the Yocto Project, it is very much recommended to read the appropriate documentation first. For example, you can start with:
|
||||
* http://openembedded.org/wiki/Main_Page
|
||||
* http://yoctoproject.org/
|
||||
* https://www.yoctoproject.org/documentation
|
||||
|
||||
In this wiki, we assume that the reader is familiar with basic concepts of OpenEmbedded.
|
||||
|
||||
The support for DragonBoard 410c is available in the [meta-qcom BSP layer](http://git.yoctoproject.org/cgit/cgit.cgi/meta-qcom).
|
||||
|
||||
This layer has been tested with OpenEmbedded Core layer, and is expected to work with any other standard layers and of course any OpenEmbedded based distributions.
|
||||
|
||||
The Linux kernel used for the DragonBoard 410c is the Linaro Landing team kernel, e.g. the same kernel used for the Linaro Linux release builds. The graphic stack is based on mesa, using the freedreno driver.
|
||||
|
||||
## OE Layers
|
||||
|
||||
| Layer | Description |
|
||||
|:-----------------------:|:----------------------|
|
||||
| OE-Core (Base layer) | This is the main collaboration point when working on OpenEmbedded projects and is part of the core recipes. The goal of this layer is to have just enough recipes to build a basic system, this means keeping it as small as possible. |
|
||||
| Meta-rpb (Distro layer) | This is a very small layer where the distro configurations live. Currently it houses both Reference Platform Build and Wayland Reference Platform Builds. |
|
||||
| Meta-oe | This layer houses many useful, but sometimes unmaintained recipes. Since the reduction in recipes to the core, meta-oe was created for everything else. There are currently approximately 650 recipes in this layer. |
|
||||
| Meta-browser | This layer holds the recipes for Firefox and Chromium. Both recipes require a lot of maintenance, because of this a seperate layer was created. |
|
||||
| Meta-qt5 | This is a cross-platform toolkit. |
|
||||
| Meta-linaro | This layer is used to get the Linaro toolchain. |
|
||||
| Meta-linaro-backports | This is an experimental layer used to get newer versions into the build which were not part of the release. |
|
||||
| Meta-96Boards | This support layer is managed by Linaro and intended for boards that do not have their own board support layer. Currently used for the HiKey Consumer edition board, and eventually the Bubblegum-96 board. If a vendor does not support their own layer, it can be added to this layer. |
|
||||
| Meta-qcom (BSP) | This is the board support layer for Qualcomm boards. Currently supports IFC6410 and the DragonBoard 410c. |
|
||||
|
||||
# Package Dependencies
|
||||
|
||||
In order to successfully set up your build environment, you will need to install the following package dependencies.
|
||||
|
||||
**Step 1**: You will need git installed on your Linux host machine
|
||||
|
||||
`$ sudo apt-get install git`
|
||||
|
||||
**Step 2**: Visit the OpenEmbedded (Getting Started) wiki to see which distribution specific dependencies you will need
|
||||
|
||||
http://www.openembedded.org/wiki/Getting_started
|
||||
|
||||
**Step 3**: Install 96Boards specific dependencies (Case specific)
|
||||
|
||||
Setting up the build environment will first search for `whiptail`, if it is not present then it will search for `dialog`. You only need one of the following packages to ensure your setup-environement runs correctly:
|
||||
|
||||
|
||||
`$ sudo apt-get install whiptail`
|
||||
|
||||
or
|
||||
|
||||
`$ sudo apt-get install dialog`
|
||||
|
||||
**Please Note**: If you are running Ubuntu 16.04 you will need to add the following line to your `/etc/apt/sources.list`
|
||||
|
||||
`deb http://archive.ubuntu.com/ubuntu/ xenial universe`
|
||||
|
||||
```shell
|
||||
$ cd /etc/apt/
|
||||
#vim text editor is used in this example
|
||||
#sudo is used to allow editing, sources.list is set to read only
|
||||
$ sudo vim sources.list
|
||||
```
|
||||
|
||||
All required dependencies should now be installed on your host environment, you are ready to begin your build environment setup.
|
||||
|
||||
|
||||
# Setup the build environment
|
||||
|
||||
The Qualcomm BSP layer can be used with any OE based distribution, such as Poky. The following instructions are provided to get started with 96boards Open Embedded Reference Software Platforms.
|
||||
|
||||
To manage the various git trees and the OpenEmbedded environment, a repo manifest is provided. If you do not have `repo` installed on your host machine, you first need to install it, using the following instructions (or similar):
|
||||
|
||||
mkdir -p ${HOME}/bin
|
||||
curl https://storage.googleapis.com/git-repo-downloads/repo > ${HOME}/bin/repo
|
||||
chmod a+x ${HOME}/bin/repo
|
||||
export PATH=${HOME}/bin:${PATH}
|
||||
|
||||
To initialize your build environment, you need to run:
|
||||
|
||||
mkdir oe-qcom && cd oe-qcom
|
||||
repo init -u https://github.com/96boards/oe-rpb-manifest.git -b jethro
|
||||
repo sync
|
||||
source setup-environment [<build folder>]
|
||||
|
||||
* after the command `repo sync` returns, all the OpenEmbedded recipes have been downloaded locally.
|
||||
* you will be prompted to choose the target machine, pick `dragonboard-410c`
|
||||
* you will be prompted to choose the distro, for now, it is recommended to use 'rpb'
|
||||
* <build folder> is optional, if missing it will default to `build-$DISTRO`
|
||||
|
||||
The script `setup-environment` will create sane default configuration files in <build folder>/conf, you can inspect them and modify them if needed. Note that conf/local.conf and conf/bblayers.conf are symlink , and under source control. So it is generally better not to modify them, and use conf/site.conf and conf/auto.conf instead.
|
||||
|
||||
# Build a minimal, console-only image
|
||||
|
||||
To build a console image, you can run:
|
||||
|
||||
$ bitbake rpb-console-image
|
||||
|
||||
At the end of the build, your build artifacts will be found in `tmp-eglibc/deploy/images/dragonboard-410c`. The two artifacts you will use to update your DragonBoard are:
|
||||
* `rpb-console-image-dragonboard-410c.ext4.gz` and
|
||||
* `boot-dragonboard-410c.img`
|
||||
|
||||
# Bootloaders and eMMC partitions
|
||||
|
||||
Build artifacts from your OE build will be flashed into the DragonBoard's on-board eMMC (in contrast to some other boards which run their images from an SDcard). The OpenEmbedded BSP layer assumes that the _Linux_ Bootloaders and eMMC partition layout are used on the DragonBoard 410c (not the _Android_ ones; by default DragonBoards come pre-configured with the Android eMMC partition layout). You can download the latest Linux bootloader package from [here](http://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/) to your development host, it will be named something like `dragonboard410c_bootloader_emmc_linux-<version>.zip`.
|
||||
|
||||
Whether your DragonBoard is using the Android eMMC partition layout or the Linux partition eMMC layout, you will use the Android `fastboot` utility on your development host for managing the board's eMMC partitions. If you are using a relatively recent Linux distribution on your development host, it probably already has a package that includes the `fastboot` utility (it might be named something like `android-tools` or `android-tools-fastboot`) so go ahead and install it on your development host. In order for your development host's fastboot utility to interact with the DragonBoard, the DragonBoard must be booted into a special `fastboot mode`. The procedure to do so is as follows:
|
||||
* remove power from your DragonBoard
|
||||
* plug a USB cable from your development host to your DragonBoard's J4 connector
|
||||
* while holding down S4 on the DragonBoard (the one marked "(-)"), insert the power adapter
|
||||
* after a few seconds you can release S4
|
||||
|
||||
To verify your cables and that the above procedure worked, on your development host run:
|
||||
|
||||
# sudo fastboot devices
|
||||
|
||||
and you should get a non-empty response, e.g.
|
||||
|
||||
# sudo fastboot devices
|
||||
83581d40 fastboot
|
||||
|
||||
If this is your first time using a particular DragonBoard, you will need to switch its eMMC partition layout to the Linux layout, but this procedure only needs to be done once for a given board. After switching your layout, you only have to update your board with your latest build artifacts.
|
||||
|
||||
The procedure for updating your eMMC partitions is as follows. Put your DragonBoard into `fastboot mode` (see procedure above) then perform these steps on your development host:
|
||||
* download the latest Linux bootloader package (e.g. `dragonboard410c_bootloader_emmc_linux-<version>.zip`)
|
||||
* unzip its contents
|
||||
* run the `flashall` script (as root) that you will find after unzipping the Linux bootloader package
|
||||
|
||||
At this point your eMMC has the following partition layout:
|
||||
|
||||
* `/dev/mmcblk0p7` , aka `aboot` is used for the bootloader (LK/fastboot)
|
||||
* `/dev/mmcblk0p8` , aka `boot` is used for the boot image (kernel, device tree, initrd)
|
||||
* `/dev/mmcblk0p10` , aka `rootfs` is used for the root file system
|
||||
|
||||
# Flashing build artifacts
|
||||
|
||||
In the following description, replace `image` with the name of the image you built. For example: if you built `rpb-console-image` then `image` will be `rpb-console-image`.
|
||||
|
||||
At the end of any successful build you will end up with the following artifacts (amongst others)
|
||||
* `image-dragonboard-410c.ext4.gz` and
|
||||
* `boot-dragonboard-410c.img`
|
||||
|
||||
These will be found in your `tmp-eglibc/deploy/images/dragonboard-410c` directory.
|
||||
|
||||
To install these to your DragonBoard's eMMC from your development host:
|
||||
|
||||
# gzip -d < image-dragonboard-410c.ext4.gz > image-dragonboard-410c.ext4
|
||||
# fastboot flash rootfs image-dragonboard-410c.ext4
|
||||
# fastboot flash boot boot-dragonboard-410c.img
|
||||
|
||||
# Proprietary firmware blob
|
||||
|
||||
When running the `setup-environment` script, you were asked to read/accept the Qualcomm EULA. The EULA is required to access the proprietary firmware, such as the GPU firmware , WLAN, ...
|
||||
|
||||
If you accepted the EULA, when building an image for DragonBoard 410c all proprietary firmware are installed automatically in `/lib/firmware`, and a copy of the EULA is added as '/etc/license.txt`.
|
||||
|
||||
If you did not accept the EULA, the firmware are not downloaded, and not installed into the image. You can manually manage the firmware and download them separately from [Qualcomm Developer Network](https://developer.qualcomm.com/download/linux-ubuntu-board-support-package-v1.1.zip).
|
||||
|
||||
# Build a simple X11 image
|
||||
|
||||
To build an X11 image with GPU hardware accelerated support run:
|
||||
|
||||
$ bitbake rpb-desktop-image
|
||||
|
||||
At the end of the build, the root file system image will be available as `tmp-eglibc/deploy/images/dragonboard-410c/rpb-desktop-image-dragonboard-410c.ext4.gz`.
|
||||
|
||||
Then you can finally start the X server, and run any graphical application:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
glxgears
|
||||
|
||||
The default X11 image includes `openbox` window manager, to use it:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
openbox &
|
||||
glxgears
|
||||
|
||||
Of course, you can easily add another window manager, such as `metacity` in the image. To install `metacity` in the image, add the following to `conf/auto.conf` file:
|
||||
|
||||
CORE_IMAGE_EXTRA_INSTALL += "metacity"
|
||||
|
||||
and rebuild the `rpb-desktop-image` image, it will now include `metacity`, which can be started like this:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
metacity&
|
||||
glxgears
|
||||
|
||||
# Build a sample Wayland/Weston image
|
||||
|
||||
For Wayland/weston, it is recommended to change the DISTRO and use `rpb-wayland` instead of `rpb`. The main reason is that in the `rpb-wayland` distro, the support for X11 is completely removed. So , in a new terminal prompt, setup a new environment and make sure to use `rpb-wayland` for DISTRO, then, you can run a sample image with:
|
||||
|
||||
$ bitbake rpb-weston-image
|
||||
|
||||
This image includes a few additional features, such as `systemd`, `connman` which makes it simpler to use. Once built, the image will be available at `tmp-eglibc/deploy/images/dragonboard-410c/rpb-weston-image-dragonboard-410c.ext4.gz`. And it can be flashed into `rootfs` partition.
|
||||
|
||||
If you boot this image on the board, you should get a command prompt on the HDMI monitor. A user called `linaro` exists (and has no password). Once logged in a VT, you run start weston with:
|
||||
|
||||
weston-launch
|
||||
|
||||
And that should get you to the Weston desktop shell.
|
||||
|
||||
# Support
|
||||
|
||||
For general question or support request, please go to [96boards.org Community forum](https://www.96boards.org/forums/forum/products/dragonboard410c/).
|
||||
|
||||
For any bug related to this release, please submit issues to the [96Board.org Bug tracking system](https://bugs.96boards.org/). To submit a bug, follow this [link](https://bugs.96boards.org/enter_bug.cgi?product=Dragonboard%20410c).
|
|
@ -0,0 +1,32 @@
|
|||
## Dragonboard™ 410c - Reference Platform Build - 16.03
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
- **Test Report:** Provides test results and bug status for kernel, firmware, and images with a straight forward pass/fail legend.
|
||||
|
||||
***
|
||||
|
||||
| **CE Debian RPB - 16.03** |
|
||||
|:-----------------------------:|
|
||||
| [Install Instructions](InstallDebianRPB-16.03.md) |
|
||||
| [Build from Source](BFSDebianRPB-16.03.md) |
|
||||
| [Known issues](../../Known-Issues.md) |
|
||||
| [Test Report](https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.03/CE-Debian-RPB-16.03-Dragonboard410c-TestReport.pdf) |
|
||||
|
||||
***
|
||||
|
||||
| **CE AOSP RPB - 16.03**<br>(Developer Preview) |
|
||||
|:---------------------------:|
|
||||
| [Install Instructions](InstallAOSPRPB-16.03.md) |
|
||||
| [Build from Source](BFSAOSPRPB-16.03.md) |
|
||||
| [Known issues](../../Known-Issues.md) |
|
||||
| [Test Report](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/CE-AOSP-RPB-16.03-DB410c-TestReport.pdf) |
|
||||
|
||||
***
|
||||
|
||||
|
||||
| **CE OpenEmbedded - 16.03** |
|
||||
|:-----------------------------:|
|
||||
| [Install Instructions](InstallOERPB-16.03.md) |
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
## AOSP RPB 16.03 - Build from Source
|
||||
|
||||
Additional AOSP repositories are hosted here:
|
||||
- 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)
|
||||
|
||||
###### Out of date:
|
||||
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):
|
||||
|
||||
```shell
|
||||
<USER> ALL= NOPASSWD: /bin/mount
|
||||
<USER> ALL= NOPASSWD: /bin/umount
|
||||
<USER> ALL= NOPASSWD: /sbin/mkfs.fat
|
||||
<USER> ALL= NOPASSWD: /bin/cp
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
**Download the code:**
|
||||
|
||||
```shell
|
||||
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
|
||||
|
||||
**Build the image:**
|
||||
|
||||
```shell
|
||||
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/hiked
|
||||
```
|
|
@ -0,0 +1,185 @@
|
|||
## Debian RPB 16.03 - Build from Source
|
||||
|
||||
- Building Linux Kernel from Source
|
||||
- Step 1: Setting up your environment on your host computer
|
||||
- Step 2: Download the Linaro cross compiler toolchain
|
||||
- Step 3: Export path to cross compiler tool and confirm version
|
||||
- Step 5: Set the right kernel .config file
|
||||
- Step 6: Build kernel image and debian package
|
||||
- Step 7: Copy Modules
|
||||
- Step 8: Find kernel release string
|
||||
- Step 9: Generate modules.dep and map files
|
||||
- Step 10: Find DragonBoard™ 410c IP Address
|
||||
- Step 11: Transfer the modules to the target HiKey
|
||||
- Step 12: Generate the initramfs
|
||||
- Step 13: Create the device tree image and boot image
|
||||
- Customize Bootloader
|
||||
- Build Rootfs from source
|
||||
|
||||
***
|
||||
|
||||
#### Building the Linux kernel from source
|
||||
|
||||
The Linux kernel used in this release is available via tags in the git [repository](https://github.com/96boards/linux)
|
||||
|
||||
```shell
|
||||
git: https://github.com/96boards/linux
|
||||
Dynamic tag: 96b-kernelci
|
||||
Fixed tag: 96b/releases/2016.03
|
||||
defconfig: arch/arm64/configs/distro.config
|
||||
```
|
||||
|
||||
The kernel image (`Image`) and the kernel modules are installed in the root file system (e.g. `/boot/vmlinuz-4.4.0-104-arm64` and `/lib/modules/4.4.0-104-arm64`). 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/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz), also available [here](http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/)
|
||||
|
||||
To build the Linux kernel, you can use the following instructions:
|
||||
|
||||
#### Step 1: Setting up your environment on your host computer
|
||||
|
||||
- Open your Terminal and cd into your desired directory
|
||||
- Make a new folder using `mkdir`, name it something relevant
|
||||
|
||||
```shell
|
||||
#Example of desired directory
|
||||
$ cd ~/Desktop
|
||||
|
||||
#Example of relevant folder
|
||||
$ mkdir HiKey-16.03
|
||||
$ cd HiKey-16.03
|
||||
```
|
||||
|
||||
#### Step 2: Step 2: Download the Linaro cross compiler toolchain
|
||||
|
||||
- From within the directory you just made
|
||||
- Download and unzip by executing the following commands
|
||||
|
||||
###### Linaro Cross Compiler
|
||||
|
||||
```shell
|
||||
#Download
|
||||
$ wget http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz
|
||||
#Unzip
|
||||
$ tar -Jxvf gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz
|
||||
```
|
||||
|
||||
#### Step 3: Export path to cross compiler tool and confirm version
|
||||
|
||||
- Exporting path will allow build system can find and use the right kernel
|
||||
|
||||
```shell
|
||||
#Create path
|
||||
$ export PATH=~/Desktop/HiKey-16.03/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/:$PATH
|
||||
#Check version
|
||||
$ aarch64-linux-gnu-gcc --version
|
||||
aarch64-linux-gnu-gcc (Linaro GCC 5.3-2016.02) 5.3.1 20160113
|
||||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
```
|
||||
|
||||
#### Step 4: Clone the Reference Platform kernel
|
||||
|
||||
- **96b-kernelci** is the development branch
|
||||
- This branch will have the latest changes
|
||||
- Use **96b/releases/2016.03** if you want the same version used by the 16.03 release
|
||||
|
||||
```shell
|
||||
$ git clone -b 96b/releases/2016.03 http://github.com/96boards/linux.git
|
||||
```
|
||||
|
||||
- Cloning the kernel may take a few minutes
|
||||
- If you already have a local clone of another kernel git tree, use _--reference path/your/old/tree/.git_ for a faster clone process
|
||||
- Once kernel source has been cloned cd into its directory
|
||||
|
||||
```shell
|
||||
$ cd linux
|
||||
```
|
||||
|
||||
#### Step 5: Set the right kernel .config file
|
||||
|
||||
- This step creates the '.config' file
|
||||
- The .config file is used by the build system when compiling the kernel
|
||||
- Current Reference Platform config can be made by using distro.config
|
||||
- From with in kernel directory execute the following command:
|
||||
|
||||
```shell
|
||||
$ cp arch/arm64/configs/distro.config .config
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- oldconfig
|
||||
```
|
||||
|
||||
- New .config file will be hidden but can be seen by executing `ls -a` from within kernel folder
|
||||
- To view all current configuration the .config file can be opened with a text editor such a `vim`
|
||||
|
||||
#### Step 6: Build kernel image and debian package
|
||||
|
||||
- This step will take some time (~20-30 minutes or more), depending on your cpu/memory
|
||||
- Creating the kernel package is recommended for HiKey, as it supports Grub 2
|
||||
|
||||
```shell
|
||||
#Replace X from -jX with the number of cores on your host computer
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -jX deb-pkg LOCALVERSION=-yourowntag
|
||||
```
|
||||
|
||||
#### Step 7: Find HiKey IP Address
|
||||
|
||||
- On your HiKey board
|
||||
- Connect to the internet through WIFI
|
||||
- Open one of the Terminal applications
|
||||
|
||||
```shell
|
||||
$ /sbin/ifconfig
|
||||
```
|
||||
- Look for your `wlan0` connection
|
||||
- Here you will see an `inet addr`
|
||||
- This is your board's IP address and should look something like this: `192.168.0.10`
|
||||
|
||||
#### Step 8: Transfer the modules to the target HiKey
|
||||
|
||||
- Using your board's IP Address for linaro@<yourIPaddress>
|
||||
|
||||
```shell
|
||||
$ scp ../linux-image-4.4.0-yourowntag.deb linaro@192.168.1.15:~/
|
||||
$ ssh linaro@192.168.1.15
|
||||
#HiKey shell
|
||||
|
||||
$ hikey $ sudo dpkg -i linux-image-4.4.0-yourowntag.deb
|
||||
```
|
||||
Congratulations! Your new kernel is now ready to be used by your HiKey.
|
||||
|
||||
- You can check `/boot/grub/grub.cfg` for the new boot entry based on your own kernel
|
||||
- If you want only your kernel to be available, you can remove the default linux-image package, and grub will be automatically updated
|
||||
|
||||
### Boot Loader
|
||||
|
||||
Please see [https://github.com/linaro/documentation/wiki/Reference-Platform-Bootloader-Hikey#building-from-source](https://github.com/linaro/documentation/wiki/Reference-Platform-Bootloader-Hikey#building-from-source) for instructions on how to built the boot loader from source.
|
||||
|
||||
#### 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:
|
||||
|
||||
```shell
|
||||
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:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get build-dep <pkg>
|
||||
apt-get source <pkg>
|
||||
```
|
||||
|
||||
Then you can rebuild the package locally with:
|
||||
|
||||
```shell
|
||||
cd <pkg-version>
|
||||
dpkg-buildpackage -b -us -uc
|
||||
```
|
||||
|
||||
#### TODO
|
||||
|
||||
* Explain how to build the rootfs from source
|
|
@ -0,0 +1,83 @@
|
|||
## Building from source
|
||||
|
||||
The source code is available from:
|
||||
- [**l-loader**](https://github.com/96boards-hikey/l-loader)
|
||||
- [**ARM Trusted Firmware**](https://github.com/96boards-hikey/arm-trusted-firmware)
|
||||
- [**Tianocore EDK2 – UEFI**](https://github.com/96boards-hikey/edk2) and [**OpenPlatformPkg**](https://github.com/96boards-hikey/OpenPlatformPkg)
|
||||
|
||||
Since GRUB2 is currently consumed directly from the Debian package, debian package rebuild instructions applies.
|
||||
|
||||
### Build instructions
|
||||
|
||||
Prerequisites:
|
||||
- GCC 5.3 cross-toolchain for Aarch64 available in your PATH
|
||||
- You can download and use the Linaro GCC binary (Linaro GCC 5.3-2016.02), available at [http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz](http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz)
|
||||
- GCC 5.3 cross-toolchain for gnueabihf available in your PATH
|
||||
- You can download and use the Linaro GCC binary (Linaro GCC 5.3-2016.02), available at [http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/arm-linux-gnueabihf/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz](http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/arm-linux-gnueabihf/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz)
|
||||
- GPT fdisk (gdisk package from your favorite distribution).
|
||||
|
||||
#### Installing pre-built toolchain(s)
|
||||
|
||||
```shell
|
||||
mkdir arm-tc arm64-tc
|
||||
tar --strip-components=1 -C ${PWD}/arm-tc -xf gcc-linaro-5.3-*arm-linux-gnueabihf.tar.xz
|
||||
tar --strip-components=1 -C ${PWD}/arm64-tc -xf gcc-linaro-5.3-*aarch64-linux-gnu.tar.xz
|
||||
export PATH="${PWD}/arm-tc/bin:${PWD}/arm64-tc/bin:$PATH"
|
||||
```
|
||||
|
||||
#### Getting the source code
|
||||
|
||||
```shell
|
||||
git clone -b hikey-aosp https://github.com/96boards-hikey/edk2.git
|
||||
git clone -b hikey-aosp https://github.com/96boards-hikey/OpenPlatformPkg.git
|
||||
git clone -b hikey https://github.com/96boards-hikey/arm-trusted-firmware.git
|
||||
git clone https://github.com/96boards-hikey/l-loader.git
|
||||
git clone git://git.linaro.org/uefi/uefi-tools.git
|
||||
```
|
||||
|
||||
#### Building EDK2/UEFI for HiKey
|
||||
|
||||
Building EDK2/UEFI is simple if built with the _uefi-tools.sh_ script, since it already incorporates the platform specific configs and binaries.
|
||||
|
||||
To build EDK2/UEFI (use **-b** to select **RELEASE** or **DEBUG** build):
|
||||
|
||||
```shell
|
||||
export AARCH64_TOOLCHAIN=GCC49
|
||||
export EDK2_DIR=${PWD}/edk2
|
||||
export ATF_DIR=${PWD}/arm-trusted-firmware
|
||||
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
|
||||
cd ${EDK2_DIR}
|
||||
rmdir OpenPlatformPkg; ln -s ../OpenPlatformPkg
|
||||
${UEFI_TOOLS_DIR}/uefi-build.sh -b RELEASE -a ${ATF_DIR} hikey
|
||||
```
|
||||
|
||||
And bl1.bin with l-loader (ptable files are also created as part of the l-loader Makefile):
|
||||
|
||||
```shell
|
||||
cd ../l-loader
|
||||
ln -s ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/FV/bl1.bin
|
||||
ln -s ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/FV/fip.bin
|
||||
make # requires sudo for creating the partition tables
|
||||
```
|
||||
|
||||
The files 'fip.bin', 'l-loader.bin' and 'ptable-linux-8g.img' are now built. All the image files are in _$BUILD/l-loader_ directory. The Fastboot App is at _edk2/Build/HiKey/RELEASE_GCC49/AARCH64/AndroidFastbootApp.efi_.
|
||||
|
||||
#### EFI boot partition
|
||||
|
||||
The boot partition is a 64MB FAT partition only contains fastboot.efi and GRUB2, since the grub.cfg, kernel, initrd and device tree are all loaded from the root file system (grubaa64.efi searches for rootfs label/boot/grub/grub.cfg).
|
||||
|
||||
```shell
|
||||
wget https://builds.96boards.org/snapshots/reference-platform/components/grub/latest/grubaa64.efi
|
||||
mkdir boot-fat
|
||||
dd if=/dev/zero of=boot-fat.uefi.img bs=512 count=131072
|
||||
sudo mkfs.fat -n "boot" boot-fat.uefi.img
|
||||
sudo mount -o loop,rw,sync boot-fat.uefi.img boot-fat
|
||||
sudo mkdir -p boot-fat/EFI/BOOT
|
||||
sudo cp ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/AARCH64/AndroidFastbootApp.efi boot-fat/EFI/BOOT/fastboot.efi
|
||||
sudo cp grubaa64.efi boot-fat/EFI/BOOT/grubaa64.efi
|
||||
sudo umount boot-fat
|
||||
sudo mv boot-fat.uefi.img hikey-boot-linux-VERSION.uefi.img
|
||||
rm -rf boot-fat
|
||||
```
|
||||
|
||||
Now just flash the recently created 'hikey-boot-linux-VERSION.uefi.img' with the same instructions as used with the pre-built binaries.
|
|
@ -0,0 +1,126 @@
|
|||
#### Your Build Choice
|
||||
|
||||
[<img src="http://i.imgur.com/jl4GG0d.png" data-canonical-src="http://i.imgur.com/jl4GG0d.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/7wy1996.png" data-canonical-src="http://i.imgur.com/7wy1996.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/tXXN5bZ.png" data-canonical-src="http://i.imgur.com/tXXN5bZ.png" width="125" height="157" />]()
|
||||
|
||||
***
|
||||
|
||||
#### Step 1: Read about the Fastboot Method
|
||||
|
||||
Fastboot is supported by the board and can be used for installs. This is for advanced users who are most likely modifying/customizing source code and will need to download such updates to the board for test/execution.
|
||||
|
||||
This method requires the following hardware:
|
||||
- HiKey with power supply
|
||||
- Host machine (Linux, Mac OS X, or Windows)
|
||||
- USB to microUSB cable
|
||||
- USB Mouse and/or keyboard (not required to perform flash)
|
||||
- HDMI Monitor with full size HDMI cable (not required to perform flash)
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download the following files
|
||||
|
||||
>Note: Some files have 4G and 8G options, download file which best matches your HiKey board.
|
||||
|
||||
- All HiKey **CircuitCo boards** will use the **4G files**
|
||||
- All HiKey **LeMaker 1G boards** will use the **4G files**
|
||||
- All HiKey **LeMaker 2G boards** will use the **8G files**
|
||||
|
||||
Build Folders (<a href="http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/" target="_blank">**Binaries**</a> / <a href="http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/" target="_blank">**Image**</a>)
|
||||
|
||||
- **l-loader.bin** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/l-loader.bin))
|
||||
- **fip.bin** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/fip.bin))
|
||||
- **nvme.img** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/nvme.img))
|
||||
- **ptable-aosp.img** ([**4G Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/ptable-aosp-4g.img) / [**8G Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/ptable-aosp-8g.img))
|
||||
- **hisi-idt.py** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/hisi-idt.py))
|
||||
- **boot_fat.uefi.img** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/boot_fat.uefi.img.tar.xz))
|
||||
- **cache.img.tar.xz** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/cache.img.tar.xz))
|
||||
- **userdata.img.xz** ([**4G Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/userdata.img.tar.xz) / [**8G Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/userdata-8gb.img.tar.xz))
|
||||
- **system.img.tar.xz** (<a href="http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/system.img.tar.xz" target="_blank">**Download**</a>)
|
||||
|
||||
***
|
||||
|
||||
#### Step 3: Install AOSP Using Fastboot with Linux host
|
||||
|
||||
This section show how to install the AOSP operating system to your HiKey using the fastboot method on a Linux host computer.
|
||||
|
||||
1 - **Make sure fastboot is set up on host computer**
|
||||
|
||||
- Android SDK “Tools only” for Linux can be downloaded <a href="http://developer.android.com/sdk" target="_blank">here</a>
|
||||
- The Linux “Tools Only” SDK download does not come with fastboot, you will need to use the Android SDK Manager to install platform-tools.
|
||||
- To do this follow the “SDK Readme.txt” instructions included in your SDK “Tools Only” download.
|
||||
|
||||
If you are still having trouble setting up fastboot, <a href="https://youtu.be/W_zlydVBftA" target="_blank">click here</a> for a short tutorial video
|
||||
|
||||
2 - **Boot HiKey into Fastboot mode using J15 header**
|
||||
|
||||
- Link pins 1 and 2
|
||||
- Link pins 5 and 6
|
||||
- Connect host computer to HiKey board using USB to microUSB cable
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | open
|
||||
GPIO3-1 | Link 5-6 | closed
|
||||
|
||||
- Power on HiKey board by plugging in power adapter
|
||||
- Esure HiKey is detected by host computere
|
||||
- Open Terminal application and execute the following:
|
||||
|
||||
```shell
|
||||
$ sudo fastboot devices
|
||||
0123456789abcdef fastboot
|
||||
```
|
||||
|
||||
>Note: If your HiKey is not being detected by fastboot, you might want to try [Board Recovery](https://github.com/96boards/documentation/wiki/HiKey-Board-Recovery) and return to this step once your board is ready
|
||||
|
||||
3 - **Set HiKey into Recovery Mode using J15 header**
|
||||
|
||||
- Remove link between pins 5 and 6
|
||||
- Link pins 1 and 2
|
||||
- Link pins 3 and 4
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | closed
|
||||
GPIO3-1 | Link 5-6 | open
|
||||
|
||||
4 - **Install Operating System update using downloaded files**
|
||||
|
||||
>**NOTE:** the ptable must be flashed first. Wait for a few seconds after the reboot command to allow the bootloader to restart using the new partition table.
|
||||
|
||||
```shell
|
||||
$ sudo fastboot flash ptable ptable-aosp-8g.img
|
||||
$ sudo fastboot reboot
|
||||
$ sudo fastboot flash boot boot_fat.uefi.img
|
||||
$ sudo fastboot flash cache cache.img
|
||||
$ sudo fastboot flash system system.img
|
||||
$ sudo fastboot flash userdata userdata-8gb.img
|
||||
```
|
||||
|
||||
5 - **Reboot HiKey into new OS**
|
||||
|
||||
- Wait untill all files have been flashed onto HiKey board
|
||||
- Power down HiKey by unplugging the power adapter
|
||||
- Remove microUSB cable from HiKey
|
||||
- Remove Link 3-4 from J15 header
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | open
|
||||
GPIO3-1 | Link 5-6 | open
|
||||
|
||||
- Plug mouse/keyboard USB into type A USB ports
|
||||
- Power up HiKey by plugging in power adapter
|
||||
|
||||
|
||||
**Note:** the **username** and **password** are both **“linaro”** when the login information is requested.
|
||||
|
||||
**Congratulations! You are now booting your newly installed OS directly
|
||||
from eMMC on the HiKey!**
|
|
@ -0,0 +1,111 @@
|
|||
<img src="http://i.imgur.com/jl4GG0d.png" data-canonical-src="http://i.imgur.com/jl4GG0d.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/OQGR5yY.png" data-canonical-src="http://i.imgur.com/OQGR5yY.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/tXXN5bZ.png" data-canonical-src="http://i.imgur.com/tXXN5bZ.png" width="125" height="157" />
|
||||
|
||||
***
|
||||
|
||||
#### Step 1: Read about the Fastboot Method
|
||||
|
||||
Fastboot is supported by the board and can be used for installs. This is for advanced users who are most likely modifying/customizing source code and will need to download such updates to the board for test/execution.
|
||||
|
||||
This method requires the following hardware:
|
||||
- HiKey with power supply
|
||||
- Host machine (Linux, Mac OS X, or Windows)
|
||||
- USB to microUSB cable
|
||||
- USB Mouse and/or keyboard (not required to perform flash)
|
||||
- HDMI Monitor with full size HDMI cable (not required to perform flash)
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download Debian partition table
|
||||
|
||||
> Note: Some files have 4G and 8G options, download file which best matches your HiKey board.
|
||||
|
||||
- All HiKey **CircuitCo boards** will use the **4G files**
|
||||
- All HiKey **LeMaker 1G boards** will use the **4G files**
|
||||
- All HiKey **LeMaker 2G boards** will use the **8G files**
|
||||
|
||||
**ptable-linux.img** ([**4G Download**](https://builds.96boards.org/releases/reference-platform/debian/hikey/16.03/bootloader/ptable-linux-4g.img) / [**8G Download**](https://builds.96boards.org/releases/reference-platform/debian/hikey/16.03/bootloader/ptable-linux-8g.img))
|
||||
|
||||
***
|
||||
|
||||
#### Step 3: Download Boot image and Root File System
|
||||
|
||||
- **Debian Boot** ([**Download**](https://builds.96boards.org/releases/reference-platform/debian/hikey/16.03/hikey-boot-linux-*.uefi.img.gz))
|
||||
- **Debian Rootfs** (<a href="https://builds.96boards.org/releases/reference-platform/debian/hikey/16.03/hikey-rootfs-debian-jessie-alip-*.emmc.img.gz" target="_blank">**Download**</a>)
|
||||
|
||||
|
||||
***
|
||||
|
||||
#### Step 4: Install Debian Using Fastboot with Linux host
|
||||
|
||||
This section show how to install the Linaro based Debian operating system to your HiKey using the fastboot method on a Linux host computer.
|
||||
|
||||
|
||||
|
||||
1 - **Make sure fastboot is set up on host computer**
|
||||
|
||||
- Android SDK “Tools only” for Linux can be downloaded <a href="http://developer.android.com/sdk" target="_blank">here</a>
|
||||
- The Linux “Tools Only” SDK download does not come with fastboot, you will need to use the Android SDK Manager to install platform-tools.
|
||||
- To do this follow the “SDK Readme.txt” instructions included in your SDK “Tools Only” download.
|
||||
|
||||
If you are still having trouble setting up fastboot, <a href="https://youtu.be/W_zlydVBftA" target="_blank">click here</a> for a short tutorial video
|
||||
|
||||
2 - **Boot HiKey into Fastboot mode using J15 header**
|
||||
|
||||
- Link pins 1 and 2
|
||||
- Link pins 5 and 6
|
||||
- Connect host computer to HiKey board using USB to microUSB cable
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | open
|
||||
GPIO3-1 | Link 5-6 | closed
|
||||
|
||||
- Power on HiKey board by plugging in power adapter
|
||||
- Esure HiKey is detected by host computere
|
||||
- Wait for about 10 seconds
|
||||
- Open Terminal application and execute the following:
|
||||
|
||||
```shell
|
||||
$ sudo fastboot devices
|
||||
0123456789abcdef fastboot
|
||||
```
|
||||
|
||||
>Note: If your HiKey is not being detected by fastboot, you might want to try [Board Recovery](https://github.com/96boards/documentation/wiki/HiKey-Board-Recovery) and return to this step once your board is ready
|
||||
|
||||
3 - **Install Operating System update using downloaded files**
|
||||
|
||||
>**NOTE:** the ptable must be flashed first. Wait for a few seconds after the reboot command to allow the bootloader to restart using the new partition table.
|
||||
|
||||
```shell
|
||||
$ sudo fastboot flash ptable <ptable_FILE_NAME>.img
|
||||
$ sudo fastboot reboot
|
||||
$ sudo fastboot flash boot <boot_FILE_NAME>.uefi.img
|
||||
$ sudo fastboot flash system hikey-jessie_alip_2015MMDD-nnn-Xg.emmc.img
|
||||
```
|
||||
|
||||
4 - **Reboot HiKey into new OS**
|
||||
|
||||
- Wait untill all files have been flashed onto HiKey board
|
||||
- Power down HiKey by unplugging the power adapter
|
||||
- Remove microUSB cable from HiKey
|
||||
- Remove Link 5-6 from J15 header
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | open
|
||||
GPIO3-1 | Link 5-6 | open
|
||||
|
||||
- Plug mouse/keyboard USB into type A USB ports
|
||||
- Power up HiKey by plugging in power adapter
|
||||
|
||||
|
||||
**Note:** the **username** and **password** are both **“linaro”** when the login information is requested.
|
||||
|
||||
**Congratulations! You are now booting your newly installed OS directly
|
||||
from eMMC on the HiKey!**
|
|
@ -0,0 +1,24 @@
|
|||
# HiKey Reference Platform Build - 16.03
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
- **Test Report:** Provides test results and bug status for kernel, firmware, and images with a straight forward pass/fail legend.
|
||||
|
||||
***
|
||||
|
||||
#### HiKey
|
||||
|
||||
|
||||
|
||||
| **CE Debian RPB - 16.03** | **CE AOSP RPB - 16.03** |
|
||||
|:-----------------------------:|:---------------------------:|
|
||||
| [Install Instructions](InstallDebianRPB-16.03.md) | [Install Instructions](InstallAOSPRPB-16.03.md) |
|
||||
| [Build from Source](BFSDebianRPB-16.03.md) | [Build from Source](BFSAOSPRPB-16.03.md) |
|
||||
| [Known issues](../../Known-Issues.md) | [Known issues](../../Known-Issues.md) |
|
||||
| [Test Report](https://builds.96boards.org/releases/reference-platform/debian/hikey/16.03/CE-Debian-RPB-16.03-HiKey-TestReport.pdf) | [Test Report](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/CE-AOSP-RPB-16.03-HiKey-TestReport.pdf) |
|
||||
|
||||
|
||||
***
|
||||
|
||||
Access **bootloader** build from source instructions [here](BuildSourceBL.md)
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
### LeMaker Cello
|
||||
|
||||
***
|
||||
|
||||
### Critical Bug List
|
||||
|
||||
As both USB and the PCIe slot are not yet functional (hardware issues), the only way to currently start the installer is via SATA (CD-ROM, or flashed in a SATA disk). Once we get a functional Realtek UEFI driver, it will also be possible to PXE boot the installer.
|
||||
|
||||
Please also check bugs [2194](https://bugs.linaro.org/show_bug.cgi?id=2194), [2195](https://bugs.linaro.org/show_bug.cgi?id=2195) and [2196](https://bugs.linaro.org/show_bug.cgi?id=2196) for the known issues.
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
The [UEFI/EDK2 guide for EE](../UEFI-EDK2-Guide-EE.md) provides information on how to flash the boot firmware for Cello (EDK2).
|
||||
|
||||
Since the EDK2 based firmware is not yet public (work in progress), internal access to the tree/binary is required. Email your board point of contact for further information on how to download the required firmware.
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.03)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.03/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.03 release, the kernel is based on *4.4.0*.
|
||||
|
||||
### Quick Start
|
||||
|
||||
Booting from the network is not yet supported due lack of a binary UEFI driver for RTL8111GS, so installing from a physical medium is required (CD-ROM, SATA disk). USB and micro SD is not yet recognized by the UEFI firmware.
|
||||
|
||||
##### Flashing the firmware
|
||||
|
||||
Follow the instructions available as part of the [UEFI EDK2 Guide](../UEFI-EDK2-Guide-EE.md#amd-overdrive) in order to flash your LeMaker Cello. The tested flashing process requires [DediProg SF100](http://www.dediprog.com/pd/spi-flash-solution/SF100) or [SPI Hook](http://www.tincantools.com/SPI_Hook.html).
|
||||
|
||||
### Distro Installers
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../Install-Debian-Jessie.md#loading-debian-installer-from-the-minimal-cd) - Using the minimum ISO
|
||||
* [CentOS 7](../Install-CentOS-7.md)
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,64 @@
|
|||
### D02
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
The [UEFI/EDK2 guide for EE](../UEFI-EDK2-Guide-EE.md) provides information about building and flashing the boot firmware for D02.
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.03)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.03/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.03 release, the kernel is based on *4.4.0*.
|
||||
|
||||
For future releases we will also have kernel config fragments for key functionality that will make it easier for other projects and distributions to consume.
|
||||
|
||||
The Reference Platform kernel will act as an integration point (very similar to linux-next) for various upstream-targeted features and platform-enablement code on the latest kernel. Please read the [kernel policy](../../KernelPolicy.md) on how this kernel will be maintained. It is not meant to be a stable kernel - the [LSK](https://wiki.linaro.org/LSK) is already available for that.
|
||||
|
||||
### Quick Start
|
||||
|
||||
#### D02 - QuickStart
|
||||
|
||||
UEFI/EDK2 is supported by D02 (with build from source instructions available as part of the [UEFI EDK2 Guide](../UEFI-EDK2-Guide-EE.md#building), and since ACPI support is new, please make sure you are using the latest firmware available at [https://builds.96boards.org/releases/reference-platform/components/uefi/16.03/release/d02/](https://builds.96boards.org/releases/reference-platform/components/uefi/16.03/release/d02/) before proceeding with kernel testing or installing your favorite distribution (and please make sure to report your firmware version when reporting issues and bugs).
|
||||
|
||||
**NOTE:** 16.03 kernel **requires** the 16.03 UEFI/EDK2 firmware release!
|
||||
|
||||
##### Flashing the firmware
|
||||
|
||||
Follow the instructions available as part of the [UEFI EDK2 Guide](../UEFI-EDK2-Guide-EE.md#d02) in order to flash your D02. The tested flashing process only requires access to a TFTP server, since the firmware supports fetching the firmware from the network.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../Install-CentOS-7.md)
|
||||
|
||||
Enterprise Test Reports: ([Debian](https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/EE-Debian-RPB-16.03-TestReport.pdf) / [CentOS](https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/EE-CentOS-RPB-16.03-TestReport.pdf))
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,64 @@
|
|||
### D03
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
The [UEFI/EDK2 guide for EE](../UEFI-EDK2-Guide-EE.md) provides information about building and flashing the boot firmware for D03.
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.06/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.03 release, the kernel is based on *4.4.11*.
|
||||
|
||||
For future releases we will also have kernel config fragments for key functionality that will make it easier for other projects and distributions to consume.
|
||||
|
||||
The Reference Platform kernel will act as an integration point (very similar to linux-next) for various upstream-targeted features and platform-enablement code on the latest kernel. Please read the [kernel policy](../../KernelPolicy.md) on how this kernel will be maintained. It is not meant to be a stable kernel - the [LSK](https://wiki.linaro.org/LSK) is already available for that.
|
||||
|
||||
### Quick Start
|
||||
|
||||
#### D03 - QuickStart
|
||||
|
||||
UEFI/EDK2 is supported by D03 (with build from source instructions available as part of the [UEFI EDK2 Guide](../UEFI-EDK2-Guide-EE.md#building), and since ACPI support is new, please make sure you are using the latest firmware available at [https://builds.96boards.org/snapshots/reference-platform/components/uefi/latest/release/d03/](https://builds.96boards.org/snapshots/reference-platform/components/uefi/latest/release/d03/) before proceeding with kernel testing or installing your favorite distribution (and please make sure to report your firmware version when reporting issues and bugs).
|
||||
|
||||
**NOTE:** 16.06 kernel **requires** the 16.06 UEFI/EDK2 firmware release!
|
||||
|
||||
##### Flashing the firmware
|
||||
|
||||
Follow the instructions available as part of the [UEFI EDK2 Guide](../UEFI-EDK2-Guide-EE.md#d03) in order to flash your D03. The tested flashing process only requires access to a TFTP server, since the firmware supports fetching the firmware from the network.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../Install-CentOS-7.md)
|
||||
|
||||
Enterprise Test Reports: ([Debian](https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/EE-Debian-RPB-16.06-TestReport.pdf) / [CentOS](https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/EE-CentOS-RPB-16.06-TestReport.pdf))
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,44 @@
|
|||
## Setting up DHCP/TFTP server for UEFI distro network installers
|
||||
|
||||
A simple way to install the major Linux Distributions (e.g. Debian, Fedora, CentOS, openSUSE, etc) is by booting the network installer via PXE. In order to have a working PXE environment, a DHCP and TFTP server is required, which is responsible for providing the target device a valid IP configuration and the required files to boot the system (usually Grub 2 + kernel + initrd).
|
||||
|
||||
In order to simplify the setup, this document will use dnsmasq, which is a lightweight, easy to configure DNS forwarder and DHCP server with BOOTP/TFTP/PXE functionality.
|
||||
|
||||
### Installing and configuring dnsmasq
|
||||
|
||||
Debian/Ubuntu:
|
||||
|
||||
```shell
|
||||
sudo apt-get install dnsmasq
|
||||
```
|
||||
|
||||
Fedora/CentOS/RHEL:
|
||||
|
||||
```shell
|
||||
yum install dnsmasq
|
||||
```
|
||||
|
||||
This guide assumes you already know the network interface that will provide the DHCP/TFTP/PXE functionality for the target device. In this case, we are using _eth1_ as our secondary interface, with address _192.168.3.1_.
|
||||
|
||||
Following is the /etc/dnsmasq.conf providing the required functionality for PXE:
|
||||
|
||||
```shell
|
||||
interface=eth1
|
||||
dhcp-range=192.168.3.10,192.168.3.100,255.255.255.0,1h
|
||||
dhcp-boot=BOOTAA64.EFI
|
||||
enable-tftp
|
||||
tftp-root=/srv/tftp
|
||||
```
|
||||
|
||||
Check [http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html](http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) for more information and additional dnsmasq config options.
|
||||
|
||||
Now make sure the tftp-root directory is available, and then start/restart the dnsmasq service:
|
||||
|
||||
```shell
|
||||
sudo mkdir -p /srv/tftp
|
||||
sudo systemctl restart dnsmasq
|
||||
```
|
||||
|
||||
Since we require UEFI support for the Reference Platform Software Enterprise Edition (EE-RPB), this document doesn't cover the traditional pxelinux specific configuration (used with the traditional BIOS setup).
|
||||
|
||||
For UEFI, we only require DHCP to provide the UEFI binary name (retrieved via TFTP), which in this case is the Grub 2 bootloader (which then loads the kernel, initrd and other extra files from the TFTP server).
|
|
@ -0,0 +1,52 @@
|
|||
### HP ProLiant m400
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
TBD
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.03)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.03/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.03 release, the kernel is based on *4.4.0*.
|
||||
|
||||
For future releases we will also have kernel config fragments for key functionality that will make it easier for other projects and distributions to consume.
|
||||
|
||||
The Reference Platform kernel will act as an integration point (very similar to linux-next) for various upstream-targeted features and platform-enablement code on the latest kernel. Please read the [kernel policy](../../KernelPolicy.md) on how this kernel will be maintained. It is not meant to be a stable kernel - the [LSK](https://wiki.linaro.org/LSK) is already available for that.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../Install-CentOS-7.md)
|
||||
|
||||
Enterprise Test Reports: ([Debian](https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/EE-Debian-RPB-16.03-TestReport.pdf) / [CentOS](https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/EE-CentOS-RPB-16.03-TestReport.pdf))
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,216 @@
|
|||
## Installing CentOS 7.2 15.11 - Reference Platform Enterprise
|
||||
|
||||
This guide is not to be a replacement of the official CentOS Installer documentation, but instead be a quick walkthrough for the network installer. You can find the original documentation at [https://wiki.centos.org/SpecialInterestGroup/AltArch/AArch64](https://wiki.centos.org/SpecialInterestGroup/AltArch/AArch64)
|
||||
|
||||
### Setting up the TFTP server
|
||||
|
||||
Back to your dnsmasq server (check [this link](DHCP-TFTP-Server-UEFI.md) for instructions on how to setup your own TFTP/DCHP server), download the required CentOS 7 installer files at your tftp-root directory. In this example, this directory is configured to `/srv/tftp`.
|
||||
|
||||
Downloading required Grub 2 UEFI files:
|
||||
|
||||
```shell
|
||||
sudo su -
|
||||
cd /srv/tftp/
|
||||
wget http://mirror.centos.org/altarch/7/os/aarch64/EFI/BOOT/BOOTAA64.EFI
|
||||
wget http://mirror.centos.org/altarch/7/os/aarch64/EFI/BOOT/grubaa64.efi
|
||||
```
|
||||
|
||||
#### Downloading the CentOS installer from the Reference Platform 16.03 release (4.4.0 RP Kernel):
|
||||
|
||||
```shell
|
||||
mkdir /srv/tftp/centos7
|
||||
cd /srv/tftp/centos7
|
||||
wget https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/images/pxeboot/vmlinuz
|
||||
wget https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/images/pxeboot/initrd.img
|
||||
```
|
||||
|
||||
Creating the Grub 2 config file (`grub.cfg`):
|
||||
|
||||
```shell
|
||||
menuentry 'Install CentOS 7 ARM 64-bit - Reference Platform - 16.03' --class red --class gnu-linux --class gnu --class os {
|
||||
linux (tftp)/centos7/vmlinuz ip=dhcp inst.stage2=https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/ inst.repo=http://mirror.centos.org/altarch/7/os/aarch64/ inst.ks=file:/ks.cfg
|
||||
initrd (tftp)/centos7/initrd.img
|
||||
}
|
||||
```
|
||||
|
||||
**Note:** `inst.ks` is required because of the additional linaro-overlay repository (which contains the reference platform kernel rpm package), which is available inside the `initrd.img`. The `inst.ks` contains only one line, which is used by the installer to fetch and install the right kernel package. The content: `repo --name="linaro-overlay" --baseurl=http://repo.linaro.org/rpm/linaro-overlay/centos-7/repo/`.
|
||||
|
||||
Also check the [RHEL 7](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/chap-anaconda-boot-options.html) and the [anaconda documentation](https://rhinstaller.github.io/anaconda/boot-options.html) for additional boot options. One example is using **ip=eth1:dhcp** if you want to use the second network interface as default.
|
||||
|
||||
You should now have the following file tree structure:
|
||||
|
||||
```shell
|
||||
/srv/tftp/
|
||||
├── BOOTAA64.EFI
|
||||
├── centos7
|
||||
│ ├── initrd.img
|
||||
│ └── vmlinuz
|
||||
├── grubaa64.efi
|
||||
└── grub.cfg
|
||||
```
|
||||
|
||||
Now just make sure that @/etc/dnsmasq.conf@ is pointing out to the right boot file, like:
|
||||
|
||||
```shell
|
||||
dhcp-boot=BOOTAA64.EFI
|
||||
```
|
||||
|
||||
### Booting the installer
|
||||
|
||||
Now boot your platform of choice, selecting PXE boot when presented by UEFI (make sure to boot with the right network interface, in case more than one is available).
|
||||
|
||||
You should see the following (using AMD Seattle's Overdrive as example):
|
||||
|
||||
```shell
|
||||
NOTICE: BL3-1:
|
||||
NOTICE: BL3-1: Built : 15:14:55, Feb 9 2016
|
||||
INFO: BL3-1: Initializing runtime services
|
||||
INFO: BL3-1: Preparing for EL3 exit to normal world
|
||||
INFO: BL3-1: Next image address = 0x8000e80000
|
||||
INFO: BL3-1: Next image spsr = 0x3c9
|
||||
Boot firmware (version built at 15:18:14 on Feb 9 2016)
|
||||
Version 2.17.1249. Copyright (C) 2016 American Megatrends, Inc.
|
||||
BIOS Date: 02/09/2016 15:15:23 Ver: ROD1001A00
|
||||
Press <DEL> or <ESC> to enter setup.
|
||||
.
|
||||
>>Checking Media Presence......
|
||||
>>Media Present......
|
||||
>>Start PXE over IPv4.
|
||||
Station IP address is 192.168.3.57
|
||||
Server IP address is 192.168.3.1
|
||||
NBP filename is BOOTAA64.EFI
|
||||
NBP filesize is 885736 Bytes
|
||||
>>Checking Media Presence......
|
||||
>>Media Present......
|
||||
Downloading NBP file...
|
||||
Succeed to download NBP file.
|
||||
Fetching Netboot Image
|
||||
```
|
||||
|
||||
At this stage you should be able to see the Grub 2 menu, like:
|
||||
|
||||
```shell
|
||||
Install CentOS 7 ARM 64-bit - Reference Platform - 16.03
|
||||
.
|
||||
Use the and keys to change the selection.
|
||||
Press 'e' to edit the selected item, or 'c' for a command prompt.
|
||||
```
|
||||
|
||||
Now just hit enter and wait for the kernel and initrd to load, which automatically loads the installer and provides you the installer console menu, so you can finally install CentOS 7.
|
||||
|
||||
You should see the following:
|
||||
|
||||
```shell
|
||||
EFI stub: Booting Linux Kernel...
|
||||
EFI stub: Using DTB from configuration table
|
||||
EFI stub: Exiting boot services and installing virtual address map...
|
||||
[ 0.000000] Booting Linux on physical CPU 0x0
|
||||
[ 0.000000] Initializing cgroup subsys cpuset
|
||||
[ 0.000000] Initializing cgroup subsys cpu
|
||||
[ 0.000000] Initializing cgroup subsys cpuacct
|
||||
[ 0.000000] Linux version 4.4.0-reference.104.aarch64 (buildslave@r2-a19) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Tue Mar 1 20:52:15 UTC 2016
|
||||
[ 0.000000] Boot CPU: AArch64 Processor [411fd072]
|
||||
[ 0.000000] efi: Getting EFI parameters from FDT:
|
||||
[ 0.000000] EFI v2.40 by American Megatrends
|
||||
[ 0.000000] efi: ACPI 2.0=0x83ff1c3000 SMBIOS 3.0=0x83ff347798
|
||||
...
|
||||
Welcome to CentOS Linux 7 (AltArch) dracut-033-359.el7 (Initramfs)!
|
||||
...
|
||||
dracut-initqueue[610]: RTNETLINK answers: File exists
|
||||
dracut-initqueue[610]: % Total % Received % Xferd Average Speed Time Time Time Current
|
||||
dracut-initqueue[610]: Dload Upload Total Spent Left Speed
|
||||
100 287 100 287 0 0 390 0 --:--:-- --:--:-- --:--:-- 389:--:-- --:--:-- 0
|
||||
...
|
||||
Welcome to CentOS Linux 7 (AltArch)!
|
||||
...
|
||||
Starting installer, one moment...
|
||||
anaconda 21.48.22.56-1 for CentOS Linux AltArch 7 started.
|
||||
* installation log files are stored in /tmp during the installation
|
||||
* shell is available on TTY2
|
||||
* if the graphical installation interface fails to start, try again with the
|
||||
inst.text bootoption to start text installation
|
||||
* when reporting a bug add logs from /tmp as separate text/plain attachments
|
||||
21:06:29 X startup failed, falling back to text mode
|
||||
================================================================================
|
||||
================================================================================
|
||||
VNC
|
||||
.
|
||||
X was unable to start on your machine. Would you like to start VNC to connect t
|
||||
o this computer from another computer and perform a graphical installation or co
|
||||
ntinue with a text mode installation?
|
||||
.
|
||||
1) Start VNC
|
||||
.
|
||||
2) Use text mode
|
||||
.
|
||||
Please make your choice from above ['q' to quit | 'c' to continue |
|
||||
'r' to refresh]: 2
|
||||
[anaconda] 1:main* 2:shell 3:log 4:storage-log 5:program-log
|
||||
```
|
||||
|
||||
For the text mode installer, just enter `2` and follow the instructions available in the console.
|
||||
|
||||
Menu items without that are not `[x]` must be set. Enter the menu number associated with the menu in order to configure it.
|
||||
|
||||
### Finishing the installation
|
||||
|
||||
After selecting the install destination, partitioning scheme, root password and users (optional), just enter `b` to proceed with the installation.
|
||||
|
||||
Once the installation is completed, you should be able to simply reboot the system in order to boot into your new CentOS 7 system.
|
||||
|
||||
### Automating the installation with kickstart
|
||||
|
||||
It is possible to fully automate the installer by providing a file called kickstart. The kickstart file is a plain text file, containing keywords that serve as directions for the installation. Check the RHEL 7 [kickstart guide](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-kickstart-howto.html) for further information about how to create your own kickstart file.
|
||||
|
||||
Kickstart example:
|
||||
|
||||
```shell
|
||||
cmdline
|
||||
url --url="http://mirror.centos.org/altarch/7/os/aarch64/"
|
||||
repo --name="CentOS" --baseurl=http://mirror.centos.org/altarch/7/os/aarch64/
|
||||
repo --name="Updates" --baseurl=http://mirror.centos.org/altarch/7/updates/aarch64/
|
||||
repo --name="linaro-overlay" --baseurl=http://repo.linaro.org/rpm/linaro-overlay/centos-7/repo/
|
||||
lang en_US.UTF-8
|
||||
keyboard us
|
||||
timezone --utc Etc/UTC
|
||||
auth --useshadow --passalgo=sha512
|
||||
rootpw --lock --iscrypted locked
|
||||
firewall --disabled
|
||||
firstboot --disabled
|
||||
selinux --disabled
|
||||
reboot
|
||||
network --bootproto=dhcp --device=eth0 --activate --onboot=on
|
||||
ignoredisk --only-use=sda
|
||||
bootloader --location=mbr
|
||||
clearpart --drives=sda --all --initlabel
|
||||
part /boot/efi --fstype=efi --grow --maxsize=200 --size=20
|
||||
part /boot --fstype=ext4 --size=512
|
||||
part / --fstype=ext4 --size=10240 --grow
|
||||
part swap --size=4000
|
||||
%packages
|
||||
wget
|
||||
net-tools
|
||||
chrony
|
||||
%end
|
||||
%post
|
||||
useradd -m -U -G wheel linaro
|
||||
echo linaro | passwd linaro --stdin
|
||||
%end
|
||||
```
|
||||
|
||||
#### Setting up grub.cfg
|
||||
|
||||
Now back to your tftp server, change the original grub.cfg file adding the location of your kickstart file:
|
||||
|
||||
```shell
|
||||
menuentry 'Install CentOS 7 ARM 64-bit - Reference Platform - 16.03' --class red --class gnu-linux --class gnu --class os {
|
||||
linux (tftp)/centos7/vmlinuz ip=dhcp inst.stage2=https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/ inst.ks=http://people.linaro.org/~ricardo.salveti/centos-ks.cfg
|
||||
initrd (tftp)/centos7/initrd.img
|
||||
}
|
||||
```
|
||||
|
||||
In case your system contains more than one network interface, also make sure to add the one to be used via the `ip` argument, like `ip=eth0:dhcp`.
|
||||
|
||||
#### Booting the system
|
||||
|
||||
Now just do a normal PXE boot, and anaconda should automatically load and use the kickstart file provided by grub.cfg. In case there is still a dialog that stops your installation that means not all the installer options are provided by your kickstart file. Get back to official documentation and try to find out what is the missing step.
|
|
@ -0,0 +1,522 @@
|
|||
## Installing Debian "Jessie" 8.4
|
||||
|
||||
This guide is not to be a replacement of the official Debian Installer documentation, but instead be a quick walkthrough for the network installer. You can find the original documentation at [https://www.debian.org/releases/jessie/arm64/index.html.en](https://www.debian.org/releases/jessie/arm64/index.html.en)
|
||||
|
||||
### Debian Installer
|
||||
|
||||
The released debian-installer from Debian Jessie contains a kernel based on 3.16, which doesn't yet provide support for development boards used by the reference software project. For a complete enterprise experience (including support for tip-based kernel with ACPI support and additional platforms), we also build and publish a custom debian installer that incorporates a more recent kernel.
|
||||
|
||||
Our custom installer changes nothing more than the kernel, and you can also find the instructions to build it from source at the end of this document.
|
||||
|
||||
## Loading debian-installer from the network
|
||||
### Setting up the TFTP server
|
||||
|
||||
Back to your dnsmasq server (check [this link](../DHCP-TFTP-Server-UEFI.md) for instructions on how to setup your own TFTP/DCHP server), download the required Debian installer files at your tftp-root directory. In this example, this directory is configured to `/srv/tftp`.
|
||||
|
||||
Since the kernel, initrd and GRUB 2 is part of the debian-installer tarball (`netboot.tar.gz`), that is the only file you will need to download and use.
|
||||
|
||||
#### Downloading debian-installer:
|
||||
|
||||
```shell
|
||||
sudo su -
|
||||
cd /srv/tftp/
|
||||
wget https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/netboot.tar.gz
|
||||
tar -zxvf netboot.tar.gz
|
||||
```
|
||||
|
||||
You should now have the following file tree structure:
|
||||
|
||||
```shell
|
||||
/srv/tftp/
|
||||
├── debian-installer
|
||||
│ └── arm64
|
||||
│ ├── bootnetaa64.efi
|
||||
│ ├── grub
|
||||
│ │ ├── arm64-efi
|
||||
│ │ │ ├── acpi.mod
|
||||
│ │ │ ├── adler32.mod
|
||||
│ │ │ ├── all_video.mod
|
||||
│ │ │ ├── archelp.mod
|
||||
│ │ │ ├── bfs.mod
|
||||
│ │ │ ├── bitmap.mod
|
||||
│ │ │ ├── bitmap_scale.mod
|
||||
│ │ │ ├── blocklist.mod
|
||||
│ │ │ ├── boot.mod
|
||||
│ │ │ ├── btrfs.mod
|
||||
│ │ │ ├── bufio.mod
|
||||
│ │ │ ├── cat.mod
|
||||
│ │ │ ├── cbfs.mod
|
||||
│ │ │ ├── chain.mod
|
||||
│ │ │ ├── cmdline_cat_test.mod
|
||||
│ │ │ ├── cmp.mod
|
||||
│ │ │ ├── command.lst
|
||||
│ │ │ ├── cpio_be.mod
|
||||
│ │ │ ├── cpio.mod
|
||||
│ │ │ ├── crc64.mod
|
||||
│ │ │ ├── cryptodisk.mod
|
||||
│ │ │ ├── crypto.lst
|
||||
│ │ │ ├── crypto.mod
|
||||
│ │ │ ├── datehook.mod
|
||||
│ │ │ ├── date.mod
|
||||
│ │ │ ├── datetime.mod
|
||||
│ │ │ ├── diskfilter.mod
|
||||
│ │ │ ├── disk.mod
|
||||
│ │ │ ├── div_test.mod
|
||||
│ │ │ ├── dm_nv.mod
|
||||
│ │ │ ├── echo.mod
|
||||
│ │ │ ├── efifwsetup.mod
|
||||
│ │ │ ├── efi_gop.mod
|
||||
│ │ │ ├── efinet.mod
|
||||
│ │ │ ├── elf.mod
|
||||
│ │ │ ├── eval.mod
|
||||
│ │ │ ├── exfat.mod
|
||||
│ │ │ ├── exfctest.mod
|
||||
│ │ │ ├── ext2.mod
|
||||
│ │ │ ├── extcmd.mod
|
||||
│ │ │ ├── fat.mod
|
||||
│ │ │ ├── file.mod
|
||||
│ │ │ ├── font.mod
|
||||
│ │ │ ├── fs.lst
|
||||
│ │ │ ├── gcry_arcfour.mod
|
||||
│ │ │ ├── gcry_blowfish.mod
|
||||
│ │ │ ├── gcry_camellia.mod
|
||||
│ │ │ ├── gcry_cast5.mod
|
||||
│ │ │ ├── gcry_crc.mod
|
||||
│ │ │ ├── gcry_des.mod
|
||||
│ │ │ ├── gcry_dsa.mod
|
||||
│ │ │ ├── gcry_idea.mod
|
||||
│ │ │ ├── gcry_md4.mod
|
||||
│ │ │ ├── gcry_md5.mod
|
||||
│ │ │ ├── gcry_rfc2268.mod
|
||||
│ │ │ ├── gcry_rijndael.mod
|
||||
│ │ │ ├── gcry_rmd160.mod
|
||||
│ │ │ ├── gcry_rsa.mod
|
||||
│ │ │ ├── gcry_seed.mod
|
||||
│ │ │ ├── gcry_serpent.mod
|
||||
│ │ │ ├── gcry_sha1.mod
|
||||
│ │ │ ├── gcry_sha256.mod
|
||||
│ │ │ ├── gcry_sha512.mod
|
||||
│ │ │ ├── gcry_tiger.mod
|
||||
│ │ │ ├── gcry_twofish.mod
|
||||
│ │ │ ├── gcry_whirlpool.mod
|
||||
│ │ │ ├── geli.mod
|
||||
│ │ │ ├── gettext.mod
|
||||
│ │ │ ├── gfxmenu.mod
|
||||
│ │ │ ├── gfxterm_background.mod
|
||||
│ │ │ ├── gfxterm_menu.mod
|
||||
│ │ │ ├── gfxterm.mod
|
||||
│ │ │ ├── gptsync.mod
|
||||
│ │ │ ├── grub.cfg
|
||||
│ │ │ ├── gzio.mod
|
||||
│ │ │ ├── halt.mod
|
||||
│ │ │ ├── hashsum.mod
|
||||
│ │ │ ├── help.mod
|
||||
│ │ │ ├── hexdump.mod
|
||||
│ │ │ ├── hfs.mod
|
||||
│ │ │ ├── hfspluscomp.mod
|
||||
│ │ │ ├── hfsplus.mod
|
||||
│ │ │ ├── http.mod
|
||||
│ │ │ ├── jfs.mod
|
||||
│ │ │ ├── jpeg.mod
|
||||
│ │ │ ├── keystatus.mod
|
||||
│ │ │ ├── ldm.mod
|
||||
│ │ │ ├── linux.mod
|
||||
│ │ │ ├── loadenv.mod
|
||||
│ │ │ ├── loopback.mod
|
||||
│ │ │ ├── lsacpi.mod
|
||||
│ │ │ ├── lsefimmap.mod
|
||||
│ │ │ ├── lsefi.mod
|
||||
│ │ │ ├── lsefisystab.mod
|
||||
│ │ │ ├── lsmmap.mod
|
||||
│ │ │ ├── ls.mod
|
||||
│ │ │ ├── lssal.mod
|
||||
│ │ │ ├── luks.mod
|
||||
│ │ │ ├── lvm.mod
|
||||
│ │ │ ├── lzopio.mod
|
||||
│ │ │ ├── macbless.mod
|
||||
│ │ │ ├── macho.mod
|
||||
│ │ │ ├── mdraid09_be.mod
|
||||
│ │ │ ├── mdraid09.mod
|
||||
│ │ │ ├── mdraid1x.mod
|
||||
│ │ │ ├── memrw.mod
|
||||
│ │ │ ├── minicmd.mod
|
||||
│ │ │ ├── minix2_be.mod
|
||||
│ │ │ ├── minix2.mod
|
||||
│ │ │ ├── minix3_be.mod
|
||||
│ │ │ ├── minix3.mod
|
||||
│ │ │ ├── minix_be.mod
|
||||
│ │ │ ├── mmap.mod
|
||||
│ │ │ ├── moddep.lst
|
||||
│ │ │ ├── mpi.mod
|
||||
│ │ │ ├── msdospart.mod
|
||||
│ │ │ ├── net.mod
|
||||
│ │ │ ├── newc.mod
|
||||
│ │ │ ├── normal.mod
|
||||
│ │ │ ├── ntfscomp.mod
|
||||
│ │ │ ├── ntfs.mod
|
||||
│ │ │ ├── odc.mod
|
||||
│ │ │ ├── offsetio.mod
|
||||
│ │ │ ├── part_acorn.mod
|
||||
│ │ │ ├── part_amiga.mod
|
||||
│ │ │ ├── part_apple.mod
|
||||
│ │ │ ├── part_bsd.mod
|
||||
│ │ │ ├── part_dfly.mod
|
||||
│ │ │ ├── part_dvh.mod
|
||||
│ │ │ ├── part_gpt.mod
|
||||
│ │ │ ├── partmap.lst
|
||||
│ │ │ ├── part_msdos.mod
|
||||
│ │ │ ├── part_plan.mod
|
||||
│ │ │ ├── part_sun.mod
|
||||
│ │ │ ├── part_sunpc.mod
|
||||
│ │ │ ├── parttool.lst
|
||||
│ │ │ ├── parttool.mod
|
||||
│ │ │ ├── password.mod
|
||||
│ │ │ ├── password_pbkdf2.mod
|
||||
│ │ │ ├── pbkdf2.mod
|
||||
│ │ │ ├── pbkdf2_test.mod
|
||||
│ │ │ ├── png.mod
|
||||
│ │ │ ├── priority_queue.mod
|
||||
│ │ │ ├── probe.mod
|
||||
│ │ │ ├── procfs.mod
|
||||
│ │ │ ├── progress.mod
|
||||
│ │ │ ├── raid5rec.mod
|
||||
│ │ │ ├── raid6rec.mod
|
||||
│ │ │ ├── read.mod
|
||||
│ │ │ ├── reboot.mod
|
||||
│ │ │ ├── regexp.mod
|
||||
│ │ │ ├── reiserfs.mod
|
||||
│ │ │ ├── romfs.mod
|
||||
│ │ │ ├── scsi.mod
|
||||
│ │ │ ├── serial.mod
|
||||
│ │ │ ├── setjmp.mod
|
||||
│ │ │ ├── setjmp_test.mod
|
||||
│ │ │ ├── signature_test.mod
|
||||
│ │ │ ├── sleep.mod
|
||||
│ │ │ ├── sleep_test.mod
|
||||
│ │ │ ├── squash4.mod
|
||||
│ │ │ ├── syslinuxcfg.mod
|
||||
│ │ │ ├── terminal.lst
|
||||
│ │ │ ├── terminal.mod
|
||||
│ │ │ ├── terminfo.mod
|
||||
│ │ │ ├── test_blockarg.mod
|
||||
│ │ │ ├── testload.mod
|
||||
│ │ │ ├── test.mod
|
||||
│ │ │ ├── testspeed.mod
|
||||
│ │ │ ├── tftp.mod
|
||||
│ │ │ ├── tga.mod
|
||||
│ │ │ ├── time.mod
|
||||
│ │ │ ├── trig.mod
|
||||
│ │ │ ├── tr.mod
|
||||
│ │ │ ├── true.mod
|
||||
│ │ │ ├── udf.mod
|
||||
│ │ │ ├── ufs1_be.mod
|
||||
│ │ │ ├── ufs1.mod
|
||||
│ │ │ ├── ufs2.mod
|
||||
│ │ │ ├── verify.mod
|
||||
│ │ │ ├── video_colors.mod
|
||||
│ │ │ ├── video_fb.mod
|
||||
│ │ │ ├── videoinfo.mod
|
||||
│ │ │ ├── video.lst
|
||||
│ │ │ ├── video.mod
|
||||
│ │ │ ├── videotest_checksum.mod
|
||||
│ │ │ ├── videotest.mod
|
||||
│ │ │ ├── xfs.mod
|
||||
│ │ │ ├── xnu_uuid.mod
|
||||
│ │ │ ├── xnu_uuid_test.mod
|
||||
│ │ │ ├── xzio.mod
|
||||
│ │ │ └── zfscrypt.mod
|
||||
│ │ ├── font.pf2
|
||||
│ │ └── grub.cfg
|
||||
│ ├── initrd.gz
|
||||
│ └── linux
|
||||
├── netboot.tar.gz
|
||||
└── version.info
|
||||
```
|
||||
|
||||
Now just make sure that `/etc/dnsmasq.conf` is pointing out to the right boot file, like:
|
||||
|
||||
```shell
|
||||
dhcp-boot=debian-installer/arm64/bootnetaa64.efi
|
||||
```
|
||||
## Loading debian-installer from the minimal CD
|
||||
|
||||
Together with the debian-installer netboot files, a minimal ISO is also provided containing the same installer, which can be loaded as normal boot disk media.
|
||||
|
||||
Making a bootable SATA disk / USB stick / microSD card (attention to **/dev/sdX**, make sure that it is your target device first):
|
||||
|
||||
```
|
||||
wget https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/mini.iso
|
||||
sudo cp mini.iso /dev/sdX
|
||||
sync
|
||||
```
|
||||
|
||||
Please refer to the [debian-manual](https://www.debian.org/releases/jessie/amd64/ch04s03.html.en) for a more complete guide on creating a CD, SATA disk, USB stick or micro SD with the minimal ISO.
|
||||
|
||||
## Booting the installer
|
||||
|
||||
If you are booting the installer from the network, simply select PXE boot when presented by UEFI (make sure to boot with the right network interface, in case more than one is available). In case you are booting with the minimal ISO via SATA / USB / microSD, simply select the right boot option in UEFI.
|
||||
|
||||
You should see the following (using AMD Seattle's Overdrive as example):
|
||||
|
||||
```shell
|
||||
NOTICE: BL3-1:
|
||||
NOTICE: BL3-1: Built : 18:22:46, Nov 23 2015
|
||||
INFO: BL3-1: Initializing runtime services
|
||||
INFO: BL3-1: Preparing for EL3 exit to normal world
|
||||
INFO: BL3-1: Next image address = 0x8000000000
|
||||
INFO: BL3-1: Next image spsr = 0x3c9
|
||||
Boot firmware (version built at 18:27:24 on Nov 23 2015)
|
||||
Version 2.17.1249. Copyright (C) 2015 American Megatrends, Inc.
|
||||
BIOS Date: 11/23/2015 18:23:09 Ver: ROD0085E00
|
||||
Press <DEL> or <ESC> to enter setup.
|
||||
.
|
||||
>>Checking Media Presence......
|
||||
>>Media Present......
|
||||
>>Start PXE over IPv4.
|
||||
Station IP address is 192.168.3.57
|
||||
Server IP address is 192.168.3.1
|
||||
NBP filename is BOOTAA64.EFI
|
||||
NBP filesize is 885736 Bytes
|
||||
>>Checking Media Presence......
|
||||
>>Media Present......
|
||||
Downloading NBP file...
|
||||
Succeed to download NBP file.
|
||||
Fetching Netboot Image
|
||||
```
|
||||
|
||||
At this stage you should be able to see the Grub 2 menu, like:
|
||||
|
||||
```shell
|
||||
Install
|
||||
Advanced options ...
|
||||
Install with speech synthesis
|
||||
.
|
||||
Use the and keys to change the selection.
|
||||
Press 'e' to edit the selected item, or 'c' for a command prompt.
|
||||
```
|
||||
|
||||
Now just hit enter and wait for the kernel and initrd to load, which automatically loads the installer and provides you the installer console menu, so you can finally install Debian.
|
||||
|
||||
**NOTE - Cello Only:** The network driver **r8169** needs an additional module parameter for a functional 64-bit DMA operation ([related kernel change](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4300e8c7f64d95a80ffa7d98d98738f41546bc30)), so please edit your grub boot parameter by pressing _e_ at the selected boot line, and add _r8169.use_dac=1_ in the end of the linux line. To boot, simply press _Control + x_.
|
||||
|
||||
You should see the following:
|
||||
|
||||
```shell
|
||||
EFI stub: Booting Linux Kernel...
|
||||
EFI stub: Using DTB from configuration table
|
||||
EFI stub: Exiting boot services and installing virtual address map...
|
||||
[ 0.355175] ACPI: IORT: Failed to get table, AE_NOT_FOUND
|
||||
[ 0.763784] kvm [1]: error: no compatible GIC node found
|
||||
[ 0.763818] kvm [1]: error initializing Hyp mode: -19
|
||||
[ 0.886298] Failed to find cpu0 device node
|
||||
[ 0.947082] zswap: default zpool zbud not available
|
||||
[ 0.951959] zswap: pool creation failed
|
||||
Starting system log daemon: syslogd, klogd.
|
||||
...
|
||||
┌───────────────────────┤ [!!] Select a language ├────────────────────────┐
|
||||
│ │
|
||||
│ Choose the language to be used for the installation process. The │
|
||||
│ selected language will also be the default language for the installed │
|
||||
│ system. │
|
||||
│ │
|
||||
│ Language: │
|
||||
│ │
|
||||
│ C │
|
||||
│ English │
|
||||
│ │
|
||||
│ <Go Back> │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────┘
|
||||
<Tab> moves; <Space> selects; <Enter> activates buttons
|
||||
```
|
||||
|
||||
### Finishing the installation
|
||||
|
||||
For using the installer, please check the documentation available at [https://www.debian.org/releases/jessie/arm64/ch06.html.en](https://www.debian.org/releases/jessie/arm64/ch06.html.en)
|
||||
|
||||
**NOTE - Cello Only:** In case your mac address is empty (e.g. early boards), you will be required to change your default network mac address in order to proceed with the network install. Please open a shell after booted the installer (the installer offers the shell option at the first menu), and change the mac address as described below. Once changed, simply proceed with the install process.
|
||||
|
||||
```
|
||||
~ # ip link set dev enp1s0 address de:5e:60:e4:6b:1f
|
||||
~ # exit
|
||||
```
|
||||
|
||||
Once the installation is completed, you should be able to simply reboot the system in order to boot your new Debian system.
|
||||
|
||||
**NOTE - Cello Only:** If you had to set a valid mac address during the installer, you will be required to also set the mac address in debian, after your first boot. Please change _/etc/network/interfaces_ and add your mac address again, like below:
|
||||
|
||||
```
|
||||
root@debian:~# cat /etc/network/interfaces
|
||||
...
|
||||
allow-hotplug enp1s0
|
||||
iface enp1s0 inet dhcp
|
||||
hwaddress ether de:5e:60:e4:6b:1f
|
||||
```
|
||||
|
||||
### Automating the installation using preseeding
|
||||
|
||||
Preseeding provides a way to set answers to questions asked during the installation process, without having to manually enter the answers while the installation is running. This makes it possible to fully automate the installation over network, when used together with the debian-installer.
|
||||
|
||||
This document only provides a quick way for you to get started with preseeding. For the complete guide, please check the [Debian GNU/Linux Installation Guide](https://www.debian.org/releases/jessie/arm64/apb.html) and [example-preseed.txt](https://www.debian.org/releases/jessie/example-preseed.txt)
|
||||
|
||||
**Note:** Since we require an external kernel to be installed during the install process, this is done via the `preseed/late_command` argument, so you if you decide to use that command as part of your preseed file, make sure to add the following as part of the multi-line command:
|
||||
|
||||
```shell
|
||||
d-i preseed/late_command string in-target apt-get install -y linux-image-reference-arm64; # here you can add 'in-target foobar' for additional commands
|
||||
```
|
||||
|
||||
#### Creating the preseed file
|
||||
|
||||
Check [example-preseed.txt](https://www.debian.org/releases/jessie/example-preseed.txt) for a wide list of options supported by the Debian Jessie installer. Your file needs to use a similar format, but customized for your own needs.
|
||||
|
||||
Once created, make sure the file gets published into a network address that can be reachable from your target device.
|
||||
|
||||
Preseed example (`preseed.cfg`):
|
||||
|
||||
```shell
|
||||
d-i debian-installer/locale string en_US
|
||||
d-i keyboard-configuration/xkb-keymap select us
|
||||
d-i netcfg/dhcp_timeout string 60
|
||||
d-i netcfg/get_hostname string unassigned-hostname
|
||||
d-i netcfg/get_domain string unassigned-domain
|
||||
d-i netcfg/hostname string debian
|
||||
d-i mirror/country string manual
|
||||
d-i mirror/http/hostname string httpredir.debian.org
|
||||
d-i mirror/http/directory string /debian
|
||||
d-i mirror/http/proxy string
|
||||
d-i passwd/root-password password linaro123
|
||||
d-i passwd/root-password-again password linaro123
|
||||
d-i passwd/user-fullname string Linaro User
|
||||
d-i passwd/username string linaro
|
||||
d-i passwd/user-password password linaro
|
||||
d-i passwd/user-password-again password linaro
|
||||
d-i passwd/user-default-groups string audio cdrom video sudo
|
||||
d-i time/zone string UTC
|
||||
d-i clock-setup/ntp boolean true
|
||||
d-i clock-setup/utc boolean true
|
||||
d-i partman-auto/disk string /dev/sda
|
||||
d-i partman-auto/method string regular
|
||||
d-i partman-lvm/device_remove_lvm boolean true
|
||||
d-i partman-md/device_remove_md boolean true
|
||||
d-i partman-auto/choose_recipe select atomic
|
||||
d-i partman/confirm_write_new_label boolean true
|
||||
d-i partman/choose_partition select finish
|
||||
d-i partman/confirm boolean true
|
||||
d-i partman/confirm_nooverwrite boolean true
|
||||
popularity-contest popularity-contest/participate boolean false
|
||||
tasksel tasksel/first multiselect standard, web-server
|
||||
d-i pkgsel/include string openssh-server build-essential ca-certificates sudo vim ntp
|
||||
d-i pkgsel/upgrade select safe-upgrade
|
||||
d-i finish-install/reboot_in_progress note
|
||||
```
|
||||
|
||||
In this example, this content is also available at [http://people.linaro.org/~ricardo.salveti/preseed.cfg](http://people.linaro.org/~ricardo.salveti/preseed.cfg)
|
||||
|
||||
#### Setting up grub.cfg
|
||||
|
||||
Now back to your tftp server, change the original `grub.cfg` file adding the location of your preseed file:
|
||||
|
||||
```shell
|
||||
$ cat /srv/tftp/debian-installer/arm64/grub/grub.cfg
|
||||
# Force grub to automatically load the first option
|
||||
set default=0
|
||||
set timeout=1
|
||||
menuentry 'Install with preseeding' {
|
||||
linux /debian-installer/arm64/linux auto=true priority=critical url=http://people.linaro.org/~ricardo.salveti/preseed.cfg ---
|
||||
initrd /debian-installer/arm64/initrd.gz
|
||||
}
|
||||
```
|
||||
|
||||
The `auto` kernel parameter is an alias for `auto-install/enable` and setting it to `true` delays the locale and keyboard questions until after there has been a chance to preseed them, while `priority` is an alias for `debconf/priority` and setting it to `critical` stops any questions with a lower priority from being asked.
|
||||
|
||||
In case your system contains more than one network interface, also make sure to add the one to be used via the `interface` argument, like `interface=eth1`.
|
||||
|
||||
#### Booting the system
|
||||
|
||||
Now just do a normal PXE boot, and debian-installer should automatically load and use the preseeds file provided by `grub.cfg`. In case there is still a dialog that stops your installation that means not all the debian-installer options are provided by your preseeds file. Get back to [example-preseed.txt](https://www.debian.org/releases/jessie/example-preseed.txt) and try to identify what is missing step.
|
||||
|
||||
Also make sure to check debian-installer's `/var/log/syslog` (by opening a shell) when debugging the installer.
|
||||
|
||||
### Building debian-installer from source
|
||||
|
||||
#### Build kernel package and udebs
|
||||
|
||||
Check the Debian [kernel-handbook](http://kernel-handbook.alioth.debian.org/ch-common-tasks.html) for the instructions required to build the debian kernel package from scratch. Since the installer only understands `udeb` packages, it is a good idea to reuse the official kernel packaging instructions and rules.
|
||||
|
||||
You can also find the custom kernel source package created as part of the EE-RPB effort at [https://builds.96boards.org/snapshots/reference-platform/components/linux/enterprise/latest/](https://builds.96boards.org/snapshots/reference-platform/components/linux/enterprise/latest/)
|
||||
|
||||
#### Rebuilding debian-installer with the new udebs
|
||||
|
||||
To build the installer, make sure you're running on a native `arm64` system, preferably running Debian Jessie.
|
||||
|
||||
Download the installer (from jessie):
|
||||
|
||||
```shell
|
||||
sudo apt-get build-dep debian-installer
|
||||
dget http://ftp.us.debian.org/debian/pool/main/d/debian-installer/debian-installer_20150422+deb8u2.dsc
|
||||
```
|
||||
|
||||
Change the kernel abi and set a default local preseed (so it can install your kernel during the install process):
|
||||
|
||||
```shell
|
||||
cd debian-installer-*
|
||||
cd build
|
||||
sed -i "s/LINUX_KERNEL_ABI.*/LINUX_KERNEL_ABI = YOUR_KERNEL_ABI/g" config/common
|
||||
sed -i "s/PRESEED.*/PRESEED = default-preseed/g" config/common
|
||||
```
|
||||
|
||||
Download the kernel udebs that you created at the localudebs folder:
|
||||
|
||||
```shell
|
||||
cd localudebs
|
||||
wget <list of your custom udeb files created by the kernel debian package>
|
||||
cd ..
|
||||
```
|
||||
|
||||
Create a local pkg-list to include the udebs created (otherwise d-i will not be able to find them online):
|
||||
|
||||
```shell
|
||||
cat <<EOF > pkg-lists/local
|
||||
ext4-modules-\${kernel:Version}
|
||||
fat-modules-\${kernel:Version}
|
||||
btrfs-modules-\${kernel:Version}
|
||||
md-modules-\${kernel:Version}
|
||||
efi-modules-\${kernel:Version}
|
||||
scsi-modules-\${kernel:Version}
|
||||
jfs-modules-\${kernel:Version}
|
||||
xfs-modules-\${kernel:Version}
|
||||
ata-modules-\${kernel:Version}
|
||||
sata-modules-\${kernel:Version}
|
||||
usb-storage-modules-\${kernel:Version}
|
||||
EOF
|
||||
```
|
||||
|
||||
Set up the local repo, so the installer can locate your udebs (from localudebs):
|
||||
|
||||
```shell
|
||||
cat <<EOF > sources.list.udeb
|
||||
deb [trusted=yes] copy:/PATH/TO/your/installer/d-i/debian-installer-20150422/build/ localudebs/
|
||||
deb http://httpredir.debian.org/debian jessie main/debian-installer
|
||||
EOF
|
||||
```
|
||||
|
||||
Default preseed to skip known errors (as the kernel provided by local udebs):
|
||||
|
||||
```
|
||||
cat <<EOF > default-preseed
|
||||
# Continue install on "no kernel modules were found for this kernel"
|
||||
d-i anna/no_kernel_modules boolean true
|
||||
# Continue install on "no installable kernels found"
|
||||
d-i base-installer/kernel/skip-install boolean true
|
||||
d-i base-installer/kernel/no-kernels-found boolean true
|
||||
d-i preseed/late_command string in-target wget <your linux-image.deb>; dpkg -i linux-image-*.deb
|
||||
EOF
|
||||
```
|
||||
|
||||
Now just build the installer:
|
||||
|
||||
```shell
|
||||
fakeroot make build_netboot
|
||||
```
|
||||
|
||||
You should now find your custom debian-installer at `dest/netboot/netboot.tar.gz`.
|
|
@ -0,0 +1,164 @@
|
|||
## Installing Fedora 23
|
||||
|
||||
This guide is not to be a replacement of the official Fedora 23 Installer documentation, but instead be a quick walkthrough for the network installer. You can find the original documentation at [https://fedoraproject.org/wiki/Architectures/AArch64/F23/Installation](https://fedoraproject.org/wiki/Architectures/AArch64/F23/Installation)
|
||||
|
||||
### Setting up the TFTP server
|
||||
|
||||
Back to your dnsmasq server (check [this link](DHCP-TFTP-Server-UEFI.md) for instructions on how to setup your own TFTP/DCHP server), download the required Fedora 23 installer files at your tftp-root directory. In this example, this directory is configured to `/srv/tftp`.
|
||||
|
||||
Downloading required Grub 2 UEFI files:
|
||||
|
||||
**Note:** Because of bug [1251600](https://bugzilla.redhat.com/show_bug.cgi?id=1251600), we need to use both `BOOTAA64.EFI` and `grubaa64.efi` from the Fedora 22 release.
|
||||
|
||||
```shell
|
||||
sudo su -
|
||||
cd /srv/tftp/
|
||||
wget http://dl.fedoraproject.org/pub/fedora-secondary/releases/22/Server/aarch64/os/EFI/BOOT/BOOTAA64.EFI
|
||||
wget http://dl.fedoraproject.org/pub/fedora-secondary/releases/22/Server/aarch64/os/EFI/BOOT/grubaa64.efi
|
||||
```
|
||||
|
||||
Downloading upstream Kernel and Initrd
|
||||
|
||||
```shell
|
||||
mkdir /srv/tftp/f23
|
||||
cd /srv/tftp/f23
|
||||
wget http://dl.fedoraproject.org/pub/fedora-secondary/releases/23/Server/aarch64/os/images/pxeboot/vmlinuz
|
||||
wget http://dl.fedoraproject.org/pub/fedora-secondary/releases/23/Server/aarch64/os/images/pxeboot/initrd.img
|
||||
```
|
||||
|
||||
Creating the Grub 2 config file (`grub.cfg`):
|
||||
|
||||
```shell
|
||||
menuentry 'Install Fedora 23 ARM 64-bit' --class fedora --class gnu-linux --class gnu --class os {
|
||||
linux (tftp)/f23/vmlinuz ip=dhcp inst.repo=http://dl.fedoraproject.org/pub/fedora-secondary/releases/23/Server/aarch64/os/
|
||||
initrd (tftp)/f23/initrd.img
|
||||
}
|
||||
```
|
||||
|
||||
You should now have the following file tree structure:
|
||||
|
||||
```shell
|
||||
/srv/tftp/
|
||||
├── BOOTAA64.EFI
|
||||
├── f23
|
||||
│ ├── initrd.img
|
||||
│ └── vmlinuz
|
||||
├── grubaa64.efi
|
||||
└── grub.cfg
|
||||
```
|
||||
|
||||
Now just make sure that @/etc/dnsmasq.conf@ is pointing out to the right boot file, like:
|
||||
|
||||
```shell
|
||||
dhcp-boot=BOOTAA64.EFI
|
||||
```
|
||||
|
||||
### Booting the installer
|
||||
|
||||
Now boot your platform of choice, selecting PXE boot when presented by UEFI (make sure to boot with the right network interface, in case more than one is available).
|
||||
|
||||
You should see the following (using AMD Seattle's Overdrive as example):
|
||||
|
||||
```shell
|
||||
NOTICE: BL3-1:
|
||||
NOTICE: BL3-1: Built : 18:22:46, Nov 23 2015
|
||||
INFO: BL3-1: Initializing runtime services
|
||||
INFO: BL3-1: Preparing for EL3 exit to normal world
|
||||
INFO: BL3-1: Next image address = 0x8000000000
|
||||
INFO: BL3-1: Next image spsr = 0x3c9
|
||||
Boot firmware (version built at 18:27:24 on Nov 23 2015)
|
||||
Version 2.17.1249. Copyright (C) 2015 American Megatrends, Inc.
|
||||
BIOS Date: 11/23/2015 18:23:09 Ver: ROD0085E00
|
||||
Press <DEL> or <ESC> to enter setup.
|
||||
.
|
||||
>>Checking Media Presence......
|
||||
>>Media Present......
|
||||
>>Start PXE over IPv4.
|
||||
Station IP address is 192.168.3.57
|
||||
Server IP address is 192.168.3.1
|
||||
NBP filename is BOOTAA64.EFI
|
||||
NBP filesize is 885736 Bytes
|
||||
>>Checking Media Presence......
|
||||
>>Media Present......
|
||||
Downloading NBP file...
|
||||
Succeed to download NBP file.
|
||||
Fetching Netboot Image
|
||||
```
|
||||
|
||||
At this stage you should be able to see the Grub 2 menu, like:
|
||||
|
||||
```shell
|
||||
Install Fedora 23 ARM 64-bit
|
||||
.
|
||||
Use the and keys to change the selection.
|
||||
Press 'e' to edit the selected item, or 'c' for a command prompt.
|
||||
```
|
||||
|
||||
Now just hit enter and wait for the kernel and initrd to load, which automatically loads the installer and provides you the installer console menu, so you can finally install Fedora 23 (just make sure that target device has external network access, since the installer is downloaded automatically after booting the kernel).
|
||||
|
||||
You should see the following:
|
||||
|
||||
```shell
|
||||
EFI stub: Booting Linux Kernel...
|
||||
EFI stub: Using DTB from configuration table
|
||||
EFI stub: Exiting boot services and installing virtual address map...
|
||||
[ 0.000000] Booting Linux on physical CPU 0x0
|
||||
[ 0.000000] Initializing cgroup subsys cpuset
|
||||
[ 0.000000] Initializing cgroup subsys cpu
|
||||
[ 0.000000] Initializing cgroup subsys cpuacct
|
||||
[ 0.000000] Linux version 4.2.3-300.fc23.aarch64 (mockbuild@aarch64-08a.arm.fedoraproject.org) (gcc version 5.1.1 20150618 (Red Hat 5.1.1-4) (GCC) ) #1 SMP Thu Oct 8 01:39:38 UTC 2015
|
||||
[ 0.000000] CPU: AArch64 Processor [411fd072] revision 2
|
||||
[ 0.000000] Detected PIPT I-cache on CPU0
|
||||
[ 0.000000] alternatives: enabling workaround for ARM erratum 832075
|
||||
[ 0.000000] efi: Getting EFI parameters from FDT:
|
||||
[ 0.000000] EFI v2.40 by American Megatrends
|
||||
[ 0.000000] efi: ACPI 2.0=0x83ff1c6000 SMBIOS 3.0=0x83ff349718
|
||||
...
|
||||
Welcome to Fedora 23 (Twenty Three) dracut-043-60.git20150811.fc23 (Initramfs)!
|
||||
...
|
||||
[ 23.105835] dracut-initqueue[685]: RTNETLINK answers: File exists
|
||||
[ 23.756828] dracut-initqueue[685]: % Total % Received % Xferd Average Speed Time Time Time Current
|
||||
[ 23.757345] dracut-initqueue[685]: Dload Upload Total Spent Left Speed
|
||||
100 958 100 958 0 0 1514 0 --:--:-- --:--:-- --:--:-- 1513 0 --:--:-- --:--:-- --:--:-- 0
|
||||
...
|
||||
Welcome to Fedora 23 (Twenty Three)!
|
||||
...
|
||||
Starting installer, one moment...
|
||||
anaconda 23.19.10-1 for Fedora 23 started.
|
||||
* installation log files are stored in /tmp during the installation
|
||||
* shell is available on TTY2
|
||||
* if the graphical installation interface fails to start, try again with the
|
||||
inst.text bootoption to start text installation
|
||||
* when reporting a bug add logs from /tmp as separate text/plain attachments
|
||||
00:29:26 X startup failed, falling back to text mode
|
||||
================================================================================
|
||||
================================================================================
|
||||
VNC
|
||||
.
|
||||
X was unable to start on your machine. Would you like to start VNC to connect t
|
||||
o this computer from another computer and perform a graphical installation or co
|
||||
ntinue with a text mode installation?
|
||||
.
|
||||
1) Start VNC
|
||||
.
|
||||
2) Use text mode
|
||||
.
|
||||
Please make your choice from above ['q' to quit | 'c' to continue |
|
||||
'r' to refresh]:
|
||||
.
|
||||
[anaconda]1:main* 2:shell 3:log 4:storage-log >Switch tab: Alt+Tab | Help: F1
|
||||
```
|
||||
|
||||
For the text mode installer, just enter `2` and follow the instructions available in the console.
|
||||
|
||||
Menu items without that are not `[x]` must be set. Enter the menu number associated with the menu in order to configure it.
|
||||
|
||||
### Finishing the installation
|
||||
|
||||
After selecting the installation destination, the partitioning scheme, root password and users (optional), just enter `b` to proceed with the installation.
|
||||
|
||||
Once the installation is completed, you should be able to simply reboot the system in order to boot your new Fedora 23 system.
|
||||
|
||||
### Automating the installation with kickstart
|
||||
|
||||
TODO
|
|
@ -0,0 +1,320 @@
|
|||
This post concentrates on Running Hadoop after [installing](ODPi-Hadoop-Installation.md) ODPi components built using Apache BigTop. These steps are only for configuring it on a single node and running them on a single node.
|
||||
|
||||
# Add Hadoop User
|
||||
We need to create a dedicated user (hduser) for running Hadoop. This user needs to be added to hadoop usergroup:
|
||||
|
||||
```shell
|
||||
sudo useradd -G hadoop hduser
|
||||
```
|
||||
|
||||
give a password for hduser
|
||||
|
||||
```shell
|
||||
sudo passwd hduser
|
||||
```
|
||||
|
||||
Add hduser to sudoers list
|
||||
On Debian:
|
||||
|
||||
```shell
|
||||
sudo adduser hduser sudo
|
||||
```
|
||||
|
||||
On Centos:
|
||||
|
||||
```shell
|
||||
sudo usermod -G wheel hduser
|
||||
```
|
||||
|
||||
Switch to hduser:
|
||||
|
||||
```shell
|
||||
sudo su - hduser
|
||||
```
|
||||
|
||||
# Generate ssh key for hduser
|
||||
|
||||
```shell
|
||||
ssh-keygen -t rsa -P ""
|
||||
```
|
||||
|
||||
Press \<enter\> to leave to default file name.
|
||||
|
||||
Enable ssh access to local machine:
|
||||
|
||||
```shell
|
||||
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
|
||||
```
|
||||
|
||||
Test ssh setup, as hduser:
|
||||
|
||||
```shell
|
||||
ssh localhost
|
||||
```
|
||||
|
||||
# Disabling IPv6
|
||||
|
||||
```shell
|
||||
sudo nano /etc/sysctl.conf
|
||||
```
|
||||
|
||||
Add the below lines to the end and save:
|
||||
|
||||
```shell
|
||||
net.ipv6.conf.all.disable_ipv6 = 1
|
||||
net.ipv6.conf.default.disable_ipv6 = 1
|
||||
net.ipv6.conf.lo.disable_ipv6 = 1
|
||||
```
|
||||
|
||||
Prefer IPv4 on Hadoop:
|
||||
|
||||
```shell
|
||||
sudo nano /etc/hadoop/conf/hadoop-env.sh
|
||||
```
|
||||
|
||||
Uncomment line:
|
||||
|
||||
```shell
|
||||
# export HADOOP_OPTS=-Djava.net.preferIPV4stack=true
|
||||
```
|
||||
|
||||
Run sysctl to apply the changes:
|
||||
|
||||
```shell
|
||||
sudo sysctl -p
|
||||
```
|
||||
|
||||
# Configuring the app environment
|
||||
Configure the app environment by following steps:
|
||||
|
||||
```shell
|
||||
sudo mkdir -p /app/hadoop/tmp
|
||||
sudo chown hduser:hadoop /app/hadoop/tmp
|
||||
sudo chmod 750 /app/hadoop/tmp
|
||||
sudo chown hduser:hadoop /usr/lib/hadoop
|
||||
sudo chmod 750 /usr/lib/hadoop
|
||||
```
|
||||
|
||||
# Setting up Environment Variables
|
||||
Follow the below steps to setup Environment Variables in bash file :
|
||||
|
||||
```shell
|
||||
sudo su - hduser
|
||||
nano .bashrc
|
||||
```
|
||||
|
||||
Add the following to the end and save:
|
||||
|
||||
```shell
|
||||
export HADOOP_HOME=/usr/lib/hadoop
|
||||
export HADOOP_PREFIX=$HADOOP_HOME
|
||||
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib/native"
|
||||
export HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec
|
||||
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
|
||||
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
|
||||
export HADOOP_COMMON_HOME=$HADOOP_HOME
|
||||
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
|
||||
export HADOOP_HDFS_HOME=/usr/lib/hadoop-hdfs
|
||||
export YARN_HOME=/usr/lib/hadoop-yarn
|
||||
export HADOOP_YARN_HOME=/usr/lib/hadoop-yarn/
|
||||
export CLASSPATH=$CLASSPATH:.
|
||||
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/hadoop-common-2.6.0.jar
|
||||
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/client/hadoop-hdfs-2.6.0.jar
|
||||
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
|
||||
export PATH=/usr/lib/hadoop/libexec:/etc/hadoop/conf:$HADOOP_HOME/bin/:$PATH
|
||||
```
|
||||
|
||||
Execute the terminal environment again (`bash`), or simply logout and change to `hduser` again.
|
||||
|
||||
# Modifying config files
|
||||
## core-site.xml
|
||||
|
||||
```shell
|
||||
sudo nano /etc/hadoop/conf/core-site.xml
|
||||
```
|
||||
|
||||
And add/modify the following settings:
|
||||
Look for property with <name> fs.defaultFS</name> and modify as below:
|
||||
|
||||
```shell
|
||||
<property>
|
||||
<name>fs.default.name</name>
|
||||
<value>hdfs://localhost:54310</value>
|
||||
<description>The name of the default file system. A URI whose
|
||||
scheme and authority determine the FileSystem implementation. The
|
||||
uri's scheme determines the config property (fs.SCHEME.impl) naming
|
||||
the FileSystem implementation class. The uri's authority is used to
|
||||
determine the host, port, etc. for a filesystem.</description>
|
||||
</property>
|
||||
```
|
||||
|
||||
Add this to the bottom before \</configuration> tag:
|
||||
|
||||
```shell
|
||||
<property>
|
||||
<name>hadoop.tmp.dir</name>
|
||||
<value>/app/hadoop/tmp</value>
|
||||
<description>A base for other temporary directories.</description>
|
||||
</property>
|
||||
```
|
||||
|
||||
## mapred-site.xml
|
||||
|
||||
```shell
|
||||
sudo nano /etc/hadoop/conf/mapred-site.xml
|
||||
```
|
||||
|
||||
Modify existing properties as follows:
|
||||
Look for property tag with <name> as mapred.job.tracker and modify as below:
|
||||
|
||||
```shell
|
||||
<property>
|
||||
<name>mapred.job.tracker</name>
|
||||
<value>localhost:54311</value>
|
||||
<description>The host and port that the MapReduce job tracker runs
|
||||
at. If "local", then jobs are run in-process as a single map
|
||||
and reduce task.
|
||||
</description>
|
||||
</property>
|
||||
```
|
||||
|
||||
## hdfs-site.xml:
|
||||
|
||||
```shell
|
||||
sudo nano /etc/hadoop/conf/hdfs-site.xml
|
||||
```
|
||||
|
||||
Modify existing property as below :
|
||||
|
||||
```shell
|
||||
<property>
|
||||
<name>dfs.replication</name>
|
||||
<value>1</value>
|
||||
<description>Default block replication.
|
||||
The actual number of replications can be specified when the file is created.
|
||||
The default is used if replication is not specified in create time.
|
||||
</description>
|
||||
</property>
|
||||
```
|
||||
|
||||
# Format Namenode
|
||||
This step is needed for the first time. Doing it every time will result in loss of content on HDFS.
|
||||
|
||||
```shell
|
||||
sudo /etc/init.d/hadoop-hdfs-namenode init
|
||||
```
|
||||
|
||||
# Start the YARN daemons
|
||||
|
||||
```shell
|
||||
for i in hadoop-hdfs-namenode hadoop-hdfs-datanode ; do sudo service $i start ; done
|
||||
sudo /etc/init.d/hadoop-yarn-resourcemanager start
|
||||
sudo /etc/init.d/hadoop-yarn-nodemanager start
|
||||
```
|
||||
|
||||
# Validating Hadoop
|
||||
Check if hadoop is running. jps command should list namenode, datanode, yarn resource manager. or use ps aux
|
||||
|
||||
```shell
|
||||
sudo jps
|
||||
```
|
||||
or
|
||||
|
||||
```shell
|
||||
ps aux | grep java
|
||||
```
|
||||
|
||||
Alternatively, check if yarn managers are running:
|
||||
|
||||
```shell
|
||||
sudo /etc/init.d/hadoop-yarn-resourcemanager status
|
||||
sudo /etc/init.d/hadoop-yarn-nodemanager status
|
||||
```
|
||||
|
||||
You would see like below:
|
||||
|
||||
```shell
|
||||
● hadoop-yarn-nodemanager.service - LSB: Hadoop nodemanager
|
||||
Loaded: loaded (/etc/init.d/hadoop-yarn-nodemanager)
|
||||
Active: active (running) since Tue 2015-12-22 18:25:03 UTC; 1h 24min ago
|
||||
CGroup: /system.slice/hadoop-yarn-nodemanager.service
|
||||
└─10366 /usr/lib/jvm/java-1.7.0-openjdk-arm64/bin/java -Dproc_node...
|
||||
|
||||
Dec 22 18:24:57 debian su[10348]: Successful su for yarn by root
|
||||
Dec 22 18:24:57 debian su[10348]: + ??? root:yarn
|
||||
Dec 22 18:24:57 debian su[10348]: pam_unix(su:session): session opened for ...0)
|
||||
Dec 22 18:24:57 debian hadoop-yarn-nodemanager[10305]: starting nodemanager, ...
|
||||
Dec 22 18:24:58 debian su[10348]: pam_unix(su:session): session closed for ...rn
|
||||
Dec 22 18:25:03 debian hadoop-yarn-nodemanager[10305]: Started Hadoop nodeman...
|
||||
```
|
||||
|
||||
|
||||
## Run teragen, terasort and teravalidate ##
|
||||
|
||||
```shell
|
||||
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar teragen 1000000 terainput
|
||||
|
||||
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar terasort terainput teraoutput
|
||||
|
||||
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar teravalidate -D mapred.reduce.tasks=8 teraoutput teravalidate
|
||||
```
|
||||
|
||||
## Stop the Hadoop services ##
|
||||
|
||||
```shell
|
||||
sudo /etc/init.d/hadoop-yarn-nodemanager stop
|
||||
|
||||
sudo /etc/init.d/hadoop-yarn-resourcemanager stop
|
||||
|
||||
for i in hadoop-hdfs-namenode hadoop-hdfs-datanode ; do sudo service $i stop; done
|
||||
```
|
||||
|
||||
## Potential Errors / Issues and Resolutions ##
|
||||
* If Teragen, TeraSort and TeraValidate error out with 'permission denied' exception. The following steps can be done:
|
||||
|
||||
```shell
|
||||
sudo groupadd supergroup
|
||||
|
||||
sudo usermod -g supergroup hduser
|
||||
```
|
||||
|
||||
* If for some weird reason, if you notice the config files (core-site.xml, hdfs-site.xml, etc) are empty.
|
||||
|
||||
```shell
|
||||
You may have delete all the packages and re-run the steps of installation from scratch.
|
||||
```
|
||||
|
||||
* Error while formatting namenode
|
||||
With the following command:
|
||||
|
||||
```shell
|
||||
sudo /etc/init.d/hadoop-hdfs-namenode init
|
||||
|
||||
|
||||
If you see the following error:
|
||||
WARN net.DNS: Unable to determine local hostname -falling back to "localhost"
|
||||
java.net.UnknownHostException: centos: centos
|
||||
at java.net.InetAddress.getLocalHost(InetAddress.java:1496)
|
||||
at org.apache.hadoop.net.DNS.resolveLocalHostname(DNS.java:264)
|
||||
at org.apache.hadoop.net.DNS.<clinit>(DNS.java:57)
|
||||
|
||||
Something is wrong in the network setup. Please check /etc/hosts file.
|
||||
|
||||
```shell
|
||||
sudo nano /etc/hosts
|
||||
```
|
||||
|
||||
The hosts file should like below:
|
||||
|
||||
```shell
|
||||
127.0.0.1 <hostname> localhost localhost.localdomain #hostname should have the output of $ hostname
|
||||
::1 localhost
|
||||
```
|
||||
|
||||
Also try the following steps:
|
||||
|
||||
```shell
|
||||
sudo rm -Rf /app/hadoop/tmp
|
||||
|
||||
hadoop namenode -format
|
||||
```
|
|
@ -0,0 +1,82 @@
|
|||
This post concentrates on installing ODPi components built using Apache BigTop. These steps configure and run the components on a single node.
|
||||
|
||||
# Prerequisites:
|
||||
|
||||
* Java 7 (e.g. openjdk-7-jre)
|
||||
|
||||
# Repo:
|
||||
|
||||
ODPi deb and rpm packages can be found on Linaro repositories:
|
||||
|
||||
* Debian Jessie - http://repo.linaro.org/ubuntu/linaro-overlay/
|
||||
* CentOS 7 - http://repo.linaro.org/rpm/linaro-overlay/centos-7/
|
||||
|
||||
|
||||
# Installation :
|
||||
|
||||
### On Debian:
|
||||
|
||||
Add to repo source list (**not required if you are using the installer from the Reference Platform**):
|
||||
|
||||
```shell
|
||||
echo "deb http://repo.linaro.org/ubuntu/linaro-overlay jessie main" | sudo tee /etc/apt/sources.list.d/linaro-overlay-repo.list
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E13D88F7E3C1D56C
|
||||
```
|
||||
|
||||
Update the source list and install the dependencies:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get install openssh-server rsync openjdk-7-jre openjdk-7-jdk
|
||||
sudo apt-get build-dep build-essential
|
||||
```
|
||||
|
||||
Install Hadoop packages:
|
||||
|
||||
```shell
|
||||
sudo apt-get install -ft jessie bigtop-tomcat bigtop-utils hadoop* spark* hue* zookeeper* hive* hbase* oozie* pig* mahout*
|
||||
```
|
||||
|
||||
### On CentOS:
|
||||
|
||||
```shell
|
||||
sudo wget http://repo.linaro.org/rpm/linaro-overlay/centos-7/linaro-overlay.repo -O /etc/yum.repos.d/linaro-overlay.repo
|
||||
sudo yum update
|
||||
sudo yum -y install openssh-server openssh-clients java-1.7.0-openjdk*
|
||||
sudo yum install -y bigtop-tomcat bigtop-utils hadoop* spark* hue* zookeeper* hive* hbase* oozie* pig* mahout*
|
||||
```
|
||||
|
||||
### Verifying Installation
|
||||
|
||||
Packages would get installed in /usr/lib
|
||||
|
||||
Type hadoop to check if hadoop is installed:
|
||||
|
||||
```shell
|
||||
hadoop
|
||||
```
|
||||
|
||||
And you should see the following:
|
||||
|
||||
```shell
|
||||
linaro@debian:~$ hadoop
|
||||
Usage: hadoop [--config confdir] COMMAND
|
||||
where COMMAND is one of:
|
||||
fs run a generic filesystem user client
|
||||
version print the version
|
||||
jar <jar> run a jar file
|
||||
checknative [-a|-h] check native hadoop and compression libraries availability
|
||||
distcp <srcurl> <desturl> copy file or directories recursively
|
||||
archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
|
||||
classpath prints the class path needed to get the
|
||||
credential interact with credential providers
|
||||
Hadoop jar and the required libraries
|
||||
daemonlog get/set the log level for each daemon
|
||||
trace view and modify Hadoop tracing settings
|
||||
or
|
||||
CLASSNAME run the class named CLASSNAME
|
||||
```
|
||||
|
||||
Most commands print help when invoked w/o parameters.
|
||||
|
||||
Next Step: [Setup, Configuration and Running Hadoop](ODPi-BigTop-Hadoop-Config-Run.md)
|
|
@ -0,0 +1,376 @@
|
|||
# OpenStack Liberty - Debian Jessie
|
||||
|
||||
# Introduction
|
||||
|
||||
In general, the instructions in the Liberty install guide should be followed: http://docs.openstack.org/liberty/install-guide-ubuntu/overview.html. This guide will describe changes to the documented procedures that should be kept in mind while going through the guide.
|
||||
|
||||
Each section below will correspond to a section in the guide. Guide sections that do not have a corresponding section below may be followed as-is.
|
||||
|
||||
# Release Notes
|
||||
|
||||
## Configuring images for aarch64
|
||||
|
||||
An image must be configured specially in glance to be able to boot correctly on aarch64.
|
||||
To attach the devices to the virtio bus (which does not allow hotplugging a volume, but will work if the image does not have SCSI support), the following properties must be set:
|
||||
|
||||
```shell
|
||||
--property hw_machine_type=virt
|
||||
--property os_command_line='root=/dev/vda rw rootwait console=ttyAMA0'
|
||||
--property hw_cdrom_bus=virtio
|
||||
```
|
||||
|
||||
To attach the devices to the SCSI bus (which does allow hotplugging a volume, but might not be supported by the guest image), the following properties must be set:
|
||||
|
||||
```shell
|
||||
--property hw_scsi_model='virtio-scsi'
|
||||
--property hw_disk_bus='scsi'
|
||||
--property os_command_line='root=/dev/sda rw rootwait console=ttyAMA0'
|
||||
```
|
||||
|
||||
You can set these properties when you are uploading the image into glance, or modify the image if you have already uploaded it.
|
||||
|
||||
|
||||
# Pre-Installation
|
||||
|
||||
## Verify/enable additional repositories
|
||||
|
||||
Verify that the `linaro-overlay` and `jessie-backports` repositories are enabled.
|
||||
|
||||
Check if they are available by checking `/etc/apt/sources.list` and `/etc/apt/sources.list.d`.
|
||||
|
||||
If missing, add the following to `/etc/apt/sources.list.d` directory:
|
||||
|
||||
```shell
|
||||
$ echo "deb http://repo.linaro.org/ubuntu/linaro-overlay jessie main" | sudo tee /etc/apt/sources.list.d/linaro-overlay-repo.list
|
||||
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E13D88F7E3C1D56C
|
||||
```
|
||||
|
||||
If missing, add the following to `/etc/apt/sources.list.d` directory:
|
||||
|
||||
```shell
|
||||
$ echo "deb http://httpredir.debian.org/debian jessie-backports main" | sudo tee /etc/apt/sources.list.d/jessie-backports.list
|
||||
```
|
||||
|
||||
## Modify repository priorities
|
||||
|
||||
Create `/etc/apt/preferences.d/jessie-backports`:
|
||||
|
||||
```shell
|
||||
Package: *
|
||||
Pin: release a=jessie-backports
|
||||
Pin-Priority: 500
|
||||
```
|
||||
|
||||
Then, make sure to run apt-get update:
|
||||
|
||||
```shell
|
||||
$ sudo apt-get update
|
||||
```
|
||||
|
||||
## Environment
|
||||
|
||||
Update `/etc/hosts` to add “controller” as an alias for localhost.
|
||||
|
||||
```shell
|
||||
127.0.0.1 localhost controller
|
||||
```
|
||||
|
||||
## Disable IPV6
|
||||
|
||||
Add the following to `/etc/sysctl.conf`:
|
||||
|
||||
```shell
|
||||
net.ipv6.conf.all.disable_ipv6 = 1
|
||||
net.ipv6.conf.default.disable_ipv6 = 1
|
||||
net.ipv6.conf.lo.disable_ipv6 = 1
|
||||
net.ipv6.conf.eth0.disable_ipv6 = 1
|
||||
```
|
||||
|
||||
Run sysctl to apply the changes:
|
||||
|
||||
```shell
|
||||
$ sudo sysctl -p
|
||||
```
|
||||
|
||||
# Following the Openstack guide...
|
||||
|
||||
OpenStack guide: http://docs.openstack.org/liberty/install-guide-ubuntu/overview.html
|
||||
|
||||
## Environment
|
||||
|
||||
### Openstack Packages
|
||||
|
||||
Do not enable the `cloud-archive:liberty` repository.
|
||||
|
||||
Install some dependencies:
|
||||
|
||||
```shell
|
||||
$ sudo apt-get install openstack-cloud-services python-pymysql
|
||||
```
|
||||
|
||||
Answer the questions asked by debconf:
|
||||
|
||||
* New password for the MySQL **root** user: \<enter a password -- possibly "root">
|
||||
|
||||
Install the openstack client:
|
||||
|
||||
```shell
|
||||
$ sudo apt-get install python-openstackclient
|
||||
```
|
||||
|
||||
### NoSQL Database
|
||||
|
||||
The instructions in this section are not required, as Telemetry is not installed.
|
||||
|
||||
## Add the Identity service (Keystone)
|
||||
|
||||
Follow the Openstack guide with the exception of the following changes documented here.
|
||||
|
||||
### Install and configure
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
Omit this section of the guide. These operations will be done during meta package installation later.
|
||||
|
||||
#### Install and configure components
|
||||
|
||||
Install the apache and the keystone meta package:
|
||||
|
||||
```shell
|
||||
$ sudo apt-get install openstack-cloud-identity
|
||||
```
|
||||
|
||||
Answer the questions asked by debconf:
|
||||
|
||||
* Set up a database for Keystone: **Yes**
|
||||
* Configure database for keystone with dbconfig-common: **Yes**
|
||||
* Database type to be used by keystone: **mysql**
|
||||
* Password of the database's administrative user: **\<use the password you used during database install>**
|
||||
* MySQL application password for keystone: **\<enter a password>**
|
||||
* Authentication server administration token: **\<enter a token value>**
|
||||
* Register administration tenants? **Yes**
|
||||
* Password of the administrative user: **\<enter a password>**
|
||||
* Register Keystone endpoint? **Yes**
|
||||
* Keystone endpoint IP address: **\<use default>**
|
||||
|
||||
#### Configure the Apache HTTP server
|
||||
|
||||
Omit this section of the guide.
|
||||
|
||||
#### Finalize the installation
|
||||
|
||||
Omit this section of the guide.
|
||||
|
||||
### Create the service entity and API endpoints
|
||||
|
||||
Omit this section of the guide.
|
||||
|
||||
### Create projects, users, and roles
|
||||
|
||||
Omit this section of the guide.
|
||||
|
||||
|
||||
## Add the Image service (Glance)
|
||||
|
||||
Follow the Openstack guide with the exception of the following changes documented here.
|
||||
|
||||
### Install and configure
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
Omit this section of the guide. These operations will be done during package installation later.
|
||||
|
||||
#### Install and configure components
|
||||
|
||||
```shell
|
||||
$ sudo apt-get install glance
|
||||
```
|
||||
|
||||
Answer the questions asked by debconf:
|
||||
|
||||
* Set up a database for Glance: **Yes**
|
||||
* Configure database for glance-common with dbconfig-common? **Yes**
|
||||
* Database type to be used by glance-common: **mysql**
|
||||
* Password of the database's administrative user: **\<enter a password>**
|
||||
* MySQL application password for glance-common: **\<enter a password>**
|
||||
* IP address of your RabbitMQ host: **\<use default, or localhost, or controller>**
|
||||
* Username for connection to the RabbitMQ server: **guest**
|
||||
* Password for connection to the RabbitMQ server: **guest**
|
||||
* Pipeline flavor: **keystone**
|
||||
* Authentication server hostname: **\<use default, or localhost, or controller>**
|
||||
* Authentication server password: **\<enter a password>**
|
||||
* Register Glance in the Keystone endpoint catalog? **Yes**
|
||||
* Keystone authentication token: **\<enter the keystone token>**
|
||||
|
||||
#### Finalize installation
|
||||
|
||||
Omit this section of the guide.
|
||||
|
||||
### Verify operation
|
||||
|
||||
The CirrOS image to run on aarch64 is the file that ends in `-uec.tar.gz`. It must be extracted and each file (kernel, initrd, disk image) uploaded to Glance separately.
|
||||
|
||||
Download the CirrOS AArch64 UEC tarball and untar it:
|
||||
|
||||
```shell
|
||||
$ wget http://download.cirros-cloud.net/daily/20150923/cirros-d150923-aarch64-uec.tar.gz
|
||||
$ tar xvf cirros-d150923-aarch64-uec.tar.gz
|
||||
```
|
||||
|
||||
Upload the image parts into Glance. You will need to make note of the IDs assigned to the kernel and initrd and pass them on the command line when uploading the disk image:
|
||||
|
||||
```shell
|
||||
$ glance image-create --name "cirros-kernel" --visibility public --progress \
|
||||
--container-format aki --disk-format aki --file cirros-d150923-aarch64-vmlinuz
|
||||
|
||||
$ glance image-create --name "cirros-initrd" --visibility public --progress \
|
||||
--container-format ari --disk-format ari --file cirros-d150923-aarch64-initrd
|
||||
|
||||
$ glance image-create --name "cirros" --visibility public --progress \
|
||||
--property hw_machine_type=virt --property hw_cdrom_bus=virtio \
|
||||
-property os_command_line='console=ttyAMA0' \
|
||||
--property kernel_id=KERNEL_ID --property ramdisk_id=INITRD_ID \
|
||||
--container-format ami --disk-format ami --file cirros-d150923-aarch64-blank.img
|
||||
```
|
||||
|
||||
## Add the Compute service (Nova)
|
||||
|
||||
Follow the Openstack guide with the exception of the following changes documented here.
|
||||
|
||||
### Install and configure
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
Omit this section of the guide. These operations will be done during package installation later.
|
||||
|
||||
#### Install and configure components
|
||||
|
||||
```shell
|
||||
$ sudo apt-get install nova-api nova-cert nova-conductor \
|
||||
nova-consoleauth nova-scheduler nova-compute
|
||||
```
|
||||
|
||||
Answer the questions asked by debconf:
|
||||
|
||||
* Set up a database for Nova: **Yes**
|
||||
* Configure database for nova-common with dbconfig-common? **Yes**
|
||||
* Database type to be used by nova-common: **mysql**
|
||||
* Password of the database's administrative user: **\<enter a password>**
|
||||
* MySQL application password for nova-common: **\<enter a password>**
|
||||
* IP address of your RabbitMQ host: **\<use default, or localhost, or controller>**
|
||||
* Username for connection to the RabbitMQ server: **guest**
|
||||
* Password for connection to the RabbitMQ server: **guest**
|
||||
* Auth server hostname: **\<use default, or localhost, or controller>**
|
||||
* Auth server password: **\<enter a password>**
|
||||
* Neutron server URL: **http://\<use default, or localhost, or controller>:9696**
|
||||
* Neutron administrator password: **\<enter a password>**
|
||||
* Metadata proxy shared secret: **\<enter a shared secret string>**
|
||||
* API to activate: choose **osapi_compute and metadata**
|
||||
* Value for my_ip: **\<default>**
|
||||
* Register Nova in the Keystone endpoint catalog? **Yes**
|
||||
* Keystone authentication token: **\<enter the keystone token>**
|
||||
|
||||
#### Finalize installation
|
||||
|
||||
Ensure that vnc and spice are disabled in `/etc/nova/nova.conf`. Look for the following keys in `nova.conf` and set them to False:
|
||||
|
||||
```shell
|
||||
vnc_enabled=false
|
||||
|
||||
[spice]
|
||||
enabled=false
|
||||
```
|
||||
|
||||
Enable KVM by ensuring the following is in `nova-compute.conf`:
|
||||
|
||||
```shell
|
||||
[DEFAULT]
|
||||
compute_driver=libvirt.LibvirtDriver
|
||||
|
||||
[libvirt]
|
||||
virt_type=kvm
|
||||
```
|
||||
|
||||
**NOTE: Until kernel support for KVM is properly enabled, instances can be run in emulation by ensuring the following is in `nova-compute.conf`**:
|
||||
|
||||
```shell
|
||||
[DEFAULT]
|
||||
compute_driver=libvirt.LibvirtDriver
|
||||
|
||||
[libvirt]
|
||||
cpu_mode = custom
|
||||
virt_type = qemu
|
||||
cpu_model = cortex-a57
|
||||
```
|
||||
|
||||
**IMPORTANT: If you make changes to `nova.conf`, or `nova-compute.conf`, restart the nova services:**
|
||||
|
||||
```shell
|
||||
$ sudo service nova-compute restart
|
||||
```
|
||||
|
||||
|
||||
## Add the Networking service (Neutron)
|
||||
|
||||
Follow the Openstack guide with the exception of the following changes documented here.
|
||||
|
||||
### Install and configure
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
Omit this section of the guide. These operations will be done during package installation later.
|
||||
|
||||
#### Install and configure components
|
||||
|
||||
```shell
|
||||
$ sudo apt-get install neutron-server neutron-plugin-ml2 \
|
||||
neutron-plugin-linuxbridge-agent neutron-dhcp-agent \
|
||||
neutron-metadata-agent
|
||||
```
|
||||
|
||||
Answer the questions asked by debconf:
|
||||
|
||||
* neutron-common
|
||||
* Set up a database for Neutron: **Yes**
|
||||
* Configure database for neutron-common with dbconfig-common? **Yes**
|
||||
* Database type to be used by neutron-common: **mysql**
|
||||
* Password of the database's administrative user: **\<enter a password>**
|
||||
* MySQL application password for neutron-common: **\<enter a password>**
|
||||
* IP address of your RabbitMQ host: **\<use default, or localhost, or controller>**
|
||||
* Username for connection to the RabbitMQ server: **guest**
|
||||
* Password for connection to the RabbitMQ server: **guest**
|
||||
* Authentication server hostname: **\<use default, or localhost, or controller>**
|
||||
* Authentication server password: **\<enter a password>**
|
||||
* Neutron plugin: **ml2**
|
||||
* neutron-metadata-agent
|
||||
* Auth server hostname: **\<use default, or localhost, or controller>**
|
||||
* Auth server password: **\<enter a password>**
|
||||
* Name of the region to be used by the metadata server: **\<default>**
|
||||
* Metadata proxy shared secret: **\<enter the shared secret string entered for Nova>**
|
||||
* neutron-server
|
||||
* Register Neutron in the Keystone endpoint catalog? **Yes**
|
||||
* Keystone authentication token: **\<enter the keystone token>**
|
||||
|
||||
#### Configure networking options
|
||||
Follow "Networking Option 1: Provider networks".
|
||||
|
||||
#### Finalize installation
|
||||
|
||||
Omit this section of the guide.
|
||||
|
||||
|
||||
## Launch an instance
|
||||
|
||||
### Create virtual networks
|
||||
|
||||
Follow section “Public provider network”
|
||||
|
||||
### Launch an instance
|
||||
|
||||
Follow section “Launch an instance on the public network”
|
||||
|
||||
NOTE: Accessing an image via the virtual console (VNC) will not work, as VNC is not supported. You may access the console log using the following command:
|
||||
|
||||
```shell
|
||||
$ nova console-log --length=10 INSTANCE_ID
|
||||
```
|
|
@ -0,0 +1,68 @@
|
|||
### Overdrive
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
The [UEFI/EDK2 guide for EE](../UEFI-EDK2-Guide-EE.md) provides information on how to flash the boot firmware for Overdrive (AMI Bios).
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.03)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.03/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.03 release, the kernel is based on *4.4.0*.
|
||||
|
||||
For future releases we will also have kernel config fragments for key functionality that will make it easier for other projects and distributions to consume.
|
||||
|
||||
The Reference Platform kernel will act as an integration point (very similar to linux-next) for various upstream-targeted features and platform-enablement code on the latest kernel. Please read the [kernel policy](../../KernelPolicy.md) on how this kernel will be maintained. It is not meant to be a stable kernel - the [LSK](https://wiki.linaro.org/LSK) is already available for that.
|
||||
|
||||
### Quick Start
|
||||
|
||||
#### AMD Overdrive
|
||||
|
||||
Since the EDK2 based firmware is not yet supported (work in progress), the original AMI BIOS based firmware from AMD is required.
|
||||
|
||||
At the time of the 16.03 release the latest firmware version for Overdrive (*B0*) is 1.0.0.1. Latest for *rev A* is still 0.0.7.4.
|
||||
|
||||
*A* and *B0* are both supported by the 16.03 release (`A` requires an external PCIe NIC)
|
||||
|
||||
After flashing/updating the firmware, proceed to the network installer instructions in order to install your favorite distribution. No special setup is required for Overdrive.
|
||||
|
||||
##### Flashing the firmware
|
||||
|
||||
Follow the instructions available as part of the [UEFI EDK2 Guide](../UEFI-EDK2-Guide-EE.md#amd-overdrive) in order to flash your AMD Overdrive. The tested flashing process requires [DediProg SF100](http://www.dediprog.com/pd/spi-flash-solution/SF100), but a board like the [SPI Hook](http://www.tincantools.com/SPI_Hook.html) should also be compatible with it (not yet tested).
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../Install-CentOS-7.md)
|
||||
|
||||
Enterprise Test Reports: ([Debian](https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/EE-Debian-RPB-16.03-TestReport.pdf) / [CentOS](https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/EE-CentOS-RPB-16.03-TestReport.pdf))
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,367 @@
|
|||
## UEFI/EDK2
|
||||
|
||||
EDK2 is a modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications.
|
||||
|
||||
The reference UEFI/EDK2 tree used by the EE-RPB comes directly from [upstream](https://github.com/tianocore/edk2), based on a specific commit that gets validated and published as part of the Linaro EDK2 effort (which is available at [https://git.linaro.org/uefi/linaro-edk2.git](https://git.linaro.org/uefi/linaro-edk2.git)).
|
||||
|
||||
Since there is no hardware specific support as part of EDK2 upstream, an external module called [OpenPlatformPkg](https://git.linaro.org/uefi/OpenPlatformPkg.git) is also required as part of the build process.
|
||||
|
||||
EDK2 is currently used by 96boards LeMaker Cello, AMD Overdrive, ARM Juno r0/r1/r2, HiSilicon D02 and HiSilicon D03.
|
||||
|
||||
This guide provides enough information on how to build UEFI/EDK2 from scratch, but meant to be a quick guide. For further information please also check the official Linaro UEFI documentation, available at [https://wiki.linaro.org/ARM/UEFI](https://wiki.linaro.org/ARM/UEFI) and [https://wiki.linaro.org/LEG/Engineering/Kernel/UEFI/build](https://wiki.linaro.org/LEG/Engineering/Kernel/UEFI/build)
|
||||
|
||||
### Building
|
||||
|
||||
#### Pre-Requisites
|
||||
|
||||
Make sure the build dependencies are available at your host machine.
|
||||
|
||||
On Debian/Ubuntu:
|
||||
|
||||
```shell
|
||||
sudo apt-get install uuid-dev build-essential aisle
|
||||
```
|
||||
|
||||
On RHEL/CentOS/Fedora:
|
||||
|
||||
```shell
|
||||
sudo yum install uuid-devel libuuid-devel aisle
|
||||
```
|
||||
|
||||
Also make sure you have the right 'acpica-unix' version at your host system. The current one required by the 16.03/16.06 releases is 20150930, and you can find the packages (debian) at the 'linaro-overlay':
|
||||
|
||||
```shell
|
||||
wget http://repo.linaro.org/ubuntu/linaro-overlay/pool/main/a/acpica-unix/acpica-tools_20150930-1.linarojessie.1_amd64.deb
|
||||
wget http://repo.linaro.org/ubuntu/linaro-overlay/pool/main/a/acpica-unix/acpidump_20150930-1.linarojessie.1_all.deb
|
||||
wget http://repo.linaro.org/ubuntu/linaro-overlay/pool/main/a/acpica-unix/iasl_20150930-1.linarojessie.1_all.deb
|
||||
sudo dpkg -i --force-all *.deb
|
||||
```
|
||||
|
||||
If cross compiling, you also need to separately add the required toolchains. Ubuntu has a prebuilt arm-linux-gnueabihf toolchain, but not an aarch64-linux-gnu one.
|
||||
|
||||
Download Linaro's GCC 4.9 cross-toolchain for Aarch64, and make it available in your 'PATH'. You can download and use the Linaro GCC binary (Linaro GCC 4.9-2015.02), available at [http://releases.linaro.org/15.02/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu.tar.xz](http://releases.linaro.org/15.02/components/toolchain/binaries/aarch64-linux-gnu/gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu.tar.xz)
|
||||
|
||||
```shell
|
||||
mkdir arm-tc arm64-tc
|
||||
tar --strip-components=1 -C ${PWD}/arm-tc -xf gcc-linaro-arm-linux-gnueabihf-4.9-*_linux.tar.xz
|
||||
tar --strip-components=1 -C ${PWD}/arm64-tc -xf gcc-linaro-aarch64-linux-gnu-4.9-*_linux.tar.xz
|
||||
export PATH="${PWD}/arm-tc/bin:${PWD}/arm64-tc/bin:$PATH"
|
||||
```
|
||||
|
||||
#### Getting the source code
|
||||
|
||||
UEFI/EDK2:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/tianocore/edk2.git
|
||||
git clone https://git.linaro.org/uefi/OpenPlatformPkg.git
|
||||
cd edk2
|
||||
git checkout -b stable-baseline d0d34cdf1d2752f0d7c3ca41af7e7ed29c221d11 # revision provided by https://git.linaro.org/uefi/linaro-edk2.git
|
||||
ln -s ../OpenPlatformPkg
|
||||
```
|
||||
|
||||
ARM Trusted Firmware (in case it is supported by your target hardware, only used by Juno at this point):
|
||||
|
||||
```shell
|
||||
git clone https://github.com/ARM-software/arm-trusted-firmware.git
|
||||
cd arm-trusted-firmware
|
||||
git checkout -b stable-baseline v1.2 # suggested latest stable release
|
||||
```
|
||||
|
||||
UEFI Tools (helpers and scripts to make the build process easy):
|
||||
|
||||
```shell
|
||||
git clone git://git.linaro.org/uefi/uefi-tools.git
|
||||
```
|
||||
|
||||
#### Building UEFI/EDK2 for Juno R0/R1
|
||||
|
||||
```shell
|
||||
export AARCH64_TOOLCHAIN=GCC49
|
||||
export LINARO_EDK2_DIR=${PWD}/edk2
|
||||
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
|
||||
export ARMTF_DIR=${PWD}/arm-trusted-firmware
|
||||
cd ${LINARO_EDK2_DIR}
|
||||
${UEFI_TOOLS_DIR}/uefi-build.sh -b DEBUG -a $ARMTF_DIR juno
|
||||
```
|
||||
|
||||
The output files:
|
||||
|
||||
- `Build/ArmJuno/DEBUG_GCC49/FV/bl1.bin`
|
||||
- `Build/ArmJuno/DEBUG_GCC49/FV/fip.bin`
|
||||
|
||||
#### Building UEFI/EDK2 for D02
|
||||
|
||||
```shell
|
||||
export AARCH64_TOOLCHAIN=GCC49
|
||||
export LINARO_EDK2_DIR=${PWD}/edk2
|
||||
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
|
||||
```
|
||||
|
||||
Since D02 support is not yet merged in OpenPlatformPkg, a specific branch needs to be used for it:
|
||||
|
||||
```shell
|
||||
cd OpenPlatformPkg
|
||||
git checkout d02-release
|
||||
```
|
||||
|
||||
Then just proceed with the build:
|
||||
|
||||
```shel
|
||||
cd ${LINARO_EDK2_DIR}
|
||||
${UEFI_TOOLS_DIR}/uefi-build.sh -b DEBUG d02
|
||||
```
|
||||
|
||||
The output file:
|
||||
|
||||
- `Build/Pv660D02/DEBUG_GCC49/FV/PV660D02.fd`
|
||||
|
||||
#### Building UEFI/EDK2 for Overdrive
|
||||
|
||||
```shell
|
||||
export AARCH64_TOOLCHAIN=GCC49
|
||||
export LINARO_EDK2_DIR=${PWD}/edk2
|
||||
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
|
||||
```
|
||||
|
||||
Since support is now available in the OpenPlatformPkg upstream tree, just proceed with the build:
|
||||
|
||||
```shel
|
||||
cd ${LINARO_EDK2_DIR}
|
||||
${UEFI_TOOLS_DIR}/uefi-build.sh -b DEBUG overdrive
|
||||
```
|
||||
|
||||
The output file:
|
||||
|
||||
- `Build/Overdrive/DEBUG_GCC49/FV/STYX_ROM.fd`
|
||||
|
||||
#### Building UEFI/EDK2 for HuskyBoard / Cello
|
||||
|
||||
```shell
|
||||
export AARCH64_TOOLCHAIN=GCC49
|
||||
export LINARO_EDK2_DIR=${PWD}/edk2
|
||||
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
|
||||
```
|
||||
|
||||
Since support is now available in the OpenPlatformPkg upstream tree, just proceed with the build:
|
||||
|
||||
```shel
|
||||
cd ${LINARO_EDK2_DIR}
|
||||
${UEFI_TOOLS_DIR}/uefi-build.sh -b DEBUG cello
|
||||
```
|
||||
|
||||
The output file:
|
||||
|
||||
- `Build/Cello/DEBUG_GCC49/FV/STYX_ROM.fd`
|
||||
|
||||
### Flashing
|
||||
|
||||
#### Juno R0/R1
|
||||
|
||||
##### Clean flash
|
||||
|
||||
Power on the board, and (if prompted) press Enter to stop auto boot. Once in Juno's boot monitor, use the following commands to erase Juno's flash and export it as an external storage:
|
||||
|
||||
```shell
|
||||
Cmd> flash
|
||||
Flash> eraseall
|
||||
Flash> quit
|
||||
Cmd> usb_on
|
||||
```
|
||||
|
||||
This will delete any binaries and UEFI settings currently stored in the Juno's flash, then mount the Juno's MMC card as an external storage device on your host PC.
|
||||
|
||||
In order to do a clean flash on Juno, you will also need to flash the firmware provided by ARM, which can be downloaded from the Linaro ARM LT Versatile Express Firmware git tree:
|
||||
|
||||
```shell
|
||||
git clone -b juno-0.11.6-linaro1 --depth 1 https://git.linaro.org/arm/vexpress-firmware.git
|
||||
```
|
||||
|
||||
Then copy over the UEFI/EDK2 files that were built in the previous steps, making sure they get copied to the right firmware folder location:
|
||||
|
||||
```shell
|
||||
cp $LINARO_EDK2_DIR/Build/ArmJuno/DEBUG_GCC49/FV/bl1.bin vexpress-firmware/SOFTWARE
|
||||
cp $LINARO_EDK2_DIR/Build/ArmJuno/DEBUG_GCC49/FV/fip.bin vexpress-firmware/SOFTWARE
|
||||
```
|
||||
|
||||
Now just copy all the files that are now available in the 'vexpress-firmware' folder into the mounted MMC card (which is provided as an external storage after calling 'usb_on'):
|
||||
|
||||
```shell
|
||||
cp -rf vexpress-firmware/* /media/recovery
|
||||
```
|
||||
|
||||
Be sure to issue a sync command on your host PC afterwards, which will guarantee that the copy has completed:
|
||||
|
||||
```shell
|
||||
sync
|
||||
```
|
||||
|
||||
Finally, power cycle the Juno. After it has finished copying the contents of the MMC card into Flash, the board will boot up and run the new firmware.
|
||||
|
||||
##### Upgrading UEFI/EDK2
|
||||
|
||||
If you already have a known working firmware available in your Juno, you simply need to update 'bl1.bin' and 'fip.bin', by mounting Juno's MMC over usb (as described in the procedure for clean flash).
|
||||
|
||||
Export Juno's MMC as a usb storage device on your host machine:
|
||||
|
||||
```shell
|
||||
Cmd> usb_on
|
||||
```
|
||||
|
||||
Then just copy over the UEFI/EDK2 files that were built in the previous steps:
|
||||
|
||||
```shell
|
||||
cp $LINARO_EDK2_DIR/Build/ArmJuno/DEBUG_GCC49/FV/bl1.bin /media/recovery/SOFTWARE
|
||||
cp $LINARO_EDK2_DIR/Build/ArmJuno/DEBUG_GCC49/FV/fip.bin /media/recovery/SOFTWARE
|
||||
```
|
||||
|
||||
Be sure to issue a sync command on your host PC afterwards, which will guarantee that the copy has completed:
|
||||
|
||||
```shell
|
||||
sync
|
||||
```
|
||||
|
||||
Then just power cycle the Juno and the board should see and use the new firmware.
|
||||
|
||||
#### D02
|
||||
|
||||
Flashing D02 requires the board to have a working ethernet connection to the FTP server hosting the firmware (since the recovery UEFI image provides an update path via FTP fetch + flash). Flashing also requires entering the Embedded Boot Loader (EBL). This can be reached by typing 'exit' on the UEFI shell that will bring you to a bios-like menu. Goto 'Boot Manager' to find EBL.
|
||||
|
||||
##### Clean flash
|
||||
|
||||
First make sure the built firmware is available in your FTP server ('PV660D02.fd'):
|
||||
|
||||
```shell
|
||||
cp PV660D02.fd /srv/tftp/
|
||||
```
|
||||
|
||||
Now follow the steps below in order to fetch and flash the new firmware:
|
||||
|
||||
1. Power off the board and unplug the power supply.
|
||||
2. Push the dial switch **3. CPU0_SPI_SEL** to **off** (check [http://open-estuary.com/d02-2/](http://open-estuary.com/d02-2/) for the board picture)
|
||||
- The board has two SPI flash chips, and this switch selects which one to boot from.
|
||||
3. Power on the device, stop the boot from the serial console, and get into the the 'Embedded Boot Loader (EBL)' shell
|
||||
4. Push the dial switch **3. CPU0_SPI_SEL** to **on**
|
||||
- **NOTE:** make sure to run the step above before running 'biosupdate' (as it modifies the flash), or else the backup BIOS will also be modified and there will be no way to unbrick the board (unless sending it back to Huawei).
|
||||
5. Download and flash the firmware file from the FTP server:
|
||||
'biosupdate <server ip> -u <user> -p <password> -f <UEFI image file name> master' like
|
||||
'D02 > biosupdate 10.0.0.10 -u anonymous -p anonymous -f PV660D02.fd master'
|
||||
6. Exit the EBL console and reboot the board
|
||||
|
||||
##### Upgrading firmware
|
||||
|
||||
There are 2 options for updating the firmware, first via network and the second via USB storage.
|
||||
|
||||
Network upgrade:
|
||||
|
||||
1. Make sure the built firmware is available in your FTP server ('PV660D02.fd')
|
||||
2. Stop UEFI boot, select 'Boot Manager' then 'Embedded Boot Loader (EBL)'
|
||||
3. Download and flash the firmware file from the FTP server:
|
||||
'biosupdate <server ip> -u <user> -p <password> -f <UEFI image file name> master', like
|
||||
'D02 > biosupdate 10.0.0.10 -u anonymous -p anonymous -f PV660D02.fd master'
|
||||
4. Exit the EBL console and reboot the board
|
||||
|
||||
USB storage upgrade:
|
||||
- Copy the '.fd' file to a FAT32 partition on USB (UEFI can only recognize FAT32 file system), then run the following command (from **EBL**):
|
||||
'newbios fs1:\<file path to .fd file>'
|
||||
|
||||
On EBL fs1 is for USB first partition, while fs0 the ramdisk.
|
||||
|
||||
#### D03
|
||||
|
||||
Flashing D03 requires the board to have a working ethernet connection to the FTP server hosting the firmware (since the recovery UEFI image provides an update path via FTP fetch + flash). Flashing also requires entering the Embedded Boot Loader (EBL). This can be reached by typing 'exit' on the UEFI shell that will bring you to a bios-like menu. Goto 'Boot Manager' to find EBL.
|
||||
|
||||
##### Clean flash
|
||||
|
||||
First make sure the built firmware is available in your FTP server ('D03.fd'):
|
||||
|
||||
```shell
|
||||
cp D03.fd /srv/tftp/
|
||||
```
|
||||
|
||||
Now follow the steps below in order to fetch and flash the new firmware:
|
||||
|
||||
1. Power off the board and unplug the power supply.
|
||||
2. Push the dial switch **3. CPU0_SPI_SEL** to **off** (check [http://open-estuary.com/d03-2/](http://open-estuary.com/d03-2/) for the board picture)
|
||||
- The board has two SPI flash chips, and this switch selects which one to boot from.
|
||||
3. Power on the device, stop the boot from the serial console, and get into the the 'Embedded Boot Loader (EBL)' shell
|
||||
4. Push the dial switch **3. CPU0_SPI_SEL** to **on**
|
||||
- **NOTE:** make sure to run the step above before running 'biosupdate' (as it modifies the flash), or else the backup BIOS will also be modified and there will be no way to unbrick the board (unless sending it back to Huawei).
|
||||
5. Download and flash the firmware file from the FTP server:
|
||||
'biosupdate <server ip> -u <user> -p <password> -f <UEFI image file name> master' like
|
||||
'D02 > biosupdate 10.0.0.10 -u anonymous -p anonymous -f D03.fd master'
|
||||
6. Exit the EBL console and reboot the board
|
||||
|
||||
##### Upgrading firmware
|
||||
|
||||
There are 2 options for updating the firmware, first via network and the second via USB storage.
|
||||
|
||||
Network upgrade:
|
||||
|
||||
1. Make sure the built firmware is available in your FTP server ('D03.fd')
|
||||
2. Stop UEFI boot, select 'Boot Manager' then 'Embedded Boot Loader (EBL)'
|
||||
3. Download and flash the firmware file from the FTP server:
|
||||
'biosupdate <server ip> -u <user> -p <password> -f <UEFI image file name> master', like
|
||||
'D02 > biosupdate 10.0.0.10 -u anonymous -p anonymous -f D03.fd master'
|
||||
4. Exit the EBL console and reboot the board
|
||||
|
||||
USB storage upgrade:
|
||||
- Copy the '.fd' file to a FAT32 partition on USB (UEFI can only recognize FAT32 file system), then run the following command (from **EBL**):
|
||||
'newbios fs1:\<file path to .fd file>'
|
||||
|
||||
On EBL fs1 is for USB first partition, while fs0 the ramdisk.
|
||||
|
||||
#### AMD Overdrive / HuskyBoard / Cello
|
||||
|
||||
##### Clean flash
|
||||
|
||||
###### DediProg SF100
|
||||
|
||||
Use [DediProg SF100](http://www.dediprog.com/pd/spi-flash-solution/sf100) to flash the firmware via SPI, by plugging the programming unit into the Overdrive/Husky/Cello board 2x4 pin header (labeled SCP SPI J5 on Overdrive).
|
||||
|
||||
The Dediprog flashing tool is also available for Linux, please check for [https://github.com/DediProgSW/SF100Linux](https://github.com/DediProgSW/SF100Linux) for build and use instructions.
|
||||
|
||||
First unplug the power cord before flashing the new firmware, then erase the SPI flash memory:
|
||||
|
||||
```shell
|
||||
dpcmd --type MX25L12835F -e
|
||||
```
|
||||
|
||||
Now just flash the new firmware:
|
||||
|
||||
```shell
|
||||
dpcmd --type MX25L12835F -p FIRMWARE.rom
|
||||
```
|
||||
|
||||
Then just power cycle the board, and it should boot with the new firmware.
|
||||
|
||||
###### SPI Hook
|
||||
|
||||
Use [SPI Hook](http://www.tincantools.com/SPI_Hook.html) and _flashrom_ to flash the firmware via SPI, by plugging the programming unit into the Overdrive/Husky/Cello board 2x4 pin header (labeled SCP SPI J5 on Overdrive).
|
||||
|
||||
In order to use SPI Hook, make sure _flashrom_ is recent enough. This utility is used to identify, read, write, verify and erase flash chips. You can find the _flashrom_ package in most Linux distributions, but make sure the version at least v.0.9.8. If older, please just build latest from source, by going to [flashrom Downloads](https://www.flashrom.org/Downloads)
|
||||
|
||||
Depending on the size of the firmware image, flashrom might not be able to flash as it will complain that the size of the image is not a perfect match for the size of the SPI (partial flash only supported via the use of layouts). One easy way is just appending 0s at the end of the file, until it got the right size.
|
||||
|
||||
Example for the 4.5M based firmware:
|
||||
|
||||
```shell
|
||||
dd if=/dev/zero of=FIRMWARE.ROM ibs=512K count=23 obs=1M oflag=append conv=notrunc
|
||||
```
|
||||
|
||||
Connect the SPI cable, unplug the power cord and flash SPI:
|
||||
|
||||
```shell
|
||||
sudo flashrom -p ft2232_spi:type=2232h,port=A,divisor=2 -c "MX25L12835F/MX25L12845E/MX25L12865E" -w FIRMWARE.rom
|
||||
```
|
||||
|
||||
Then just power cycle the board, and it should boot with the new firmware.
|
||||
|
||||
##### Upgrading firmware
|
||||
|
||||
There is currently no easy way to update just the UEFI/EDK2 firmware, so please follow the clean flash process instead.
|
||||
|
||||
### Links and References:
|
||||
|
||||
- [ARM - Using Linaro's deliverables on Juno](https://community.arm.com/docs/DOC-10804)
|
||||
- [ARM - FAQ: General troubleshooting on the Juno](https://community.arm.com/docs/DOC-8396)
|
|
@ -0,0 +1,52 @@
|
|||
### X-Gene Mustang
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
TBD
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.03)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.03/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.03 release, the kernel is based on *4.4.0*.
|
||||
|
||||
For future releases we will also have kernel config fragments for key functionality that will make it easier for other projects and distributions to consume.
|
||||
|
||||
The Reference Platform kernel will act as an integration point (very similar to linux-next) for various upstream-targeted features and platform-enablement code on the latest kernel. Please read the [kernel policy](../../KernelPolicy.md) on how this kernel will be maintained. It is not meant to be a stable kernel - the [LSK](https://wiki.linaro.org/LSK) is already available for that.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../Install-CentOS-7.md)
|
||||
|
||||
Enterprise Test Reports: ([Debian](https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/EE-Debian-RPB-16.03-TestReport.pdf) / [CentOS](https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/EE-CentOS-RPB-16.03-TestReport.pdf))
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,87 @@
|
|||
### Highlights for 16.03 release:
|
||||
|
||||
***
|
||||
|
||||
###### Consumer and Enterprise Edition:
|
||||
#### Kernel
|
||||
- Unified tree shared between the CE and EE builds. Supports Hikey, Dragonboard, D02, APM X-Gene, HP Proliant m400 and AMD Overdrive.
|
||||
- 4.4.0 based, including under-review topic branches to extend the hardware support for the platforms available.
|
||||
- Device-Tree support for CE; ARM ACPI and PCIe support for Enterprise.
|
||||
- Single kernel config for all platforms in arch/arm64/configs/distro.config
|
||||
- Single kernel binary (package) for all platforms
|
||||
|
||||
***
|
||||
|
||||
###### Consumer Edition:
|
||||
|
||||
#### CE Debian RPB (common):
|
||||
- Upgrade to Debian 8.3 "Jessie"
|
||||
- Upgrade to the unified 4.4.0 Linux Kernel
|
||||
- Upgrade graphics components: Mesa 11.1.2 and Xserver 1.17.3
|
||||
- Rootfs automatically resized during the first boot
|
||||
|
||||
#### CE Debian RPB for DragonBoard™ 410:
|
||||
- Freedreno X11 video driver included by default (1.4.0)
|
||||
- Analog audio playback and record support
|
||||
- Upgrade Qualcomm Firmware Package to 1.2
|
||||
|
||||
#### CE Debian RPB for HiKey (CircuitCo & LeMaker):
|
||||
- Default Grub 2 boot configuration updated, now supporting kernel package upgrades
|
||||
- xserver-xorg-video-armsoc now included by default (still using software rendering, Mali integration expected as part of the next release)
|
||||
|
||||
#### CE AOSP RPB (common):
|
||||
- AOSP Android Marshmallow 6.0 (android-6.0.1_r16)
|
||||
|
||||
#### CE AOSP RPB for DragonBoard™ 410:
|
||||
- Initial build, available as Developer Preview (not suitable for end users).
|
||||
- Mesa and Freedreno support
|
||||
- Kernel 4.4.0
|
||||
|
||||
#### CE AOSP RPB for HiKey (CircuitCo & LeMaker):
|
||||
- AOSP Android Marshmallow 6.0 (android-6.0.1_r16)
|
||||
- 4.1 based kernel
|
||||
|
||||
#### CE OE/Yocto RPB:
|
||||
- Included the unified 4.4.0 kernel
|
||||
- meta-backports created, to contain backported recipes used by the reference platform
|
||||
|
||||
***
|
||||
|
||||
###### Enterprise Edition
|
||||
|
||||
#### Supported platforms:
|
||||
|
||||
- AMD Overdrive A0 (new) and B0
|
||||
- D02
|
||||
- APM X-Gene Mustang (new)
|
||||
- HP ProLiant m400 (new)
|
||||
|
||||
#### Overall platform features, validated as part of the release:
|
||||
|
||||
- UEFI with ACPI
|
||||
- KVM
|
||||
- PCIe
|
||||
|
||||
#### Firmware:
|
||||
|
||||
- Updated UEFI/EDK2 for D02, including support for PCIe and SAS
|
||||
|
||||
#### Network Installers:
|
||||
|
||||
- Debian:
|
||||
- Upgrade to Debian 8.3 "Jessie"
|
||||
- Using the unified 4.4.0 kernel
|
||||
- CentOS (Now officially supported):
|
||||
- Based on CentOS 7.2 15.11
|
||||
- Using the consolidated 4.4 kernel
|
||||
|
||||
#### Enterprise Components:
|
||||
|
||||
- Docker 1.9.1
|
||||
- OpenStack Liberty for Debian Jessie
|
||||
- CentOS to be supported as part of the next cycle
|
||||
- ODPi based Hadoop
|
||||
- Spark 1.6
|
||||
- OpenJDK 8 (Linaro 16.03)
|
||||
|
||||
***
|
100
Reference-Platform/Platforms/Consumer/RPB_16.03/Known-Issues.md
Normal file
100
Reference-Platform/Platforms/Consumer/RPB_16.03/Known-Issues.md
Normal file
|
@ -0,0 +1,100 @@
|
|||
## Reference Platform Build - 16.03 Release - Known Issues
|
||||
|
||||
### Enterprise
|
||||
|
||||
Fixed Issues
|
||||
<a href="https://bugs.linaro.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&component=Enterprise&list_id=8645&product=Reference%20Platforms&query_format=advanced&version=16.03" target="_blank">( Bugzilla )</a>
|
||||
|
||||
| Enterprise Edition | Known Issues <a href="https://bugs.linaro.org/buglist.cgi?bug_status=CONFIRMED&bug_status=IN_PROGRESS&component=Enterprise&list_id=8646&product=Reference%20Platforms&query_format=advanced&version=16.03" target="_blank">( Bugzilla )</a> |
|
||||
|:-----:|:-----|
|
||||
|[bug 2079](https://bugs.linaro.org/show_bug.cgi?id=2079)| [RPB] D02- Sometimes root partition is missing when booting Debian/CentOS|
|
||||
|[bug 2100](https://bugs.linaro.org/show_bug.cgi?id=2100)| [RPB] Placing D02 under major stress and SAS driver starts to have errors|
|
||||
|[bug 2067](https://bugs.linaro.org/show_bug.cgi?id=2067)| [RPB] irq 5: nobody cared (try booting with the "irqpoll" option when rebooting the system|
|
||||
|[bug 2068](https://bugs.linaro.org/show_bug.cgi?id=2068)| [RPB] D02- Detailed information about firmware version is needed|
|
||||
|[bug 2085](https://bugs.linaro.org/show_bug.cgi?id=2085)| [RPB] D02- CentOS installer fails to detect SATA drive|
|
||||
|[bug 2106](https://bugs.linaro.org/show_bug.cgi?id=2206)| [RPB] D02- shutdown works as reboot|
|
||||
|[bug 2097](https://bugs.linaro.org/show_bug.cgi?id=2097)| [RPB] kernel fails to build on amd64|
|
||||
|[bug 2069](https://bugs.linaro.org/show_bug.cgi?id=2069)| [RPB] D02- Selected item in BIOS is not highlighted in minicom|
|
||||
|[bug 2086](https://bugs.linaro.org/show_bug.cgi?id=2086)| [RPB] D02: Booting CentOS Linux failed|
|
||||
|[bug 2066](https://bugs.linaro.org/show_bug.cgi?id=2066)| QEMU can't launch an instance with more than 30GB RAM|
|
||||
|[bug 2075](https://bugs.linaro.org/show_bug.cgi?id=2075)| [RPB] D02: Latest EDK2 breaks network support in UEFI|
|
||||
|
||||
***
|
||||
|
||||
### HiKey
|
||||
|
||||
Fixed Issues <a href="https://bugs.96boards.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Consumer%20Edition%20Boards&list_id=1613&product=HiKey&query_format=advanced&target_milestone=Reference%20Software%20Platform%20-%2016.03" target="_blank">( Bugzilla )</a>
|
||||
|
||||
| Debian | Known Issues <a href="https://bugs.96boards.org/buglist.cgi?bug_status=CONFIRMED&bug_status=IN_PROGRESS&classification=Consumer%20Edition%20Boards&component=ARM%20Trusted%20Firmware&component=Debian&component=default&component=Documentation&component=Graphics&component=Linux%20Kernel&component=OPTEE&component=U-Boot&component=UEFI&component=USB%20Tools&component=Utilities&component=WIFI&list_id=1615&product=HiKey&query_format=advanced&version=RPB%2015.12&version=RPB%2016.03&version=RPB%2016.06" target="_blank">( Bugzilla )</a> |
|
||||
|:-----:|:-----|
|
||||
|[bug 187](https://bugs.96boards.org/show_bug.cgi?id=187)| Missing XWindows video acceleration - Weston (needs Mali r6p0)|
|
||||
|[bug 262](https://bugs.96boards.org/show_bug.cgi?id=262)| [RPB] LG W2253V fails to work with 4.4.0-93-arm64|
|
||||
|[bug 212](https://bugs.96boards.org/show_bug.cgi?id=212)| Suspend/resume support needed in 4.1/4.4|
|
||||
[bug 223](https://bugs.96boards.org/show_bug.cgi?id=223)| **HiKey**: Linux 4.4: USB unstable with SMP|
|
||||
|[bug 27](https://bugs.96boards.org/show_bug.cgi?id=27)| UEFI variable runtime service not working|
|
||||
|[bug 222](https://bugs.96boards.org/show_bug.cgi?id=222)| **HiKey**: RTC RTS code accesses unrelocated address|
|
||||
|[bug 267](https://bugs.96boards.org/show_bug.cgi?id=267)| [RPB] UEFI does not provide devicetree to OS|
|
||||
|[bug 290](https://bugs.96boards.org/show_bug.cgi?id=290)| [RPB] fastboot erase/flash system is just too slow when flashing the Debian images|
|
||||
|[bug 176](https://bugs.96boards.org/show_bug.cgi?id=176)| Upgrade HiKey Mali Lib to r6p0|
|
||||
|[bug 205](https://bugs.96boards.org/show_bug.cgi?id=205)| [RPB] USB OTG fails after hot removal and reinsertion|
|
||||
|[bug 286](https://bugs.96boards.org/show_bug.cgi?id=286)| [RPB] 4.4.0-102-arm64 - Bad mode in Synchronous Abort handler detected|
|
||||
|[bug 20](https://bugs.96boards.org/show_bug.cgi?id=20)| [RPB] USB kernel trace errors -22|
|
||||
|[bug 152](https://bugs.96boards.org/show_bug.cgi?id=152)| [RPB] SD-Card doesn't work|
|
||||
|[bug 163](https://bugs.96boards.org/show_bug.cgi?id=163)| [RPB-AOSP] HDMI audio not working|
|
||||
|[bug 233](https://bugs.96boards.org/show_bug.cgi?id=233)| [RPB] Bluetooth driver prevents board from rebooting|
|
||||
|[bug 265](https://bugs.96boards.org/show_bug.cgi?id=265)| fastboot reboot-bootloader doesn't work|
|
||||
|[bug 291](https://bugs.96boards.org/show_bug.cgi?id=291)| [RPB] fastboot erase not supported in l-loader (recovery)|
|
||||
|[bug 282](https://bugs.96boards.org/show_bug.cgi?id=282)| [RPB] Missing wl18xx wlconf setup as part of the first boot process|
|
||||
|[bug 145](https://bugs.96boards.org/show_bug.cgi?id=145)| [RPB] unable to read thermal sensors|
|
||||
|[bug 151](https://bugs.96boards.org/show_bug.cgi?id=151)| [RPB] glxgears: couldn't get an RGB, Double-buffered visual|
|
||||
|
||||
| AOSP | Known Issues <a href="https://bugs.96boards.org/buglist.cgi?bug_status=CONFIRMED&bug_status=IN_PROGRESS&classification=Consumer%20Edition%20Boards&component=AOSP&list_id=1617&product=HiKey&query_format=advanced&version=RPB%2015.12&version=RPB%2016.03&version=RPB%2016.06" target="_blank">( Bugzilla )</a> |
|
||||
|:-----:|:------|
|
||||
|[bug 180](https://bugs.96boards.org/show_bug.cgi?id=180)| [RPB] Shutdown cannot turn off HDMI monitor|
|
||||
|[bug 224](https://bugs.96boards.org/show_bug.cgi?id=224)| [RPB-AOSP] BT status LED doesn't blink when BT transfer is in progress|
|
||||
|[bug 225](https://bugs.96boards.org/show_bug.cgi?id=225)| [RPB] User LED numbers on the board don't match the sysfs entries|
|
||||
|[bug 228](https://bugs.96boards.org/show_bug.cgi?id=228)| [RPB] Bluetooth mice pair and connect but don't show input|
|
||||
|
||||
***
|
||||
|
||||
### DragonBoard™ 410c
|
||||
|
||||
Fixed Issues
|
||||
<a href="https://bugs.96boards.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Consumer%20Edition%20Boards&component=Android&component=Bootloader%20%2F%20Firmware&component=Documentation&component=Kernel&component=OpenEmbedded%20%2F%20Yocto&component=Tools%20%2F%20Installer&component=Ubuntu%20%2F%20Debian&list_id=1623&product=Dragonboard%20410c&query_format=advanced&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=WORKSFORME&resolution=NON%20REPRODUCIBLE&version=RPB%2016.03" target="_blank">( Bugzilla )</a>
|
||||
|
||||
| Debian | Known Issues <a href="https://bugs.96boards.org/buglist.cgi?bug_status=CONFIRMED&bug_status=IN_PROGRESS&classification=Consumer%20Edition%20Boards&component=Android&component=Bootloader%20%2F%20Firmware&component=Documentation&component=Kernel&component=OpenEmbedded%20%2F%20Yocto&component=Tools%20%2F%20Installer&component=Ubuntu%20%2F%20Debian&list_id=1620&product=Dragonboard%20410c&query_format=advanced&resolution=---&version=RPB%2015.12&version=RPB%2016.03" target="_blank">( Bugzilla )</a>|
|
||||
|:-------:|:---------|
|
||||
| [bug 285](https://bugs.96boards.org/show_bug.cgi?id=285) | USB host doesn't detect any plugged devices |
|
||||
| [bug 121](https://bugs.96boards.org/show_bug.cgi?id=121) | [RPB] Cannot soft power off or shutdown db410c |
|
||||
| [bug 284](https://bugs.96boards.org/show_bug.cgi?id=284) | [RPB] Dragon board Display sleep not working |
|
||||
| [bug 289](https://bugs.96boards.org/show_bug.cgi?id=289) | [RPB] USB devices don't work after reboot |
|
||||
| [bug 207](https://bugs.96boards.org/show_bug.cgi?id=207) | [RPB] Bluetooth does not work on Dragon board debian |
|
||||
| [bug 153](https://bugs.96boards.org/show_bug.cgi?id=153) | [RPB] Missing information about hwpack usage|
|
||||
|
||||
|
||||
Fixed Issues
|
||||
<a href="https://bugs.96boards.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Consumer%20Edition%20Boards&component=AOSP&list_id=1621&product=Dragonboard%20410c&query_format=advanced&version=RPB%2016.03" target="_blank">( Bugzilla )</a>
|
||||
|
||||
|
||||
| AOSP | Known Issues <a href="https://bugs.96boards.org/buglist.cgi?bug_status=CONFIRMED&bug_status=IN_PROGRESS&classification=Consumer%20Edition%20Boards&component=AOSP&list_id=1619&product=Dragonboard%20410c&query_format=advanced&resolution=---&version=RPB%2015.12&version=RPB%2016.03" target="_blank">( Bugzilla )</a> |
|
||||
|:----------:|:-----------|
|
||||
| [bug 254](https://bugs.96boards.org/show_bug.cgi?id=254) | [RPB] wpa_supplicant crashes wcn36xx |
|
||||
| [bug 276](https://bugs.96boards.org/show_bug.cgi?id=276) | [RPB-AOSP] USB-OTG doesn't work |
|
||||
| [bug 278](https://bugs.96boards.org/show_bug.cgi?id=278) | [RPB-AOSP] Free internal disk space is too small |
|
||||
| [bug 279](https://bugs.96boards.org/show_bug.cgi?id=279) | [RPB-AOSP] "x App has stopped" happens frequently |
|
||||
| [bug 280](https://bugs.96boards.org/show_bug.cgi?id=280) | [RPB-AOSP] App crashes when SD card mounted manually |
|
||||
| [bug 277](https://bugs.96boards.org/show_bug.cgi?id=277) | [RPB-AOSP] SD card auto mount from UI doesn't work |
|
||||
|
||||
|
||||
***
|
||||
|
||||
|
||||
|
||||
| Bug Legend | |
|
||||
|:-----:|:-------|
|
||||
| CONFIRMED | If a bug can be reproduced, a member from the 96Boards, Linaro or QA team will change its status from **UNCONFIRMED** to **CONFIRMED** |
|
||||
| IN_PROGRESS | This bug is currently being worked on by either the 96Boards, Linaro, or QA team |
|
||||
| RESOLVED | Development is finished with a bug. Please [click here](https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Status/RESOLVED) for information on sub-states |
|
||||
| VERIFIED | A team has VERIFIED a working solution for a bug |
|
||||
|
||||
***
|
18
Reference-Platform/Platforms/Consumer/RPB_16.03/README.md
Normal file
18
Reference-Platform/Platforms/Consumer/RPB_16.03/README.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Reference Platform Build - 16.03
|
||||
|
||||
[RPB 16.03 Highlights](Highlights.md) | [RPB 16.03 Known Issues](Known-Issues.md) | [RPB 16.03 Release Status](ReleaseStatus-16.03.md)
|
||||
|
||||
## Choose your Hardware
|
||||
|
||||
#### Consumer Edition
|
||||
- [HiKey](ConsumerEdition/HiKey/README.md)
|
||||
- [DragonBoard™ 410c](ConsumerEdition/DragonBoard-410c/README.md)
|
||||
|
||||
#### Enterprise Edition
|
||||
- [D02](EnterpriseEdition/D02/README.md)
|
||||
- [Overdrive](EnterpriseEdition/Overdrive/README.md)
|
||||
- [Cello](EnterpriseEdition/Cello/README.md)
|
||||
- [X-Gene Mustang](EnterpriseEdition/X-Gene-Mustang/README.md)
|
||||
- [HP ProLiant m400](EnterpriseEdition/HP-Proliant-m400/README.md)
|
||||
|
||||
Enterprise Test Reports: ([Debian](https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/EE-Debian-RPB-16.03-TestReport.pdf) / [CentOS](https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/EE-CentOS-RPB-16.03-TestReport.pdf))
|
|
@ -0,0 +1,170 @@
|
|||
## Reference Platform Release Status
|
||||
|
||||
- *Release:* 16.03
|
||||
- *Code/feature freeze:* February 22th / 2016
|
||||
- *RC1:* February 22th / 2016
|
||||
- *Release date:* March 3th / 2016 (originally March 1)
|
||||
|
||||
### Release Candidates
|
||||
|
||||
#### Final
|
||||
|
||||
- *Debian Installer (118):* [mini.iso](https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/mini.iso) and [netboot.tar.gz](https://builds.96boards.org/releases/reference-platform/components/debian-installer/16.03/netboot.tar.gz)
|
||||
- *CentOS Installer (36):* [16.03](https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.03/)
|
||||
- *Kernel (104):* [linux-image-4.4.0-104](https://builds.96boards.org/releases/reference-platform/components/linux/16.03/)
|
||||
- *CE AOSP RPB HiKey (65)*: [16.03](https://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/)
|
||||
- *CE AOSP RPB Dragonboard410c (45):* [16.03](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/)
|
||||
- *CE Debian RPB HiKey (68)*: [16.03](https://builds.96boards.org/releases/reference-platform/debian/hikey/16.03/)
|
||||
- *CE Debian RPB Dragonboard410c (68):* [16.03](https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.03/)
|
||||
|
||||
#### RC5
|
||||
|
||||
- *Debian Installer (111):* [mini.iso](https://builds.96boards.org/snapshots/reference-platform/components/debian-installer/111/mini.iso) and [netboot.tar.gz](https://builds.96boards.org/snapshots/reference-platform/components/debian-installer/111/netboot.tar.gz)
|
||||
- *CentOS Installer:* [34](https://builds.96boards.org/snapshots/reference-platform/components/centos-installer/34/)
|
||||
- *Kernel:* [linux-image-4.4.0-97](http://repo.linaro.org/ubuntu/linaro-staging/pool/main/l/linux/linux-image-4.4.0-97-arm64_4.4.0.linaro.97-1.linarojessie.1_arm64.deb)
|
||||
- *UEFI*: [46](https://builds.96boards.org/snapshots/reference-platform/components/uefi/46/)
|
||||
- *CE AOSP RPB HiKey*: [65](https://builds.96boards.org/snapshots/reference-platform/aosp/hikey/65/)
|
||||
- *CE AOSP RPB Dragonboard410c:* [45](https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/45/)
|
||||
- *CE Debian RPB HiKey*: [66](https://builds.96boards.org/snapshots/reference-platform/debian/66/hikey/)
|
||||
- *CE Debian RPB Dragonboard410c:* [66](https://builds.96boards.org/snapshots/reference-platform/debian/66/dragonboard410c/)
|
||||
|
||||
#### RC4
|
||||
|
||||
- *Debian Installer:* [mini.iso](https://ci.linaro.org/view/96boards/job/96boards-reference-debian-installer-staging/lastSuccessfulBuild/artifact/mini.iso) and [netboot.tar.gz](https://ci.linaro.org/view/96boards/job/96boards-reference-debian-installer-staging/lastSuccessfulBuild/artifact/netboot.tar.gz)
|
||||
- *CentOS Installer:* [33](https://builds.96boards.org/snapshots/reference-platform/components/centos-installer/33/)
|
||||
- *Kernel:* [linux-image-4.4.0-97](http://repo.linaro.org/ubuntu/linaro-staging/pool/main/l/linux/linux-image-4.4.0-97-arm64_4.4.0.linaro.97-1.linarojessie.1_arm64.deb)
|
||||
- *UEFI*: [44](https://builds.96boards.org/snapshots/reference-platform/components/uefi/44/)
|
||||
- *CE AOSP RPB HiKey*: [65](https://builds.96boards.org/snapshots/reference-platform/aosp/hikey/65/)
|
||||
- *CE AOSP RPB Dragonboard410c:* [45](https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/45/)
|
||||
- *CE Debian RPB HiKey*: [58](https://builds.96boards.org/snapshots/reference-platform/debian/58/hikey/)
|
||||
- *CE Debian RPB Dragonboard410c:* [58](https://builds.96boards.org/snapshots/reference-platform/debian/58/dragonboard410c/)
|
||||
|
||||
#### RC3
|
||||
|
||||
- *Debian Installer:* [mini.iso](https://ci.linaro.org/view/96boards/job/96boards-reference-debian-installer-staging/lastSuccessfulBuild/artifact/mini.iso) and [netboot.tar.gz](https://ci.linaro.org/view/96boards/job/96boards-reference-debian-installer-staging/lastSuccessfulBuild/artifact/netboot.tar.gz)
|
||||
- *CentOS Installer:* [31](https://builds.96boards.org/snapshots/reference-platform/components/centos-installer/31/)
|
||||
- *Kernel:* [linux-image-4.4.0-93](http://repo.linaro.org/ubuntu/linaro-staging/pool/main/l/linux/linux-image-4.4.0-93-arm64_4.4.0.linaro.93-1.linarojessie.1_arm64.deb)
|
||||
- *UEFI*: [44](https://builds.96boards.org/snapshots/reference-platform/components/uefi/44/)
|
||||
- - *CE AOSP RPB HiKey*: [65](https://builds.96boards.org/snapshots/reference-platform/aosp/hikey/65/)
|
||||
- *CE AOSP RPB Dragonboard410c:* [45](https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/45/)
|
||||
- *CE Debian RPB HiKey*: [56](https://builds.96boards.org/snapshots/reference-platform/debian/56/hikey/)
|
||||
- *CE Debian RPB Dragonboard410c:* [56](https://builds.96boards.org/snapshots/reference-platform/debian/56/dragonboard410c/)
|
||||
|
||||
#### RC2
|
||||
|
||||
- *Debian Installer:* [mini.iso](https://ci.linaro.org/view/96boards/job/96boards-reference-debian-installer-staging/lastSuccessfulBuild/artifact/mini.iso) and [netboot.tar.gz](https://ci.linaro.org/view/96boards/job/96boards-reference-debian-installer-staging/lastSuccessfulBuild/artifact/netboot.tar.gz)
|
||||
- *CentOS Installer:* [30](https://builds.96boards.org/snapshots/reference-platform/components/centos-installer/30/)
|
||||
- *Kernel:* [linux-image-4.4.0-91](http://repo.linaro.org/ubuntu/linaro-staging/pool/main/l/linux/linux-image-4.4.0-91-arm64_4.4.0.linaro.91-1.linarojessie.1_arm64.deb)
|
||||
- *UEFI*: [44](https://builds.96boards.org/snapshots/reference-platform/components/uefi/44/)
|
||||
- *CE AOSP RPB HiKey*: [65](https://builds.96boards.org/snapshots/reference-platform/aosp/hikey/65/)
|
||||
- *CE AOSP RPB Dragonboard410c:* [45](https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/45/)
|
||||
- *CE Debian RPB HiKey*: [55](https://builds.96boards.org/snapshots/reference-platform/debian/55/hikey/)
|
||||
- *CE Debian RPB Dragonboard410c:* [55](https://builds.96boards.org/snapshots/reference-platform/debian/55/dragonboard410c/)
|
||||
|
||||
#### RC1
|
||||
|
||||
- *Debian Installer:* [mini.iso](https://ci.linaro.org/view/96boards/job/96boards-reference-debian-installer-staging/lastSuccessfulBuild/artifact/mini.iso) and [netboot.tar.gz](https://ci.linaro.org/view/96boards/job/96boards-reference-debian-installer-staging/lastSuccessfulBuild/artifact/netboot.tar.gz)
|
||||
- *CentOS Installer:* [29](https://builds.96boards.org/snapshots/reference-platform/components/centos-installer/29/)
|
||||
- *Kernel:* [linux-image-4.4.0-85](http://repo.linaro.org/ubuntu/linaro-staging/pool/main/l/linux/linux-image-4.4.0-85-arm64_4.4.0.linaro.85-1.linarojessie.1_arm64.deb)
|
||||
- *UEFI*: [43](https://builds.96boards.org/snapshots/reference-platform/components/uefi/43/)
|
||||
- *CE AOSP RPB HiKey*: [65](https://builds.96boards.org/snapshots/reference-platform/aosp/hikey/65/)
|
||||
- *CE AOSP RPB Dragonboard410c:* [43](https://builds.96boards.org/snapshots/reference-platform/aosp/db410c/43/)
|
||||
- *CE Debian RPB HiKey*: [54](https://builds.96boards.org/snapshots/reference-platform/debian/54/hikey/)
|
||||
- *CE Debian RPB Dragonboard410c:* [54](https://builds.96boards.org/snapshots/reference-platform/debian/54/dragonboard410c/)
|
||||
|
||||
### Kernel
|
||||
|
||||
Kernel is 4.4 based, unified and supporting the following boards by default:
|
||||
* Dragonboard410c
|
||||
* HiKey
|
||||
* AMD Overdrive (A0 should also be supported, pending kernel update)
|
||||
* D02
|
||||
* APM X-Gene/Moonshot m400 (supported with the final RC)
|
||||
|
||||
Tree data:
|
||||
* Git: https://github.com/96boards/linux/
|
||||
* Branch: *96b/releases/2016.03*
|
||||
* Config: https://github.com/96boards/linux/blob/96b/releases/2016.03/arch/arm64/configs/distro.config
|
||||
|
||||
### Remaining Work Activities
|
||||
|
||||
* QA/Validation - QA Team
|
||||
** Enterprise Debian Overdrive
|
||||
** Enterprise Debian D02
|
||||
** Enterprise CentOS Overdrive
|
||||
** Enterprise CentOS D02
|
||||
** -CE Debian DB410c - *Naresh*-
|
||||
** -CE AOSP HiKey - *Chase Qi*-
|
||||
** -CE AOSP DB410c (nice to have) - *Chase Qi*-
|
||||
** -CE Debian HiKey - *Naresh*-
|
||||
* Test/Validation of GPIO, I2C and SPI support on both HiKey and Dragonboard410c - *Grant*
|
||||
* Release Documentation - *Robert*
|
||||
* -Porting xorg-server into linaro-overlay - *Nicolas/Ricardo*-
|
||||
* -Linaro-EDK2 February Release - *Leif*-
|
||||
* D02 OpenPlatformPkg update - *Heyi/Leif*
|
||||
* D02 EDK2 SAS support - *Zhangfei Gao*
|
||||
* -Move unified kernel to https://github.com/96boards/linux - *Amit*-
|
||||
* -Update CentOS installer to use the unified kernel - *Ricardo*-
|
||||
* -Update default grub config used by HiKey (generic) - *Ricardo*-
|
||||
* ROD Openstack support for CentOS - *Fathi*
|
||||
|
||||
### Out of Scope / Next Release
|
||||
|
||||
* Kernel Fragments - *Amit*
|
||||
* Lack of a default device-tree for HiKey - *Ricardo/Guodong*: bugs [27](https://bugs.96boards.org/show_bug.cgi?id=27) and [267](https://bugs.96boards.org/show_bug.cgi?id=267) to cover the right implementation, postponed to *16.06*.
|
||||
* [Bug 254 - [RPB] wpa_supplicant crashes wcn36xx](https://bugs.96boards.org/show_bug.cgi?id=254)
|
||||
* [Bug 207 - [RPB] Bluetooth does not work on Dragonboard debian](https://bugs.96boards.org/show_bug.cgi?id=207)
|
||||
* [Bug 262 - [RPB] LG W2253V fails to work with 4.4.0-93-arm64](https://bugs.96boards.org/show_bug.cgi?id=262) - *Amit*
|
||||
* [Bug 2067 - [RPB] irq 5: nobody cared (try booting with the "irqpoll" option when rebooting the system](https://bugs.linaro.org/show_bug.cgi?id=2067) - Amit/Hanjun
|
||||
|
||||
### Current Issues / Bugs
|
||||
|
||||
#### Kernel
|
||||
|
||||
* -[Bug 1999 - RP Kernel doesn't boot on HP Moonshot m400 (APM X-Gene) cartridges (ACPI)](https://bugs.linaro.org/show_bug.cgi?id=1999) - *Ricardo/Amit*-
|
||||
* -[Bug 2060 - [RPB] Missing support for APM XGENE / Moonshot m400](https://bugs.linaro.org/show_bug.cgi?id=2060) - *Amit*-
|
||||
|
||||
###### HiKey
|
||||
|
||||
* -[Bug 274 - [RPB] xserver armsoc driver fails to allocate buffer](https://bugs.96boards.org/show_bug.cgi?id=274) - *Amit/Guodong/Xinliang*-
|
||||
* [Bug 281 - [RPB] regression - constant hangs with linux-image-4.4.0-99-arm64](https://bugs.96boards.org/show_bug.cgi?id=281) - *Amit/Guodong*
|
||||
|
||||
###### Overdrive
|
||||
|
||||
* -[Bug 2051 - RPB: Overdrive fails to find the SATA disks when booting with ACPI](https://bugs.linaro.org/show_bug.cgi?id=2051) - *Graeme*-
|
||||
|
||||
###### Dragonboard410c
|
||||
|
||||
* -[Bug 2061 - [RPB] CONFIG_QCOM_SCM breaks XGENE support](https://bugs.linaro.org/show_bug.cgi?id=2061) - *Amit/Nicolas*-
|
||||
|
||||
###### D02
|
||||
|
||||
* -[Bug 2037 - D02: Unable to handle kernel paging request](https://bugs.linaro.org/show_bug.cgi?id=2037) - *Amit/Hanjun*-
|
||||
* -[Bug 2063 - D02: No console unless you boot with console=ttyS0,115200](https://bugs.linaro.org/show_bug.cgi?id=2063) - *Amit/Hanjun*-
|
||||
* -[Bug 2032 - ACPI NUMA Support crashes on D02](https://bugs.linaro.org/show_bug.cgi?id=2032) - *Hanjun*-
|
||||
|
||||
#### UEFI
|
||||
|
||||
###### D02
|
||||
|
||||
* -[Bug 2062 - EDK2 D02: "sas: realizing _RST replacing syscon" breaks SAS support in Linux](https://bugs.linaro.org/show_bug.cgi?id=2062) - *Heyi*-
|
||||
* -Lack of PCIe support for D02 on Linux (missing tables) - *Hanjun/Heyi*-
|
||||
* Lack of SAS support in EDK2/UEFI - *Zhangfei*
|
||||
* -[Bug 2075 - [RPB] D02: Latest EDK2 breaks network support in UEFI](https://bugs.linaro.org/show_bug.cgi?id=2075)-
|
||||
|
||||
###### HiKey
|
||||
|
||||
#### Debian
|
||||
|
||||
* -[Bug 2009 - Wrong network device name set after Debian install](https://bugs.linaro.org/show_bug.cgi?id=2009) - *Ricardo*
|
||||
* -[ttyAMA2 (tty96B0) missing on HiKey with 16.03-rc4](https://bugs.96boards.org/show_bug.cgi?id=273) - *Amit*
|
||||
|
||||
###### DB410c
|
||||
|
||||
#### AOSP
|
||||
|
||||
###### DB410c
|
||||
|
||||
* -[Bug 253 - [RPB] Gallery fails to open due a fatal exception in GLThread](https://bugs.96boards.org/show_bug.cgi?id=253)-
|
||||
|
||||
#### OE/Yocto
|
|
@ -0,0 +1,46 @@
|
|||
## AOSP RPB 16.03 - Build from Source
|
||||
|
||||
Additional AOSP repositories are hosted at:
|
||||
- [https://github.com/96boards/android_device_linaro_db410c](https://github.com/96boards/android_device_linaro_db410c)
|
||||
- [https://github.com/96boards/android_manifest](https://github.com/96boards/android_manifest)
|
||||
- [https://github.com/rsalveti/linux (branch qcomlt-4.4)](https://github.com/rsalveti/linux)
|
||||
- [https://github.com/robherring/mesa](https://github.com/robherring/mesa)
|
||||
- [https://github.com/robherring/drm_gralloc](https://github.com/robherring/drm_gralloc)
|
||||
- https://github.com/robherring/drm_hwcomposer](https://github.com/robherring/drm_hwcomposer)
|
||||
|
||||
*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)
|
||||
|
||||
Also install make sure to install the following packages:
|
||||
|
||||
```shell
|
||||
sudo apt-get install libfdt-dev python-mako get text
|
||||
```
|
||||
|
||||
*Download the firmware blobs:*
|
||||
|
||||
```shell
|
||||
mkdir android/
|
||||
cd android/
|
||||
mkdir -p vendor/db410c
|
||||
cd vendor/db410c
|
||||
wget http://developer.qualcomm.com/download/db410c/firmware-410c-1.2.0.bin
|
||||
sh firmware-410c-1.2.0.bin
|
||||
cd -
|
||||
```
|
||||
|
||||
*Build the image:*
|
||||
|
||||
```shell
|
||||
repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r16
|
||||
cd .repo
|
||||
git clone https://github.com/96boards/android_manifest -b android-6.0-db410c local_manifests
|
||||
cd -
|
||||
repo sync -j8
|
||||
source build/envsetup.sh
|
||||
lunch db410c-userdebug
|
||||
make droidcore -j8
|
||||
cd out/target/product/db410c
|
||||
```
|
||||
|
|
@ -0,0 +1,281 @@
|
|||
## Debian RPB 16.06 - Build from Source
|
||||
|
||||
- Building Linux Kernel from Source
|
||||
- Step 1: Setting up your environment on your host computer
|
||||
- Step 2: Download the Linaro cross compiler toolchain and Skales Tool
|
||||
- Step 3: Export path to cross compiler tool and confirm version
|
||||
- Step 4: Clone the Reference Platform kernel
|
||||
- Step 5: Set the right kernel .config file
|
||||
- Step 6: Build kernel image
|
||||
- Step 7: Copy Modules
|
||||
- Step 8: Find kernel release string
|
||||
- Step 9: Generate modules.dep and map files
|
||||
- Step 10: Find DragonBoard™ 410c IP Address
|
||||
- Step 11: Transfer the modules to the target DragonBoard™ 410c
|
||||
- Step 12: Generate the initramfs
|
||||
- Step 13: Create the device tree image and boot image
|
||||
- Customize Bootloader
|
||||
- Build Rootfs from source
|
||||
|
||||
***
|
||||
|
||||
#### Building the Linux kernel from source
|
||||
|
||||
The Linux kernel used in this release is available via tags in the git [repository](https://github.com/96boards/linux)
|
||||
|
||||
```shell
|
||||
git: https://github.com/96boards/linux
|
||||
Dynamic tag: 96b-kernelci
|
||||
Fixed tag: 96b/releases/2016.06
|
||||
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/components/toolchain/binaries/latest-5.1/aarch64-linux-gnu/gcc-linaro-5.1-2015.08-x86_64_aarch64-linux-gnu.tar.xz).
|
||||
|
||||
To build the Linux kernel, you can use the following instructions:
|
||||
|
||||
#### Step 1: Setting up your environment on your host computer
|
||||
|
||||
- Open your Terminal and cd into your desired directory
|
||||
- Make a new folder using `mkdir` and call is something relevant
|
||||
|
||||
```shell
|
||||
#Example of desired directory
|
||||
$ cd ~/Desktop
|
||||
|
||||
#Example of relevant folder
|
||||
$ mkdir DB410c-16.06
|
||||
$ cd DB410c-16.06
|
||||
```
|
||||
|
||||
#### Step 2: Download the Linaro cross compiler toolchain and Skales Tool
|
||||
|
||||
- From within the directory you just made
|
||||
- Download and unzip by executing the following commands
|
||||
|
||||
###### Linaro Cross Compiler
|
||||
|
||||
```shell
|
||||
#Download
|
||||
$ wget http://releases.linaro.org/components/toolchain/binaries/latest-5.1/aarch64-linux-gnu/gcc-linaro-5.1-2015.08-x86_64_aarch64-linux-gnu.tar.xz
|
||||
#Unzip
|
||||
$ tar -Jxvf gcc-linaro-5.1-2015.08-x86_64_aarch64-linux-gnu.tar.xz
|
||||
```
|
||||
|
||||
###### Skales tool
|
||||
|
||||
```shell
|
||||
$ sudo apt-get install libfdt-dev
|
||||
$ git clone git://codeaurora.org/quic/kernel/skales /tmp/skales
|
||||
$ export PATH=$PATH:/tmp/skales
|
||||
```
|
||||
>Skales will be used later when creating the device tree
|
||||
|
||||
|
||||
#### Step 3: Export path to cross compiler tool and confirm version
|
||||
|
||||
- Exporting path will allow build system can find and use the right kernel
|
||||
|
||||
```shell
|
||||
#Create path
|
||||
$ export PATH=gcc-linaro-5.1-2015.08-x86_64_aarch64-linux-gnu/bin/:$PATH
|
||||
#Check version
|
||||
$ aarch64-linux-gnu-gcc --version
|
||||
aarch64-linux-gnu-gcc (Linaro GCC 5.1-2015.08) 5.1.1 20150608
|
||||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
```
|
||||
|
||||
#### Step 4: Clone the Reference Platform kernel
|
||||
|
||||
- **96b-kernelci** is the development branch
|
||||
- This branch will have the latest changes
|
||||
|
||||
```shell
|
||||
$ git clone -b 96b-kernelci http://github.com/96boards/linux.git
|
||||
```
|
||||
|
||||
- Cloning the kernel may take a few minutes
|
||||
- Once kernel source has been cloned cd into its directory
|
||||
|
||||
```shell
|
||||
$ cd kernel
|
||||
```
|
||||
|
||||
#### Step 5: Set the right kernel .config file
|
||||
|
||||
- This step creates the '.config' file
|
||||
- The .config file is used by the build system when compiling the kernel
|
||||
- Current Reference Platform config can be made by using distro.config
|
||||
- From with in kernel directory execute the following command:
|
||||
|
||||
```shell
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig distro.config
|
||||
```
|
||||
|
||||
- New .config file will be hidden but can be seen by executing `ls -a` from within kernel folder
|
||||
- To view all current configuration the .config file can be opened with a text editor such a `vim`
|
||||
|
||||
#### Step 6: Build kernel image
|
||||
|
||||
- This step will take some time (~20-30 minutes or more), depending on your cpu/memory
|
||||
|
||||
```shell
|
||||
#Replace X from -jX with the number of cores on your host computer
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -jX
|
||||
```
|
||||
|
||||
#### Step 7: Copy Modules
|
||||
|
||||
- Modules must be local (host computer) before transferring to target device
|
||||
- Still within linux directory
|
||||
- Make temp folder
|
||||
- Create modules
|
||||
|
||||
```shell
|
||||
$ mk tmp/modules
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules_install INSTALL_MOD_PATH=/tmp/modules INSTALL_MOD_STRIP=1
|
||||
```
|
||||
|
||||
#### Step 8: Find kernel release string
|
||||
|
||||
- This was created during the kernel build
|
||||
- In this example the kernel.release is 4.4.0+
|
||||
|
||||
```shell
|
||||
$ cat include/config/kernel.release
|
||||
#Output
|
||||
$ 4.4.0+
|
||||
```
|
||||
|
||||
#### Step 9: Generate modules.dep and map files
|
||||
|
||||
- Helps kernel find modules when system boots
|
||||
- Note: `4.4.0+` was the output from `cat include/config/kernel.release` in Step 8
|
||||
|
||||
```shell
|
||||
$ depmod -a -b /tmp/modules 4.4.0+
|
||||
```
|
||||
|
||||
#### Step 10: Find DragonBoard™ 410c IP Address
|
||||
|
||||
- On your DragonBoard™ 410c
|
||||
- Connect to the internet through WIFI
|
||||
- Open one of the Terminal applications
|
||||
|
||||
```shell
|
||||
$ /sbin/ifconfig
|
||||
```
|
||||
- Look for your `wlan0` connection
|
||||
- Here you will see an `inet addr`
|
||||
- This is your board's IP address and should look something like this: `192.168.0.10`
|
||||
|
||||
#### Step 11: Transfer the modules to the target DragonBoard™ 410c
|
||||
|
||||
- Using your board's IP Address for linaro@<yourIPaddress>
|
||||
|
||||
```shell
|
||||
$ tar -cjf /tmp/modules.tar.bz2 -C /tmp modules
|
||||
$ scp /tmp/modules.tar.bz2 linaro@192.168.1.15:~/
|
||||
$ ssh linaro@192.168.1.15
|
||||
#DragonBoard™ 410c shell
|
||||
db410c $ tar -jxvf modules.tar.bz2
|
||||
db410c $ sudo cp -r modules/lib/modules/4.4.0+ /lib/modules/
|
||||
```
|
||||
|
||||
#### Step 12: Generate the initramfs
|
||||
|
||||
- You should still be in the DragonBoard™ 410c shell
|
||||
|
||||
```shell
|
||||
db410c $ sudo update-initramfs -k 4.4.0+ -c
|
||||
```
|
||||
|
||||
- Copy back the new initramfs
|
||||
- This will be used when creating the boot.mg
|
||||
|
||||
#### Step 13: Create the device tree image and boot image
|
||||
|
||||
###### Device tree
|
||||
|
||||
```shell
|
||||
$ dtbTool -o dt.img -s 2048 arch/arm64/boot/dts/qcom
|
||||
```
|
||||
|
||||
###### Boot image
|
||||
|
||||
```shell
|
||||
$ mkbootimg --kernel arch/arm64/boot/Image --ramdisk initrd.img-4.4.0+ --output boot.img --dt dt.img --pagesize "2048" --base "0x80000000" --cmdline "root=/dev/disk/by-partlabel/rootfs rw rootwait console=tty0 console=ttyMSM0,115200n8"
|
||||
```
|
||||
|
||||
Congratulations! Boot image is now ready to be flashed to your DragonBoard™ 410c.
|
||||
|
||||
- Flashing the boot image can be done using fastboot
|
||||
- Board must be booted into fastboot mode
|
||||
- With USB to microUSB cable still connect execute the following:
|
||||
|
||||
```shell
|
||||
$ sudo fastboot flash boot boot.img
|
||||
$ sudo fastboot reboot
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
### 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):
|
||||
|
||||
```shell
|
||||
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:
|
||||
|
||||
```shell
|
||||
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 `about` partition, you can now flash your board with:
|
||||
|
||||
```shell
|
||||
sudo fastboot aboot ./build-msm8916/emmc_appsboot.mbn
|
||||
```
|
||||
|
||||
#### 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:
|
||||
|
||||
```shell
|
||||
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:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get build-dep <pkg>
|
||||
apt-get source <pkg>
|
||||
```
|
||||
|
||||
Then you can rebuild the package locally with:
|
||||
|
||||
```
|
||||
cd <pkg-version>
|
||||
dpkg-buildpackage -b -us -uc
|
||||
```
|
||||
|
||||
#### TO-DO
|
||||
|
||||
- Explain how to build the rootfs from source
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,196 @@
|
|||
This page provides instructions to get started with OpenEmbedded and the Yocto Project on the DragonBoard 410c.
|
||||
|
||||
# Introduction
|
||||
|
||||
This wiki is not an introduction on OpenEmbedded or Yocto Project. If you are not familiar with OpenEmbedded and the Yocto Project, it is very much recommended to read the appropriate documentation first. For example, you can start with:
|
||||
* http://openembedded.org/wiki/Main_Page
|
||||
* http://yoctoproject.org/
|
||||
* https://www.yoctoproject.org/documentation
|
||||
|
||||
In this wiki, we assume that the reader is familiar with basic concepts of OpenEmbedded.
|
||||
|
||||
The support for DragonBoard 410c is available in the [meta-qcom BSP layer](http://git.yoctoproject.org/cgit/cgit.cgi/meta-qcom).
|
||||
|
||||
This layer has been tested with OpenEmbedded Core layer, and is expected to work with any other standard layers and of course any OpenEmbedded based distributions.
|
||||
|
||||
The Linux kernel used for the DragonBoard 410c is the Linaro Landing team kernel, e.g. the same kernel used for the Linaro Linux release builds. The graphic stack is based on mesa, using the freedreno driver.
|
||||
|
||||
# Package Dependencies
|
||||
|
||||
In order to successfully set up your build environment, you will need to install the following package dependencies.
|
||||
|
||||
**Step 1**: You will need git installed on your Linux host machine
|
||||
|
||||
`$ sudo apt-get install git`
|
||||
|
||||
**Step 2**: Visit the OpenEmbedded (Getting Started) wiki to see which distribution specific dependencies you will need
|
||||
|
||||
http://www.openembedded.org/wiki/Getting_started
|
||||
|
||||
**Step 3**: Install 96Boards specific dependencies (Case specific)
|
||||
|
||||
Setting up the build environment will first search for `whiptail`, if it is not present then it will search for `dialog`. You only need one of the following packages to ensure your setup-environement runs correctly:
|
||||
|
||||
|
||||
`$ sudo apt-get install whiptail`
|
||||
|
||||
or
|
||||
|
||||
`$ sudo apt-get install dialog`
|
||||
|
||||
**Please Note**: If you are running Ubuntu 16.04 you will need to add the following line to your `/etc/apt/sources.list`
|
||||
|
||||
`deb http://archive.ubuntu.com/ubuntu/ xenial universe`
|
||||
|
||||
```shell
|
||||
$ cd /etc/apt/
|
||||
#vim text editor is used in this example
|
||||
#sudo is used to allow editing, sources.list is set to read only
|
||||
$ sudo vim sources.list
|
||||
```
|
||||
|
||||
All required dependencies should now be installed on your host environment, you are ready to begin your build environment setup.
|
||||
|
||||
|
||||
# Setup the build environment
|
||||
|
||||
The Qualcomm BSP layer can be used with any OE based distribution, such as Poky. The following instructions are provided to get started with 96boards Open Embedded Reference Software Platforms.
|
||||
|
||||
To manage the various git trees and the OpenEmbedded environment, a repo manifest is provided. If you do not have `repo` installed on your host machine, you first need to install it, using the following instructions (or similar):
|
||||
|
||||
mkdir -p ${HOME}/bin
|
||||
curl https://storage.googleapis.com/git-repo-downloads/repo > ${HOME}/bin/repo
|
||||
chmod a+x ${HOME}/bin/repo
|
||||
export PATH=${HOME}/bin:${PATH}
|
||||
|
||||
To initialize your build environment, you need to run:
|
||||
|
||||
mkdir oe-qcom && cd oe-qcom
|
||||
repo init -u https://github.com/96boards/oe-rpb-manifest.git -b jethro
|
||||
repo sync
|
||||
source setup-environment [<build folder>]
|
||||
|
||||
* after the command `repo sync` returns, all the OpenEmbedded recipes have been downloaded locally.
|
||||
* you will be prompted to choose the target machine, pick `dragonboard-410c`
|
||||
* you will be prompted to choose the distro, for now, it is recommended to use 'rpb'
|
||||
* <build folder> is optional, if missing it will default to `build-$DISTRO`
|
||||
|
||||
The script `setup-environment` will create sane default configuration files in <build folder>/conf, you can inspect them and modify them if needed. Note that conf/local.conf and conf/bblayers.conf are symlink , and under source control. So it is generally better not to modify them, and use conf/site.conf and conf/auto.conf instead.
|
||||
|
||||
# Build a minimal, console-only image
|
||||
|
||||
To build a console image, you can run:
|
||||
|
||||
$ bitbake rpb-console-image
|
||||
|
||||
At the end of the build, your build artifacts will be found in `tmp-eglibc/deploy/images/dragonboard-410c`. The two artifacts you will use to update your DragonBoard are:
|
||||
* `rpb-console-image-dragonboard-410c.ext4.gz` and
|
||||
* `boot-dragonboard-410c.img`
|
||||
|
||||
# Bootloaders and eMMC partitions
|
||||
|
||||
Build artifacts from your OE build will be flashed into the DragonBoard's on-board eMMC (in contrast to some other boards which run their images from an SDcard). The OpenEmbedded BSP layer assumes that the _Linux_ Bootloaders and eMMC partition layout are used on the DragonBoard 410c (not the _Android_ ones; by default DragonBoards come pre-configured with the Android eMMC partition layout). You can download the latest Linux bootloader package from [here](http://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/) to your development host, it will be named something like `dragonboard410c_bootloader_emmc_linux-<version>.zip`.
|
||||
|
||||
Whether your DragonBoard is using the Android eMMC partition layout or the Linux partition eMMC layout, you will use the Android `fastboot` utility on your development host for managing the board's eMMC partitions. If you are using a relatively recent Linux distribution on your development host, it probably already has a package that includes the `fastboot` utility (it might be named something like `android-tools` or `android-tools-fastboot`) so go ahead and install it on your development host. In order for your development host's fastboot utility to interact with the DragonBoard, the DragonBoard must be booted into a special `fastboot mode`. The procedure to do so is as follows:
|
||||
* remove power from your DragonBoard
|
||||
* plug a USB cable from your development host to your DragonBoard's J4 connector
|
||||
* while holding down S4 on the DragonBoard (the one marked "(-)"), insert the power adapter
|
||||
* after a few seconds you can release S4
|
||||
|
||||
To verify your cables and that the above procedure worked, on your development host run:
|
||||
|
||||
# sudo fastboot devices
|
||||
|
||||
and you should get a non-empty response, e.g.
|
||||
|
||||
# sudo fastboot devices
|
||||
83581d40 fastboot
|
||||
|
||||
If this is your first time using a particular DragonBoard, you will need to switch its eMMC partition layout to the Linux layout, but this procedure only needs to be done once for a given board. After switching your layout, you only have to update your board with your latest build artifacts.
|
||||
|
||||
The procedure for updating your eMMC partitions is as follows. Put your DragonBoard into `fastboot mode` (see procedure above) then perform these steps on your development host:
|
||||
* download the latest Linux bootloader package (e.g. `dragonboard410c_bootloader_emmc_linux-<version>.zip`)
|
||||
* unzip its contents
|
||||
* run the `flashall` script (as root) that you will find after unzipping the Linux bootloader package
|
||||
|
||||
At this point your eMMC has the following partition layout:
|
||||
|
||||
* `/dev/mmcblk0p7` , aka `aboot` is used for the bootloader (LK/fastboot)
|
||||
* `/dev/mmcblk0p8` , aka `boot` is used for the boot image (kernel, device tree, initrd)
|
||||
* `/dev/mmcblk0p10` , aka `rootfs` is used for the root file system
|
||||
|
||||
# Flashing build artifacts
|
||||
|
||||
In the following description, replace `image` with the name of the image you built. For example: if you built `rpb-console-image` then `image` will be `rpb-console-image`.
|
||||
|
||||
At the end of any successful build you will end up with the following artifacts (amongst others)
|
||||
* `image-dragonboard-410c.ext4.gz` and
|
||||
* `boot-dragonboard-410c.img`
|
||||
|
||||
These will be found in your `tmp-eglibc/deploy/images/dragonboard-410c` directory.
|
||||
|
||||
To install these to your DragonBoard's eMMC from your development host:
|
||||
|
||||
# gzip -d < image-dragonboard-410c.ext4.gz > image-dragonboard-410c.ext4
|
||||
# fastboot flash rootfs image-dragonboard-410c.ext4
|
||||
# fastboot flash boot boot-dragonboard-410c.img
|
||||
|
||||
# Proprietary firmware blob
|
||||
|
||||
When running the `setup-environment` script, you were asked to read/accept the Qualcomm EULA. The EULA is required to access the proprietary firmware, such as the GPU firmware , WLAN, ...
|
||||
|
||||
If you accepted the EULA, when building an image for DragonBoard 410c all proprietary firmware are installed automatically in `/lib/firmware`, and a copy of the EULA is added as '/etc/license.txt`.
|
||||
|
||||
If you did not accept the EULA, the firmware are not downloaded, and not installed into the image. You can manually manage the firmware and download them separately from [Qualcomm Developer Network](https://developer.qualcomm.com/download/linux-ubuntu-board-support-package-v1.1.zip).
|
||||
|
||||
# Build a simple X11 image
|
||||
|
||||
To build an X11 image with GPU hardware accelerated support run:
|
||||
|
||||
$ bitbake rpb-desktop-image
|
||||
|
||||
At the end of the build, the root file system image will be available as `tmp-eglibc/deploy/images/dragonboard-410c/rpb-desktop-image-dragonboard-410c.ext4.gz`.
|
||||
|
||||
Then you can finally start the X server, and run any graphical application:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
glxgears
|
||||
|
||||
The default X11 image includes `openbox` window manager, to use it:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
openbox &
|
||||
glxgears
|
||||
|
||||
Of course, you can easily add another window manager, such as `metacity` in the image. To install `metacity` in the image, add the following to `conf/auto.conf` file:
|
||||
|
||||
CORE_IMAGE_EXTRA_INSTALL += "metacity"
|
||||
|
||||
and rebuild the `rpb-desktop-image` image, it will now include `metacity`, which can be started like this:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
metacity&
|
||||
glxgears
|
||||
|
||||
# Build a sample Wayland/Weston image
|
||||
|
||||
For Wayland/weston, it is recommended to change the DISTRO and use `rpb-wayland` instead of `rpb`. The main reason is that in the `rpb-wayland` distro, the support for X11 is completely removed. So , in a new terminal prompt, setup a new environment and make sure to use `rpb-wayland` for DISTRO, then, you can run a sample image with:
|
||||
|
||||
$ bitbake rpb-weston-image
|
||||
|
||||
This image includes a few additional features, such as `systemd`, `connman` which makes it simpler to use. Once built, the image will be available at `tmp-eglibc/deploy/images/dragonboard-410c/rpb-weston-image-dragonboard-410c.ext4.gz`. And it can be flashed into `rootfs` partition.
|
||||
|
||||
If you boot this image on the board, you should get a command prompt on the HDMI monitor. A user called `linaro` exists (and has no password). Once logged in a VT, you run start weston with:
|
||||
|
||||
weston-launch
|
||||
|
||||
And that should get you to the Weston desktop shell.
|
||||
|
||||
# Support
|
||||
|
||||
For general question or support request, please go to [96boards.org Community forum](https://www.96boards.org/forums/forum/products/dragonboard410c/).
|
||||
|
||||
For any bug related to this release, please submit issues to the [96Board.org Bug tracking system](https://bugs.96boards.org/). To submit a bug, follow this [link](https://bugs.96boards.org/enter_bug.cgi?product=Dragonboard%20410c).
|
|
@ -0,0 +1,155 @@
|
|||
[<img src="http://i.imgur.com/jl4GG0d.png" data-canonical-src="http://i.imgur.com/jl4GG0d.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/7wy1996.png" data-canonical-src="http://i.imgur.com/7wy1996.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/tXXN5bZ.png" data-canonical-src="http://i.imgur.com/tXXN5bZ.png" width="125" height="157" />]()
|
||||
|
||||
>**Note:** CE AOSP RPB - 16.03 is a Developer Preview operating system
|
||||
|
||||
***
|
||||
|
||||
#### Step 1: Read about the Fastboot Method
|
||||
|
||||
Fastboot is supported by the board and can be used for installs. This is for advanced users who are most likely modifying/customizing source code and will need to download such updates to the board for test/execution.
|
||||
|
||||
This method requires the following hardware:
|
||||
- DragonBoard™ 410c with power supply
|
||||
- Host machine (Linux, Mac OS X, or Windows)
|
||||
- USB to microUSB cable
|
||||
- USB Mouse and/or keyboard (not required to perform flash)
|
||||
- HDMI Monitor with full size HDMI cable (not required to perform flash)
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download Android Bootloader and Boot file
|
||||
|
||||
- Android Bootloader ([Direct Download](https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/dragonboard410c_bootloader_emmc_android-*.zip) / <a href="https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/" target="_blank">Build Folder</a> )
|
||||
- Android Boot ([Direct Download](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/boot-db410c.img.xz) / <a href="https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
|
||||
>Note the location of all downloads, they will be needed once you access your instruction set
|
||||
|
||||
#### Step 3: Download all remaining files
|
||||
|
||||
- system.img ([Direct Download](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/system.img.xz) / <a href="https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
- userdata.img ([Direct Download](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/userdata.img.xz) / <a href="https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
- cache.img ([Direct Download](https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/cache.img.xz) / <a href="https://builds.96boards.org/releases/reference-platform/aosp/dragonboard410c/16.03/" target="_blank">Build Folder</a> )
|
||||
|
||||
>Note the location of all downloads, they will be needed once you access your instruction set
|
||||
|
||||
***
|
||||
#### Step 4: Install Android using Fastboot with Linux host
|
||||
|
||||
This section show how to install the Android operating system to your DragonBoard™ 410c using the fastboot method on a Mac OS X host computer.
|
||||
|
||||
1 - **Make sure fastboot is set up on host computer**
|
||||
|
||||
- Android SDK “Tools only” for Linux can be downloaded <a href="http://developer.android.com/sdk" target="_blank">here</a>
|
||||
- The Linux “Tools Only” SDK download does not come with fastboot, you will need to use the Android SDK Manager to install platform-tools.
|
||||
- To do this follow the “SDK Readme.txt” instructions included in your SDK “Tools Only” download.
|
||||
|
||||
If you are still having trouble setting up fastboot, <a href="https://youtu.be/W_zlydVBftA" target="_blank">click here</a> for a short tutorial video
|
||||
|
||||
2 - **Connect host computer to DragonBoard™ 410c**
|
||||
|
||||
- DragonBoard™ 410c must be powered off (unplugged from power)
|
||||
- Make sure microSD card slot on DragonBoard™ 410c is empty
|
||||
- S6 switch on DragonBoard™ 410c must be set to ‘0-0-0-0’. All switches should be in “off” position
|
||||
- Connect USB to microUSB cable from host computer to DragonBoard™ 410c
|
||||
|
||||
3 - **Boot DragonBoard™ 410c into fastboot mode**
|
||||
|
||||
**Please read all bullet points before attempting**
|
||||
|
||||
- Press and hold the Vol (-) button on the DragonBoard™ 410c, this is the S4 button. DragonBoard™ 410c should still NOT be powered on
|
||||
- While holding the Vol (-) button, power on the DragonBoard™ 410c by plugging it in
|
||||
- Once DragonBoard™ 410c is plugged into power, release your hold on the Vol (-) button.
|
||||
- Board should boot into fastboot mode.
|
||||
|
||||
From the connected host machine terminal window, run the following commands:
|
||||
|
||||
```shell
|
||||
# Check to make sure device is connected and in fastboot mode
|
||||
|
||||
fastboot devices
|
||||
```
|
||||
|
||||
**At this point you should be connected to your DragonBoard™ 410c with a USB to microUSB cable. Your DragonBoard™ 410c should be booted into fastboot mode and ready to be flashed with the appropriate images.**
|
||||
|
||||
4 - **Flash Bootloader**
|
||||
|
||||
- Use host computer
|
||||
- Open "Terminal" application
|
||||
- Recall location of Bootloader download.
|
||||
- The bootloader file should be named `dragonboard410c_bootloader_emmc_android`
|
||||
- `cd` to the directory with your unzipped **Bootloader Folder**
|
||||
|
||||
```shell
|
||||
cd <extraction directory>
|
||||
|
||||
#Example:
|
||||
cd /Users/YourUserName/Downloads
|
||||
#<extraction directory> = /Users/YourUserName/Downloads
|
||||
#For this example we assume the "Bootloader" is in the Downloads folder.
|
||||
|
||||
|
||||
cd <unzipped Bootloader folder>
|
||||
|
||||
#Example:
|
||||
cd dragonboard410c_bootloader_emmc_android
|
||||
#<unzipped Bootloader folder> = dragonboard410c_bootloader_emmc_android
|
||||
|
||||
# This command will execute the flashall script within the bootloader folder
|
||||
./flashall
|
||||
|
||||
```
|
||||
|
||||
5 - **Recall location of all downloaded files from downloads page**
|
||||
|
||||
This will include the files listed below:
|
||||
|
||||
###### Reference Platform files
|
||||
|
||||
- boot.img.tar.xz
|
||||
- system.img.tar.xz
|
||||
- userdata.img.tar.xz
|
||||
- cache.img.tar.xz
|
||||
|
||||
6 - **Unzip all files**
|
||||
|
||||
7 - **Flash all files to the DragonBoard™ 410c**
|
||||
|
||||
- Use host computer
|
||||
- Use "Terminal" application
|
||||
- Recall location of all extracted(unzipped) files
|
||||
- `cd` to the directory with your unzipped files
|
||||
- From within extraction directory, execute the following commands:
|
||||
|
||||
###### Reference Platform
|
||||
|
||||
```shell
|
||||
# (Once again) Check to make sure fastboot device connected
|
||||
sudo fastboot devices
|
||||
|
||||
# cd to the directory the boot image and were extracted
|
||||
$ cd <extraction directory>
|
||||
|
||||
# Make sure you have properly unzipped the downloads
|
||||
sudo fastboot flash boot boot.img
|
||||
sudo fastboot flash system system.img
|
||||
sudo fastboot flash userdata userdata.img
|
||||
sudo fastboot flash cache cache.img
|
||||
```
|
||||
|
||||
8 - **Reboot DragonBoard™ 410c**
|
||||
|
||||
- Unplug power to DragonBoard™ 410c
|
||||
- Unplug micro USB cable from DragonBoard™ 410c
|
||||
- Ensure HDMI connection to monitor
|
||||
- Ensure keyboard and/or mouse connection (Depending on your rootfs selection)
|
||||
- Plug power back into DragonBoard™ 410c
|
||||
- Wait for board to boot up
|
||||
- Board will boot into Android lock screen.
|
||||
|
||||
**Congratulations! You are now booting your newly installed OS directly
|
||||
from eMMC on the DragonBoard™ 410c!**
|
||||
|
|
@ -0,0 +1,326 @@
|
|||
# Install Instructions - Reference Software Platform
|
||||
|
||||
This page provides download and installation instructions inteded for those interested in flashing the DragonBoard 410c board with pre-built Linaro Reference Software. Two methods are currently available: **SD card method** and **Fastboot method**. If you are already familiar with these methods, you may find all necessary files in the [96Boards RPB 16.06 build folder](http://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.06/).
|
||||
|
||||
## Contents
|
||||
|
||||
- [SD Card Method](#sd-card-method)
|
||||
- [Fastboot Method](#fastboot-method)
|
||||
|
||||
***
|
||||
|
||||
# SD Card Method
|
||||
|
||||
#### Step 1: Read about the SD Card Method
|
||||
|
||||
The SD card method allows you to place a microSD card into the DragonBoard™ 410c to automatically boot and install the Linux Desktop onto the board. This method is generally simpler and should be used by beginners.
|
||||
|
||||
This method requires the following hardware:
|
||||
- DragonBoard™ 410c with power supply
|
||||
- Host machine (Linux, Mac OS X, or Windows)
|
||||
- MicroSD card with 4GB or more of storage
|
||||
- USB Mouse and/or keyboard
|
||||
- HDMI Monitor with full size HDMI cable
|
||||
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download SD Card Image
|
||||
|
||||
[SD Card Image - Direct Download](http://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.06/dragonboard410c-debian-jessie-alip-sdcard-*.img.gz)
|
||||
|
||||
>Note the location of all downloads, they will be needed once you access your instruction set
|
||||
|
||||
***
|
||||
|
||||
#### Step 3: Prepare MicroSD card
|
||||
|
||||
- Ensure data from mircoSD card is backed up
|
||||
- Everything on microSD card will be lost by the end of this procedure.
|
||||
|
||||
***
|
||||
|
||||
#### Step 4: Find SD Card Device name
|
||||
|
||||
- Use host Linux computer
|
||||
- Open "Terminal" application
|
||||
- Remove SD card from host computer and run the following command:
|
||||
```shell
|
||||
$ lsblk
|
||||
```
|
||||
- Note all recognized disk names
|
||||
- **Insert SD card** and run the following command (again):
|
||||
```shell
|
||||
$ lsblk
|
||||
```
|
||||
- Note the newly recognized disk. This will be your SD card.
|
||||
- **Remember** your SD card device name for a later step
|
||||
|
||||
***
|
||||
|
||||
#### Step 5: Recall Download Location
|
||||
|
||||
- Locate SD card install file from Downloads page.
|
||||
- This file will be needed for the next step.
|
||||
|
||||
***
|
||||
|
||||
#### Step 6: Unzip _SD Card Install Image_
|
||||
|
||||
- When unzipped, you will have a folder with the following contents:
|
||||
- Linaro/Debian Install Image (.img)
|
||||
- Readme
|
||||
|
||||
|
||||
***
|
||||
|
||||
#### Step 7: Go to directory with _SD Card Install Image_ folder using Terminal
|
||||
|
||||
- Use host Linux computer
|
||||
- Open "Terminal" application
|
||||
- `cd` to the directory with your unzipped **Debian SD Card Install Image**
|
||||
|
||||
```shell
|
||||
$ cd <extraction directory>
|
||||
|
||||
#Example:
|
||||
#<extraction directory> = /home/YourUserName/Downloads
|
||||
#For this example we assume the "Debian SD Card Install Image" is in the Downloads folder.
|
||||
$ cd /home/YourUserName/Downloads
|
||||
```
|
||||
|
||||
|
||||
***
|
||||
|
||||
#### Step 8: Locate SD Card Install Image
|
||||
|
||||
- Make sure you are in the extraction directory
|
||||
|
||||
**Unzipped Debian SD Card download will be a folder. This folder should be listed in your directory. Type `ls` from command line for a list of files that can be found in your current directory**:
|
||||
|
||||
```shell
|
||||
$ ls
|
||||
|
||||
#output
|
||||
dragonboard410c_sdcard_install_debian-XX
|
||||
```
|
||||
|
||||
- Unzipped folder should be called dragonboard410c_sdcard_install_debian-XX, where XX represents the Debian release number
|
||||
- `cd` into this directory
|
||||
|
||||
```shell
|
||||
$ cd dragonboard410c_sdcard_install_debian-XX
|
||||
```
|
||||
|
||||
- Inside this folder you will find the install image
|
||||
- `db410c_sd_install_debian.img`
|
||||
- This `.img` file is what will be flashed to your SD Card.
|
||||
|
||||
|
||||
***
|
||||
|
||||
#### Step 9: Install Image onto SD Card
|
||||
|
||||
**Checklist:**
|
||||
|
||||
- SD card inserted into host Linux computer
|
||||
- Recall SD Card device name from [**Step 2**](https://github.com/sdrobertw/test-wiki-/wiki/Linux-host-SD-CARD#step-2-find-sd-card-device-name)
|
||||
- From within the dragonboard410c_sdcard_install_debian-XX folder, using the Terminal execute the following commands:
|
||||
|
||||
**Execute:**
|
||||
|
||||
```shell
|
||||
$ sudo dd if=db410c_sd_install_debian.img of=/dev/XXX bs=4M oflag=sync status=noxfer
|
||||
```
|
||||
|
||||
**Note:**
|
||||
|
||||
- `if=db410c_sd_install_debian.img`: should match the name of the image that was downloaded.
|
||||
- `of=/dev/XXX`: XXX should match the name of the SD Card device name from [**Step 2**](https://github.com/sdrobertw/test-wiki-/wiki/Linux-host-SD-CARD#step-2-find-sd-card-device-name). Be sure to use the device name with out the partition.
|
||||
- This command will take some time to execute. Be patient and avoid tampering with the terminal until process has ended.
|
||||
- Once SD card is done flashing, remove from host computer and set aside for a later step
|
||||
|
||||
***
|
||||
|
||||
#### Step 10: Prepare DragonBoard™ 410c with SD card
|
||||
|
||||
- Make sure DragonBoard™ 410c is unplugged from power
|
||||
- Set S6 switch on DragonBoard™ 410c to `0-1-0-0`, "SD Boot switch" should be set to "ON".
|
||||
- Please see "1.1 Board Overview" on page 7 from [DragonBoard™ 410c Hardware Manual](http://linaro.co/96b-hwm-db) if you cannot find S6
|
||||
- Connect an HDMI monitor to the DragonBoard™ 410c with an HDMI cable, and power on the monitor
|
||||
- Plug a USB keyboard and/or mouse into either of the two USB connectors on the DragonBoard™ 410c
|
||||
- Insert the microSD card into the DragonBoard™ 410c
|
||||
- Plug power adaptor into DragonBoard™ 410c, wait for board to boot up.
|
||||
|
||||
***
|
||||
|
||||
#### Step 11: Install RPB Linaro/Debian onto DragonBoard™ 410c
|
||||
|
||||
<img src="http://i.imgur.com/F18wlgU.png" data-canonical-src="http://i.imgur.com/F18wlgU.png" width="400" height="250"/>
|
||||
|
||||
- If **Steps 1 - 8** were followed correctly, the above screen should be visible from your DragonBoard™ 410c
|
||||
- Select the image to install and click “Install” (or type “i”). OS will be installed into the eMMC memory
|
||||
- This process can take a few minutes to complete
|
||||
- Upon completion, “Flashing has completed and OS has installed successfully....” message will appear.
|
||||
|
||||
Before clicking "OK":
|
||||
|
||||
- Remove the SD Card
|
||||
- Set S6 switch on DragonBoard™ 410c to `0-0-0-0`, all switches should be set to "OFF"
|
||||
- Now click "OK" button and allow DragonBoard™ 410c to reboot.
|
||||
|
||||
**Congratulations! You are now booting your newly installed operating system directly from eMMC on the DragonBoard™ 410c!**
|
||||
|
||||
[Back to top](#install-instructions---reference-software-platform)
|
||||
|
||||
***
|
||||
|
||||
# Fastboot Method
|
||||
|
||||
|
||||
#### Step 1: Read about the Fastboot Method
|
||||
|
||||
Fastboot is supported by the board and can be used for installs. This is for advanced users who are most likely modifying/customizing source code and will need to download such updates to the board for test/execution.
|
||||
|
||||
This method requires the following hardware:
|
||||
- DragonBoard™ 410c with power supply
|
||||
- Host Linux machine
|
||||
- USB to microUSB cable
|
||||
- USB Mouse and/or keyboard (not required to perform flash)
|
||||
- HDMI Monitor with full size HDMI cable (not required to perform flash)
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download Debian Bootloader
|
||||
|
||||
- Debian Bootloader ([Direct Download](https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/dragonboard410c_bootloader_emmc_linux-*.zip) / <a href="https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/" target="_blank">Build Folder</a> )
|
||||
|
||||
#### Step 3: Download Boot image and Root file system
|
||||
|
||||
- Debian Boot ([Direct Download](http://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.06/dragonboard410c-boot-linux-*.img.gz) / <a href="http://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.06/" target="_blank">Build Folder</a> )
|
||||
- Debian Rootfs (Desktop) ([Direct Download](http://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.06/dragonboard410c-rootfs-debian-jessie-alip-*.emmc.img.gz) / <a href="http://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.06/" target="_blank">Build Folder</a> )
|
||||
|
||||
>Note the location of all downloads, they will be needed once you access your instruction set
|
||||
|
||||
***
|
||||
#### Step 4: Install Debian Using Fastboot with Linux host
|
||||
|
||||
This section show how to install the Linaro based Debian operating system to your DragonBoard™ 410c using the fastboot method on a Linux host computer.
|
||||
|
||||
1 - **Make sure fastboot is set up on host computer**
|
||||
|
||||
- Android SDK “Tools only” for Linux can be downloaded <a href="http://developer.android.com/sdk" target="_blank">here</a>
|
||||
- The Linux “Tools Only” SDK download does not come with fastboot, you will need to use the Android SDK Manager to install platform-tools.
|
||||
- To do this follow the “SDK Readme.txt” instructions included in your SDK “Tools Only” download.
|
||||
|
||||
If you are still having trouble setting up fastboot, <a href="https://youtu.be/W_zlydVBftA" target="_blank">click here</a> for a short tutorial video
|
||||
|
||||
2 - **Connect host computer to DragonBoard™ 410c**
|
||||
|
||||
- DragonBoard™ 410c must be powered off (unplugged from power)
|
||||
- Make sure microSD card slot on DragonBoard™ 410c is empty
|
||||
- S6 switch on DragonBoard™ 410c must be set to ‘0-0-0-0’. All switches should be in “off” position
|
||||
- Connect USB to microUSB cable from host computer to DragonBoard™ 410c
|
||||
|
||||
3 - **Boot DragonBoard™ 410c into fastboot mode**
|
||||
|
||||
**Please read all bullet points before attempting**
|
||||
|
||||
- Press and hold the Vol (-) button on the DragonBoard™ 410c, this is the S4 button. DragonBoard™ 410c should still NOT be powered on
|
||||
- While holding the Vol (-) button, power on the DragonBoard™ 410c by plugging it in
|
||||
- Once DragonBoard™ 410c is plugged into power, release your hold on the Vol (-) button.
|
||||
- Wait for about 20 seconds.
|
||||
- Board should boot into fastboot mode.
|
||||
|
||||
From the connected host machine terminal window, run the following commands:
|
||||
|
||||
```shell
|
||||
# Check to make sure device is connected and in fastboot mode
|
||||
|
||||
$ fastboot devices
|
||||
```
|
||||
|
||||
Typically it will show as bellow
|
||||
```shell
|
||||
de82318 fastboot
|
||||
```
|
||||
|
||||
**At this point you should be connected to your DragonBoard™ 410c with a USB to microUSB cable. Your DragonBoard™ 410c should be booted into fastboot mode and ready to be flashed with the appropriate images.**
|
||||
|
||||
4 - **Flash Bootloader**
|
||||
|
||||
- Use host computer
|
||||
- Open "Terminal" application
|
||||
- Recall location of Bootloader download.
|
||||
- The bootloader file should be named `dragonboard410c_bootloader_emmc_linux-XX`
|
||||
- XX represents the release number of the Bootloader
|
||||
- `cd` to the directory with your unzipped **Bootloader Folder**
|
||||
|
||||
```shell
|
||||
$ cd <extraction directory>
|
||||
|
||||
#Example:
|
||||
cd /Users/YourUserName/Downloads
|
||||
#<extraction directory> = /Users/YourUserName/Downloads
|
||||
#For this example we assume the "Bootloader" is in the Downloads folder.
|
||||
|
||||
|
||||
$ cd <unzipped Bootloader folder>
|
||||
|
||||
#Example:
|
||||
cd dragonboard410c_bootloader_emmc_linux-40
|
||||
#<unzipped Bootloader folder> = dragonboard410c_bootloader_emmc_linux-40
|
||||
#This example took place during release 40
|
||||
|
||||
# This command will execute the flashall script within the bootloader folder
|
||||
$ ./flashall
|
||||
|
||||
```
|
||||
|
||||
5 - **Recall location of `boot` and `rootfs` download from the downloads page**
|
||||
|
||||
- You should have downloaded the `boot` file
|
||||
- You should have downloaded ONE of rootfs` file (Either `Developer` or `Desktop - ALIP` version)
|
||||
|
||||
6 - **Unzip both 'boot' and 'rootfs' files**
|
||||
|
||||
7 - **Flash `boot` image and `rootfs` to the DragonBoard™ 410c**
|
||||
|
||||
- Use host computer
|
||||
- Use "Terminal" application
|
||||
- Recall location of extracted(unzipped) `boot` file
|
||||
- Recall location of extracted(unzipped) `rootfs` file (`Developer` or `Desktop - ALIP`)
|
||||
- `cd` to the directory with your unzipped `boot` and `rootfs` files
|
||||
- From within extraction directory, execute the following commands:
|
||||
|
||||
```shell
|
||||
# (Once again) Check to make sure fastboot device connected
|
||||
$ sudo fastboot devices
|
||||
# It will show similar to bellow if the device is connected successfully
|
||||
de82318 fastboot
|
||||
|
||||
# cd to the directory the boot image and were extracted
|
||||
$ cd <extraction directory>
|
||||
|
||||
# Make sure you have properly unzipped the boot and rootfs downloads
|
||||
$ sudo fastboot flash boot boot-linaro-jessie-qcom-snapdragon-arm64-**BUILD#**.img
|
||||
$ sudo fastboot flash rootfs linaro-jessie-developer-qcom-snapdragon-arm64-**BUILD#**.img
|
||||
```
|
||||
**Note**: Replace **BUILD#** in the above commands with the file-specific date/build stamp.
|
||||
|
||||
8 - **Reboot DragonBoard™ 410c**
|
||||
|
||||
- Unplug power to DragonBoard™ 410c
|
||||
- Unplug micro USB cable from DragonBoard™ 410c
|
||||
- Ensure HDMI connection to monitor
|
||||
- Ensure keyboard and/or mouse connection (Depending on your rootfs selection)
|
||||
- Plug power back into DragonBoard™ 410c
|
||||
- Wait for board to boot up
|
||||
- Board will boot into either command line or desktop depending on rootfs
|
||||
|
||||
**Note:** the **username** and **password** are both **“linaro”** when the login information is requested.
|
||||
|
||||
**Congratulations! You are now booting your newly installed OS directly
|
||||
from eMMC on the DragonBoard™ 410c!**
|
||||
|
||||
[Back to top](#install-instructions---reference-software-platform)
|
|
@ -0,0 +1,212 @@
|
|||
## OpenEmbedded RPB 16.03 - Build from Source
|
||||
|
||||
This page provides instructions to get started with OpenEmbedded and the Yocto Project on the DragonBoard 410c.
|
||||
|
||||
# Introduction
|
||||
|
||||
This wiki is not an introduction on OpenEmbedded or Yocto Project. If you are not familiar with OpenEmbedded and the Yocto Project, it is very much recommended to read the appropriate documentation first. For example, you can start with:
|
||||
* http://openembedded.org/wiki/Main_Page
|
||||
* http://yoctoproject.org/
|
||||
* https://www.yoctoproject.org/documentation
|
||||
|
||||
In this wiki, we assume that the reader is familiar with basic concepts of OpenEmbedded.
|
||||
|
||||
The support for DragonBoard 410c is available in the [meta-qcom BSP layer](http://git.yoctoproject.org/cgit/cgit.cgi/meta-qcom).
|
||||
|
||||
This layer has been tested with OpenEmbedded Core layer, and is expected to work with any other standard layers and of course any OpenEmbedded based distributions.
|
||||
|
||||
The Linux kernel used for the DragonBoard 410c is the Linaro Landing team kernel, e.g. the same kernel used for the Linaro Linux release builds. The graphic stack is based on mesa, using the freedreno driver.
|
||||
|
||||
## OE Layers
|
||||
|
||||
| Layer | Description |
|
||||
|:-----------------------:|:----------------------|
|
||||
| OE-Core (Base layer) | This is the main collaboration point when working on OpenEmbedded projects and is part of the core recipes. The goal of this layer is to have just enough recipes to build a basic system, this means keeping it as small as possible. |
|
||||
| Meta-rpb (Distro layer) | This is a very small layer where the distro configurations live. Currently it houses both Reference Platform Build and Wayland Reference Platform Builds. |
|
||||
| Meta-oe | This layer houses many useful, but sometimes unmaintained recipes. Since the reduction in recipes to the core, meta-oe was created for everything else. There are currently approximately 650 recipes in this layer. |
|
||||
| Meta-browser | This layer holds the recipes for Firefox and Chromium. Both recipes require a lot of maintenance, because of this a seperate layer was created. |
|
||||
| Meta-qt5 | This is a cross-platform toolkit. |
|
||||
| Meta-linaro | This layer is used to get the Linaro toolchain. |
|
||||
| Meta-linaro-backports | This is an experimental layer used to get newer versions into the build which were not part of the release. |
|
||||
| Meta-96Boards | This support layer is managed by Linaro and intended for boards that do not have their own board support layer. Currently used for the HiKey Consumer edition board, and eventually the Bubblegum-96 board. If a vendor does not support their own layer, it can be added to this layer. |
|
||||
| Meta-qcom (BSP) | This is the board support layer for Qualcomm boards. Currently supports IFC6410 and the DragonBoard 410c. |
|
||||
|
||||
# Package Dependencies
|
||||
|
||||
In order to successfully set up your build environment, you will need to install the following package dependencies.
|
||||
|
||||
**Step 1**: You will need git installed on your Linux host machine
|
||||
|
||||
`$ sudo apt-get install git`
|
||||
|
||||
**Step 2**: Visit the OpenEmbedded (Getting Started) wiki to see which distribution specific dependencies you will need
|
||||
|
||||
http://www.openembedded.org/wiki/Getting_started
|
||||
|
||||
**Step 3**: Install 96Boards specific dependencies (Case specific)
|
||||
|
||||
Setting up the build environment will first search for `whiptail`, if it is not present then it will search for `dialog`. You only need one of the following packages to ensure your setup-environement runs correctly:
|
||||
|
||||
|
||||
`$ sudo apt-get install whiptail`
|
||||
|
||||
or
|
||||
|
||||
`$ sudo apt-get install dialog`
|
||||
|
||||
**Please Note**: If you are running Ubuntu 16.04 you will need to add the following line to your `/etc/apt/sources.list`
|
||||
|
||||
`deb http://archive.ubuntu.com/ubuntu/ xenial universe`
|
||||
|
||||
```shell
|
||||
$ cd /etc/apt/
|
||||
#vim text editor is used in this example
|
||||
#sudo is used to allow editing, sources.list is set to read only
|
||||
$ sudo vim sources.list
|
||||
```
|
||||
|
||||
All required dependencies should now be installed on your host environment, you are ready to begin your build environment setup.
|
||||
|
||||
|
||||
# Setup the build environment
|
||||
|
||||
The Qualcomm BSP layer can be used with any OE based distribution, such as Poky. The following instructions are provided to get started with 96boards Open Embedded Reference Software Platforms.
|
||||
|
||||
To manage the various git trees and the OpenEmbedded environment, a repo manifest is provided. If you do not have `repo` installed on your host machine, you first need to install it, using the following instructions (or similar):
|
||||
|
||||
mkdir -p ${HOME}/bin
|
||||
curl https://storage.googleapis.com/git-repo-downloads/repo > ${HOME}/bin/repo
|
||||
chmod a+x ${HOME}/bin/repo
|
||||
export PATH=${HOME}/bin:${PATH}
|
||||
|
||||
To initialize your build environment, you need to run:
|
||||
|
||||
mkdir oe-qcom && cd oe-qcom
|
||||
repo init -u https://github.com/96boards/oe-rpb-manifest.git -b jethro
|
||||
repo sync
|
||||
source setup-environment [<build folder>]
|
||||
|
||||
* after the command `repo sync` returns, all the OpenEmbedded recipes have been downloaded locally.
|
||||
* you will be prompted to choose the target machine, pick `dragonboard-410c`
|
||||
* you will be prompted to choose the distro, for now, it is recommended to use 'rpb'
|
||||
* <build folder> is optional, if missing it will default to `build-$DISTRO`
|
||||
|
||||
The script `setup-environment` will create sane default configuration files in <build folder>/conf, you can inspect them and modify them if needed. Note that conf/local.conf and conf/bblayers.conf are symlink , and under source control. So it is generally better not to modify them, and use conf/site.conf and conf/auto.conf instead.
|
||||
|
||||
# Build a minimal, console-only image
|
||||
|
||||
To build a console image, you can run:
|
||||
|
||||
$ bitbake rpb-console-image
|
||||
|
||||
At the end of the build, your build artifacts will be found in `tmp-eglibc/deploy/images/dragonboard-410c`. The two artifacts you will use to update your DragonBoard are:
|
||||
* `rpb-console-image-dragonboard-410c.ext4.gz` and
|
||||
* `boot-dragonboard-410c.img`
|
||||
|
||||
# Bootloaders and eMMC partitions
|
||||
|
||||
Build artifacts from your OE build will be flashed into the DragonBoard's on-board eMMC (in contrast to some other boards which run their images from an SDcard). The OpenEmbedded BSP layer assumes that the _Linux_ Bootloaders and eMMC partition layout are used on the DragonBoard 410c (not the _Android_ ones; by default DragonBoards come pre-configured with the Android eMMC partition layout). You can download the latest Linux bootloader package from [here](http://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/) to your development host, it will be named something like `dragonboard410c_bootloader_emmc_linux-<version>.zip`.
|
||||
|
||||
Whether your DragonBoard is using the Android eMMC partition layout or the Linux partition eMMC layout, you will use the Android `fastboot` utility on your development host for managing the board's eMMC partitions. If you are using a relatively recent Linux distribution on your development host, it probably already has a package that includes the `fastboot` utility (it might be named something like `android-tools` or `android-tools-fastboot`) so go ahead and install it on your development host. In order for your development host's fastboot utility to interact with the DragonBoard, the DragonBoard must be booted into a special `fastboot mode`. The procedure to do so is as follows:
|
||||
* remove power from your DragonBoard
|
||||
* plug a USB cable from your development host to your DragonBoard's J4 connector
|
||||
* while holding down S4 on the DragonBoard (the one marked "(-)"), insert the power adapter
|
||||
* after a few seconds you can release S4
|
||||
|
||||
To verify your cables and that the above procedure worked, on your development host run:
|
||||
|
||||
# sudo fastboot devices
|
||||
|
||||
and you should get a non-empty response, e.g.
|
||||
|
||||
# sudo fastboot devices
|
||||
83581d40 fastboot
|
||||
|
||||
If this is your first time using a particular DragonBoard, you will need to switch its eMMC partition layout to the Linux layout, but this procedure only needs to be done once for a given board. After switching your layout, you only have to update your board with your latest build artifacts.
|
||||
|
||||
The procedure for updating your eMMC partitions is as follows. Put your DragonBoard into `fastboot mode` (see procedure above) then perform these steps on your development host:
|
||||
* download the latest Linux bootloader package (e.g. `dragonboard410c_bootloader_emmc_linux-<version>.zip`)
|
||||
* unzip its contents
|
||||
* run the `flashall` script (as root) that you will find after unzipping the Linux bootloader package
|
||||
|
||||
At this point your eMMC has the following partition layout:
|
||||
|
||||
* `/dev/mmcblk0p7` , aka `aboot` is used for the bootloader (LK/fastboot)
|
||||
* `/dev/mmcblk0p8` , aka `boot` is used for the boot image (kernel, device tree, initrd)
|
||||
* `/dev/mmcblk0p10` , aka `rootfs` is used for the root file system
|
||||
|
||||
# Flashing build artifacts
|
||||
|
||||
In the following description, replace `image` with the name of the image you built. For example: if you built `rpb-console-image` then `image` will be `rpb-console-image`.
|
||||
|
||||
At the end of any successful build you will end up with the following artifacts (amongst others)
|
||||
* `image-dragonboard-410c.ext4.gz` and
|
||||
* `boot-dragonboard-410c.img`
|
||||
|
||||
These will be found in your `tmp-eglibc/deploy/images/dragonboard-410c` directory.
|
||||
|
||||
To install these to your DragonBoard's eMMC from your development host:
|
||||
|
||||
# gzip -d < image-dragonboard-410c.ext4.gz > image-dragonboard-410c.ext4
|
||||
# fastboot flash rootfs image-dragonboard-410c.ext4
|
||||
# fastboot flash boot boot-dragonboard-410c.img
|
||||
|
||||
# Proprietary firmware blob
|
||||
|
||||
When running the `setup-environment` script, you were asked to read/accept the Qualcomm EULA. The EULA is required to access the proprietary firmware, such as the GPU firmware , WLAN, ...
|
||||
|
||||
If you accepted the EULA, when building an image for DragonBoard 410c all proprietary firmware are installed automatically in `/lib/firmware`, and a copy of the EULA is added as '/etc/license.txt`.
|
||||
|
||||
If you did not accept the EULA, the firmware are not downloaded, and not installed into the image. You can manually manage the firmware and download them separately from [Qualcomm Developer Network](https://developer.qualcomm.com/download/linux-ubuntu-board-support-package-v1.1.zip).
|
||||
|
||||
# Build a simple X11 image
|
||||
|
||||
To build an X11 image with GPU hardware accelerated support run:
|
||||
|
||||
$ bitbake rpb-desktop-image
|
||||
|
||||
At the end of the build, the root file system image will be available as `tmp-eglibc/deploy/images/dragonboard-410c/rpb-desktop-image-dragonboard-410c.ext4.gz`.
|
||||
|
||||
Then you can finally start the X server, and run any graphical application:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
glxgears
|
||||
|
||||
The default X11 image includes `openbox` window manager, to use it:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
openbox &
|
||||
glxgears
|
||||
|
||||
Of course, you can easily add another window manager, such as `metacity` in the image. To install `metacity` in the image, add the following to `conf/auto.conf` file:
|
||||
|
||||
CORE_IMAGE_EXTRA_INSTALL += "metacity"
|
||||
|
||||
and rebuild the `rpb-desktop-image` image, it will now include `metacity`, which can be started like this:
|
||||
|
||||
X&
|
||||
export DISPLAY=:0
|
||||
metacity&
|
||||
glxgears
|
||||
|
||||
# Build a sample Wayland/Weston image
|
||||
|
||||
For Wayland/weston, it is recommended to change the DISTRO and use `rpb-wayland` instead of `rpb`. The main reason is that in the `rpb-wayland` distro, the support for X11 is completely removed. So , in a new terminal prompt, setup a new environment and make sure to use `rpb-wayland` for DISTRO, then, you can run a sample image with:
|
||||
|
||||
$ bitbake rpb-weston-image
|
||||
|
||||
This image includes a few additional features, such as `systemd`, `connman` which makes it simpler to use. Once built, the image will be available at `tmp-eglibc/deploy/images/dragonboard-410c/rpb-weston-image-dragonboard-410c.ext4.gz`. And it can be flashed into `rootfs` partition.
|
||||
|
||||
If you boot this image on the board, you should get a command prompt on the HDMI monitor. A user called `linaro` exists (and has no password). Once logged in a VT, you run start weston with:
|
||||
|
||||
weston-launch
|
||||
|
||||
And that should get you to the Weston desktop shell.
|
||||
|
||||
# Support
|
||||
|
||||
For general question or support request, please go to [96boards.org Community forum](https://www.96boards.org/forums/forum/products/dragonboard410c/).
|
||||
|
||||
For any bug related to this release, please submit issues to the [96Board.org Bug tracking system](https://bugs.96boards.org/). To submit a bug, follow this [link](https://bugs.96boards.org/enter_bug.cgi?product=Dragonboard%20410c).
|
|
@ -0,0 +1,17 @@
|
|||
## Dragonboard™ 410c - Reference Platform Build - 16.06
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards. Includes SD card and Fastboot method instructions.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
|
||||
***
|
||||
|
||||
| **CE Debian RPB - 16.06** |
|
||||
|:-----------------------------:|
|
||||
| [Install Instructions](InstallDebianRPB-16.06.md) |
|
||||
| [Build from Source](BFSDebianRPB-16.06.md) |
|
||||
| [Known issues](../../../Known-Issues.md) |
|
||||
|
||||
***
|
||||
|
||||
- Access generic **OpenEmbedded** build from source instructions [here](../../../CECommon/OE.md)
|
|
@ -0,0 +1,46 @@
|
|||
## AOSP RPB 16.03 - Build from Source
|
||||
|
||||
Additional AOSP repositories are hosted here:
|
||||
- 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)
|
||||
|
||||
###### Out of date:
|
||||
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):
|
||||
|
||||
```shell
|
||||
<USER> ALL= NOPASSWD: /bin/mount
|
||||
<USER> ALL= NOPASSWD: /bin/umount
|
||||
<USER> ALL= NOPASSWD: /sbin/mkfs.fat
|
||||
<USER> ALL= NOPASSWD: /bin/cp
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
**Download the code:**
|
||||
|
||||
```shell
|
||||
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
|
||||
|
||||
**Build the image:**
|
||||
|
||||
```shell
|
||||
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/hiked
|
||||
```
|
|
@ -0,0 +1,182 @@
|
|||
## Debian RPB 16.06 - Build from Source
|
||||
|
||||
- Building Linux Kernel from Source
|
||||
- Step 1: Setting up your environment on your host computer
|
||||
- Step 2: Download the Linaro cross compiler toolchain
|
||||
- Step 3: Export path to cross compiler tool and confirm version
|
||||
- Step 5: Set the right kernel .config file
|
||||
- Step 6: Build kernel image and debian package
|
||||
- Step 7: Find HiKey IP Address
|
||||
- Step 8: Transfer the modules to the target HiKey
|
||||
- Step 9: Generate the initramfs
|
||||
- Step 10: Create the device tree image and boot image
|
||||
- Customize Bootloader
|
||||
- Build Rootfs from source
|
||||
|
||||
***
|
||||
|
||||
#### Building the Linux kernel from source
|
||||
|
||||
The Linux kernel used in this release is available via tags in the git [repository](https://github.com/96boards/linux)
|
||||
|
||||
```shell
|
||||
git: https://github.com/96boards/linux
|
||||
Dynamic tag: 96b-kernelci
|
||||
Fixed tag: 96b/releases/2016.06
|
||||
defconfig: arch/arm64/configs/distro.config
|
||||
```
|
||||
|
||||
The kernel image (`Image`) and the kernel modules are installed in the root file system (e.g. `/boot/vmlinuz-4.4.0-104-arm64` and `/lib/modules/4.4.0-104-arm64`). 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/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz), also available [here](http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/)
|
||||
|
||||
To build the Linux kernel, you can use the following instructions:
|
||||
|
||||
#### Step 1: Setting up your environment on your host computer
|
||||
|
||||
- Open your Terminal and cd into your desired directory
|
||||
- Make a new folder using `mkdir`, name it something relevant
|
||||
|
||||
```shell
|
||||
#Example of desired directory
|
||||
$ cd ~/Desktop
|
||||
|
||||
#Example of relevant folder
|
||||
$ mkdir HiKey-16.06
|
||||
$ cd HiKey-16.06
|
||||
```
|
||||
|
||||
#### Step 2: Step 2: Download the Linaro cross compiler toolchain
|
||||
|
||||
- From within the directory you just made
|
||||
- Download and unzip by executing the following commands
|
||||
|
||||
###### Linaro Cross Compiler
|
||||
|
||||
```shell
|
||||
#Download
|
||||
$ wget http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz
|
||||
#Unzip
|
||||
$ tar -Jxvf gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz
|
||||
```
|
||||
|
||||
#### Step 3: Export path to cross compiler tool and confirm version
|
||||
|
||||
- Exporting path will allow build system can find and use the right kernel
|
||||
|
||||
```shell
|
||||
#Create path
|
||||
$ export PATH=~/Desktop/HiKey-16.06/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/:$PATH
|
||||
#Check version
|
||||
$ aarch64-linux-gnu-gcc --version
|
||||
aarch64-linux-gnu-gcc (Linaro GCC 5.3-2016.02) 5.3.1 20160113
|
||||
Copyright (C) 2015 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
```
|
||||
|
||||
#### Step 4: Clone the Reference Platform kernel
|
||||
|
||||
- **96b-kernelci** is the development branch
|
||||
- This branch will have the latest changes
|
||||
- Use **96b/releases/2016.06** if you want the same version used by the 16.06 release
|
||||
|
||||
```shell
|
||||
$ git clone -b 96b/releases/2016.06 http://github.com/96boards/linux.git
|
||||
```
|
||||
|
||||
- Cloning the kernel may take a few minutes
|
||||
- If you already have a local clone of another kernel git tree, use _--reference path/your/old/tree/.git_ for a faster clone process
|
||||
- Once kernel source has been cloned cd into its directory
|
||||
|
||||
```shell
|
||||
$ cd linux
|
||||
```
|
||||
|
||||
#### Step 5: Set the right kernel .config file
|
||||
|
||||
- This step creates the '.config' file
|
||||
- The .config file is used by the build system when compiling the kernel
|
||||
- Current Reference Platform config can be made by using distro.config
|
||||
- From with in kernel directory execute the following command:
|
||||
|
||||
```shell
|
||||
$ cp arch/arm64/configs/distro.config .config
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- oldconfig
|
||||
```
|
||||
|
||||
- New .config file will be hidden but can be seen by executing `ls -a` from within kernel folder
|
||||
- To view all current configuration the .config file can be opened with a text editor such a `vim`
|
||||
|
||||
#### Step 6: Build kernel image and debian package
|
||||
|
||||
- This step will take some time (~20-30 minutes or more), depending on your cpu/memory
|
||||
- Creating the kernel package is recommended for HiKey, as it supports Grub 2
|
||||
|
||||
```shell
|
||||
#Replace X from -jX with the number of cores on your host computer
|
||||
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -jX deb-pkg LOCALVERSION=-yourowntag
|
||||
```
|
||||
|
||||
#### Step 7: Find HiKey IP Address
|
||||
|
||||
- On your HiKey board
|
||||
- Connect to the internet through WIFI
|
||||
- Open one of the Terminal applications
|
||||
|
||||
```shell
|
||||
$ /sbin/ifconfig
|
||||
```
|
||||
- Look for your `wlan0` connection
|
||||
- Here you will see an `inet addr`
|
||||
- This is your board's IP address and should look something like this: `192.168.0.10`
|
||||
|
||||
#### Step 8: Transfer the modules to the target HiKey
|
||||
|
||||
- Using your board's IP Address for linaro@<yourIPaddress>
|
||||
|
||||
```shell
|
||||
$ scp ../linux-image-4.4.0-yourowntag.deb linaro@192.168.1.15:~/
|
||||
$ ssh linaro@192.168.1.15
|
||||
#HiKey shell
|
||||
|
||||
$ hikey $ sudo dpkg -i linux-image-4.4.0-yourowntag.deb
|
||||
```
|
||||
Congratulations! Your new kernel is now ready to be used by your HiKey.
|
||||
|
||||
- You can check `/boot/grub/grub.cfg` for the new boot entry based on your own kernel
|
||||
- If you want only your kernel to be available, you can remove the default linux-image package, and grub will be automatically updated
|
||||
|
||||
### Boot Loader
|
||||
|
||||
Please see go [here](BuildSourceBL.md) for instructions on how to built the boot loader from source.
|
||||
|
||||
#### 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:
|
||||
|
||||
```shell
|
||||
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:
|
||||
|
||||
```shell
|
||||
sudo apt-get update
|
||||
sudo apt-get build-dep <pkg>
|
||||
apt-get source <pkg>
|
||||
```
|
||||
|
||||
Then you can rebuild the package locally with:
|
||||
|
||||
```shell
|
||||
cd <pkg-version>
|
||||
dpkg-buildpackage -b -us -uc
|
||||
```
|
||||
|
||||
#### TODO
|
||||
|
||||
* Explain how to build the rootfs from source
|
|
@ -0,0 +1,86 @@
|
|||
## HiKey Bootloader - Building from source
|
||||
|
||||
The source code is available from:
|
||||
- [**l-loader**](https://github.com/96boards-hikey/l-loader)
|
||||
- [**ARM Trusted Firmware**](https://github.com/96boards-hikey/arm-trusted-firmware)
|
||||
- [**OP-TEE**](https://github.com/OP-TEE/optee_os)
|
||||
- [**Tianocore EDK2 – UEFI**](https://github.com/96boards-hikey/edk2) and [**OpenPlatformPkg**](https://github.com/96boards-hikey/OpenPlatformPkg)
|
||||
|
||||
Since GRUB2 is currently consumed directly from the Debian package, debian package rebuild instructions applies.
|
||||
|
||||
### Build instructions
|
||||
|
||||
Prerequisites:
|
||||
- GCC 5.3 cross-toolchain for Aarch64 available in your PATH
|
||||
- You can download and use the Linaro GCC binary (Linaro GCC 5.3-2016.02), available at [http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz](http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/aarch64-linux-gnu/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz)
|
||||
- GCC 5.3 cross-toolchain for gnueabihf available in your PATH
|
||||
- You can download and use the Linaro GCC binary (Linaro GCC 5.3-2016.02), available at [http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/arm-linux-gnueabihf/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz](http://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/arm-linux-gnueabihf/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz)
|
||||
- GPT fdisk (gdisk package from your favorite distribution).
|
||||
|
||||
#### Installing pre-built toolchain(s)
|
||||
|
||||
```shell
|
||||
mkdir arm-tc arm64-tc
|
||||
tar --strip-components=1 -C ${PWD}/arm-tc -xf gcc-linaro-5.3-*arm-linux-gnueabihf.tar.xz
|
||||
tar --strip-components=1 -C ${PWD}/arm64-tc -xf gcc-linaro-5.3-*aarch64-linux-gnu.tar.xz
|
||||
export PATH="${PWD}/arm-tc/bin:${PWD}/arm64-tc/bin:$PATH"
|
||||
```
|
||||
|
||||
#### Getting the source code
|
||||
|
||||
```shell
|
||||
git clone -b hikey-aosp https://github.com/96boards-hikey/edk2.git
|
||||
git clone -b hikey-aosp https://github.com/96boards-hikey/OpenPlatformPkg.git
|
||||
git clone https://github.com/OP-TEE/optee_os.git
|
||||
git clone -b hikey https://github.com/96boards-hikey/arm-trusted-firmware.git
|
||||
git clone https://github.com/96boards-hikey/l-loader.git
|
||||
git clone -b hikey-aosp https://github.com/96boards-hikey/uefi-tools.git
|
||||
```
|
||||
|
||||
#### Building EDK2/UEFI for HiKey
|
||||
|
||||
Building EDK2/UEFI is simple if built with the _uefi-tools.sh_ script, since it already incorporates the platform specific configs and binaries.
|
||||
|
||||
To build EDK2/UEFI (use **-b** to select **RELEASE** or **DEBUG** build):
|
||||
|
||||
```shell
|
||||
export AARCH64_TOOLCHAIN=GCC49
|
||||
export EDK2_DIR=${PWD}/edk2
|
||||
export OPTEE_DIR=${PWD}/optee_os
|
||||
export ATF_DIR=${PWD}/arm-trusted-firmware
|
||||
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
|
||||
cd ${EDK2_DIR}
|
||||
rmdir OpenPlatformPkg; ln -s ../OpenPlatformPkg
|
||||
${UEFI_TOOLS_DIR}/uefi-build.sh -b RELEASE -a ${ATF_DIR} -s ${OPTEE_DIR} hikey
|
||||
```
|
||||
|
||||
And bl1.bin with l-loader (ptable files are also created as part of the l-loader Makefile):
|
||||
|
||||
```shell
|
||||
cd ../l-loader
|
||||
ln -s ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/FV/bl1.bin
|
||||
ln -s ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/FV/fip.bin
|
||||
make # requires sudo for creating the partition tables
|
||||
```
|
||||
|
||||
The files 'fip.bin', 'l-loader.bin' and 'ptable-linux-8g.img' are now built. All the image files are in _$BUILD/l-loader_ directory. The Fastboot App is at _edk2/Build/HiKey/RELEASE_GCC49/AARCH64/AndroidFastbootApp.efi_.
|
||||
|
||||
#### EFI boot partition
|
||||
|
||||
The boot partition is a 64MB FAT partition only contains fastboot.efi and GRUB2, since the grub.cfg, kernel, initrd and device tree are all loaded from the root file system (grubaa64.efi searches for rootfs label/boot/grub/grub.cfg).
|
||||
|
||||
```shell
|
||||
wget https://builds.96boards.org/snapshots/reference-platform/components/grub/latest/grubaa64.efi
|
||||
mkdir boot-fat
|
||||
dd if=/dev/zero of=boot-fat.uefi.img bs=512 count=131072
|
||||
sudo mkfs.fat -n "boot" boot-fat.uefi.img
|
||||
sudo mount -o loop,rw,sync boot-fat.uefi.img boot-fat
|
||||
sudo mkdir -p boot-fat/EFI/BOOT
|
||||
sudo cp ${EDK2_DIR}/Build/HiKey/RELEASE_GCC49/AARCH64/AndroidFastbootApp.efi boot-fat/EFI/BOOT/fastboot.efi
|
||||
sudo cp grubaa64.efi boot-fat/EFI/BOOT/grubaa64.efi
|
||||
sudo umount boot-fat
|
||||
sudo mv boot-fat.uefi.img hikey-boot-linux-VERSION.uefi.img
|
||||
rm -rf boot-fat
|
||||
```
|
||||
|
||||
Now just flash the recently created 'hikey-boot-linux-VERSION.uefi.img' with the same instructions as used with the pre-built binaries.
|
|
@ -0,0 +1,126 @@
|
|||
#### Your Build Choice
|
||||
|
||||
[<img src="http://i.imgur.com/jl4GG0d.png" data-canonical-src="http://i.imgur.com/jl4GG0d.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/7wy1996.png" data-canonical-src="http://i.imgur.com/7wy1996.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />]()
|
||||
[<img src="http://i.imgur.com/tXXN5bZ.png" data-canonical-src="http://i.imgur.com/tXXN5bZ.png" width="125" height="157" />]()
|
||||
|
||||
***
|
||||
|
||||
#### Step 1: Read about the Fastboot Method
|
||||
|
||||
Fastboot is supported by the board and can be used for installs. This is for advanced users who are most likely modifying/customizing source code and will need to download such updates to the board for test/execution.
|
||||
|
||||
This method requires the following hardware:
|
||||
- HiKey with power supply
|
||||
- Host machine (Linux, Mac OS X, or Windows)
|
||||
- USB to microUSB cable
|
||||
- USB Mouse and/or keyboard (not required to perform flash)
|
||||
- HDMI Monitor with full size HDMI cable (not required to perform flash)
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download the following files
|
||||
|
||||
>Note: Some files have 4G and 8G options, download file which best matches your HiKey board.
|
||||
|
||||
- All HiKey **CircuitCo boards** will use the **4G files**
|
||||
- All HiKey **LeMaker 1G boards** will use the **4G files**
|
||||
- All HiKey **LeMaker 2G boards** will use the **8G files**
|
||||
|
||||
Build Folders (<a href="http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/" target="_blank">**Binaries**</a> / <a href="http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/" target="_blank">**Image**</a>)
|
||||
|
||||
- **l-loader.bin** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/l-loader.bin))
|
||||
- **fip.bin** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/fip.bin))
|
||||
- **nvme.img** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/nvme.img))
|
||||
- **ptable-aosp.img** ([**4G Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/ptable-aosp-4g.img) / [**8G Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/ptable-aosp-8g.img))
|
||||
- **hisi-idt.py** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/bootloader/hisi-idt.py))
|
||||
- **boot_fat.uefi.img** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/boot_fat.uefi.img.tar.xz))
|
||||
- **cache.img.tar.xz** ([**Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/cache.img.tar.xz))
|
||||
- **userdata.img.xz** ([**4G Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/userdata.img.tar.xz) / [**8G Download**](http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/userdata-8gb.img.tar.xz))
|
||||
- **system.img.tar.xz** (<a href="http://builds.96boards.org/releases/reference-platform/aosp/hikey/16.03/system.img.tar.xz" target="_blank">**Download**</a>)
|
||||
|
||||
***
|
||||
|
||||
#### Step 3: Install AOSP Using Fastboot with Linux host
|
||||
|
||||
This section show how to install the AOSP operating system to your HiKey using the fastboot method on a Linux host computer.
|
||||
|
||||
1 - **Make sure fastboot is set up on host computer**
|
||||
|
||||
- Android SDK “Tools only” for Linux can be downloaded <a href="http://developer.android.com/sdk" target="_blank">here</a>
|
||||
- The Linux “Tools Only” SDK download does not come with fastboot, you will need to use the Android SDK Manager to install platform-tools.
|
||||
- To do this follow the “SDK Readme.txt” instructions included in your SDK “Tools Only” download.
|
||||
|
||||
If you are still having trouble setting up fastboot, <a href="https://youtu.be/W_zlydVBftA" target="_blank">click here</a> for a short tutorial video
|
||||
|
||||
2 - **Boot HiKey into Fastboot mode using J15 header**
|
||||
|
||||
- Link pins 1 and 2
|
||||
- Link pins 5 and 6
|
||||
- Connect host computer to HiKey board using USB to microUSB cable
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | open
|
||||
GPIO3-1 | Link 5-6 | closed
|
||||
|
||||
- Power on HiKey board by plugging in power adapter
|
||||
- Esure HiKey is detected by host computere
|
||||
- Open Terminal application and execute the following:
|
||||
|
||||
```shell
|
||||
$ sudo fastboot devices
|
||||
0123456789abcdef fastboot
|
||||
```
|
||||
|
||||
>Note: If your HiKey is not being detected by fastboot, you might want to try [Board Recovery](https://github.com/96boards/documentation/wiki/HiKey-Board-Recovery) and return to this step once your board is ready
|
||||
|
||||
3 - **Set HiKey into Recovery Mode using J15 header**
|
||||
|
||||
- Remove link between pins 5 and 6
|
||||
- Link pins 1 and 2
|
||||
- Link pins 3 and 4
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | closed
|
||||
GPIO3-1 | Link 5-6 | open
|
||||
|
||||
4 - **Install Operating System update using downloaded files**
|
||||
|
||||
>**NOTE:** the ptable must be flashed first. Wait for a few seconds after the reboot command to allow the bootloader to restart using the new partition table.
|
||||
|
||||
```shell
|
||||
$ sudo fastboot flash ptable ptable-aosp-8g.img
|
||||
$ sudo fastboot reboot
|
||||
$ sudo fastboot flash boot boot_fat.uefi.img
|
||||
$ sudo fastboot flash cache cache.img
|
||||
$ sudo fastboot flash system system.img
|
||||
$ sudo fastboot flash userdata userdata-8gb.img
|
||||
```
|
||||
|
||||
5 - **Reboot HiKey into new OS**
|
||||
|
||||
- Wait untill all files have been flashed onto HiKey board
|
||||
- Power down HiKey by unplugging the power adapter
|
||||
- Remove microUSB cable from HiKey
|
||||
- Remove Link 3-4 from J15 header
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | open
|
||||
GPIO3-1 | Link 5-6 | open
|
||||
|
||||
- Plug mouse/keyboard USB into type A USB ports
|
||||
- Power up HiKey by plugging in power adapter
|
||||
|
||||
|
||||
**Note:** the **username** and **password** are both **“linaro”** when the login information is requested.
|
||||
|
||||
**Congratulations! You are now booting your newly installed OS directly
|
||||
from eMMC on the HiKey!**
|
|
@ -0,0 +1,265 @@
|
|||
# Install Instructions - Reference Software Platform
|
||||
|
||||
This page provides download and installation instructions inteded for those interested in flashing the HiKey board with pre-built Linaro Reference Software. Two methods are currently available: **SD card method** and **Fastboot method**. If you are already familiar with these methods, you may find all necessary files in the [96Boards RPB 16.06 build folder](http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/).
|
||||
|
||||
## Contents
|
||||
|
||||
- [SD Card Method](#sd-card-method)
|
||||
- [Fastboot Method](#fastboot-method)
|
||||
|
||||
***
|
||||
|
||||
# SD Card Method
|
||||
|
||||
<img src="http://i.imgur.com/jl4GG0d.png" data-canonical-src="http://i.imgur.com/jl4GG0d.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/OQGR5yY.png" data-canonical-src="http://i.imgur.com/OQGR5yY.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/g8N21m1.png" data-canonical-src="http://i.imgur.com/g8N21m1.png" width="125" height="157" />
|
||||
|
||||
#### Step 1: Read about the SD Card Method
|
||||
|
||||
The SD card method allows you to place a microSD card into the HiKey to automatically boot and install the Linux Desktop onto the board. This method is generally simpler and should be used by beginners.
|
||||
|
||||
This method requires the following hardware:
|
||||
- HiKey with power supply
|
||||
- Host Linux machine (Linux, Mac OS X, or Windows)
|
||||
- MicroSD card with 4GB or more of storage
|
||||
- USB Mouse and/or keyboard
|
||||
- HDMI Monitor with full size HDMI cable
|
||||
|
||||
|
||||
***
|
||||
#### Step 2: Download SD Card Image
|
||||
|
||||
**Debian Linux Reference Software Platform - SD Card Image**
|
||||
|
||||
[SD Card Image - Direct Download](http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/hikey-debian-jessie-alip-sdcard-*.img.gz)
|
||||
|
||||
***
|
||||
|
||||
#### Step 3: Prepare MicroSD card
|
||||
|
||||
- Ensure data from mircoSD card is backed up
|
||||
- Everything on microSD card will be lost by the end of this procedure.
|
||||
|
||||
***
|
||||
|
||||
#### Step 4: Find SD Card Device name
|
||||
|
||||
- Use host Linux computer
|
||||
- Open "Terminal" application
|
||||
- Remove SD card from host computer and run the following command:
|
||||
```shell
|
||||
lsblk
|
||||
```
|
||||
- Note all recognized disk names
|
||||
- **Insert SD card** and run the following command (again):
|
||||
```shell
|
||||
lsblk
|
||||
```
|
||||
- Note the newly recognized disk. This will be your SD card.
|
||||
- You will need to remember this device name for a later step.
|
||||
|
||||
***
|
||||
|
||||
#### Step 5: Recall Download Location
|
||||
|
||||
- Locate SD card install file from Downloads page.
|
||||
- This file will be needed for the next step.
|
||||
|
||||
***
|
||||
|
||||
#### Step 6: Unzip _SD Card Install Image_
|
||||
|
||||
- When unzipped, you will have a folder with the following contents:
|
||||
- Linaro/Debian Install Image (.img)
|
||||
- Readme
|
||||
|
||||
***
|
||||
|
||||
#### Step 7: Go to directory with _SD Card Install Image_ folder using Terminal
|
||||
|
||||
- Use host Linux computer
|
||||
- Open "Terminal" application
|
||||
- `cd` to the directory with your unzipped **SD Card Install Image**
|
||||
|
||||
```shell
|
||||
cd <extraction directory>
|
||||
|
||||
#Example:
|
||||
#<extraction directory> = /home/YourUserName/Downloads
|
||||
#For this example we assume the "Debian SD Card Install Image" is in the Downloads folder.
|
||||
cd /home/YourUserName/Downloads
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
#### Step 8: Install Image onto SD Card
|
||||
|
||||
**Checklist:**
|
||||
|
||||
- SD card inserted into host Linux computer
|
||||
- Recall SD Card device name **Step 4**
|
||||
- From within the extraction folder, using the Terminal execute the following commands:
|
||||
|
||||
**Execute:**
|
||||
|
||||
```shell
|
||||
sudo dd if=hikey-jessie_alip_2015MMDD-nnn.img of=/dev/XXX bs=4M oflag=sync status=noxfer
|
||||
```
|
||||
|
||||
**Note:**
|
||||
|
||||
- `if=hikey-jessie_alip_2015MMDD-nnn.img`: should match the name of the image that was downloaded.
|
||||
- `of=/dev/XXX`: XXX should match the name of the SD Card device name from [**Step 2**](). Be sure to use the device name with out the partition.
|
||||
- This command will take some time to execute. Be patient and avoid tampering with the terminal until process has ended.
|
||||
- Once SD card is done flashing, remove from host computer and set aside for a later step
|
||||
|
||||
|
||||
***
|
||||
|
||||
#### Step 9: Prepare HiKey with SD card
|
||||
|
||||
- Make sure HiKey is unplugged from power
|
||||
- Connect an HDMI monitor to the HiKey with an HDMI cable, and power on the monitor
|
||||
- Plug a USB keyboard and/or mouse into either of the two USB connectors on the HiKey
|
||||
- Insert the microSD card into the HiKey
|
||||
- Plug power adaptor into HiKey, wait for board to boot up.
|
||||
|
||||
***
|
||||
|
||||
#### Step 10: Install Linaro/Debian onto HiKey
|
||||
|
||||
<img src="http://i.imgur.com/F18wlgU.png" data-canonical-src="http://i.imgur.com/F18wlgU.png" width="400" height="250"/>
|
||||
|
||||
- If **Steps 1 - 8** were followed correctly, the above screen should be visible from your HiKey
|
||||
- Select the image to install and click “Install” (or type “i”). OS will be installed into the eMMC memory
|
||||
- This process can take a few minutes to complete
|
||||
- Upon completion, “Flashing has completed and OS has installed successfully....” message will appear.
|
||||
|
||||
Before clicking "OK":
|
||||
|
||||
- Remove the SD Card
|
||||
- Now click "OK" button and allow HiKey to reboot.
|
||||
|
||||
**Congratulations! You are now booting your newly installed operating system directly from eMMC on the HiKey**
|
||||
|
||||
[Back to top](#install-instructions---reference-software-platform)
|
||||
|
||||
***
|
||||
|
||||
# Fastboot Method
|
||||
|
||||
<img src="http://i.imgur.com/jl4GG0d.png" data-canonical-src="http://i.imgur.com/jl4GG0d.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/OQGR5yY.png" data-canonical-src="http://i.imgur.com/OQGR5yY.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/yRQKDI6.png" data-canonical-src="http://i.imgur.com/yRQKDI6.png" width="125" height="157" />
|
||||
<img src="http://i.imgur.com/tXXN5bZ.png" data-canonical-src="http://i.imgur.com/tXXN5bZ.png" width="125" height="157" />
|
||||
|
||||
***
|
||||
|
||||
#### Step 1: Read about the Fastboot Method
|
||||
|
||||
Fastboot is supported by the board and can be used for installs. This is for advanced users who are most likely modifying/customizing source code and will need to download such updates to the board for test/execution.
|
||||
|
||||
This method requires the following hardware:
|
||||
- HiKey with power supply
|
||||
- Host Linux machine (Linux, Mac OS X, or Windows)
|
||||
- USB to microUSB cable
|
||||
- USB Mouse and/or keyboard (not required to perform flash)
|
||||
- HDMI Monitor with full size HDMI cable (not required to perform flash)
|
||||
|
||||
***
|
||||
|
||||
#### Step 2: Download Debian partition table
|
||||
|
||||
> Note: Some files have 4G and 8G options, download file which best matches your HiKey board.
|
||||
|
||||
- All HiKey **CircuitCo boards** will use the **4G files**
|
||||
- All HiKey **LeMaker 1G boards** will use the **4G files**
|
||||
- All HiKey **LeMaker 2G boards** will use the **8G files**
|
||||
|
||||
**ptable-linux.img** ([**4G Download**](http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/bootloader/ptable-linux-4g.img) / [**8G Download**](http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/bootloader/ptable-linux-8g.img))
|
||||
|
||||
***
|
||||
|
||||
#### Step 3: Download Boot image and Root File System
|
||||
|
||||
- **Debian Boot** ([**Download**](http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/hikey-boot-linux-*.uefi.img.gz))
|
||||
- **Debian Rootfs** (<a href="http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/hikey-rootfs-debian-jessie-alip-*.emmc.img.gz" target="_blank">**Download**</a>)
|
||||
|
||||
***
|
||||
|
||||
#### Step 4: Install Debian Using Fastboot with Linux host
|
||||
|
||||
This section show how to install the Linaro based Debian operating system to your HiKey using the fastboot method on a Linux host computer.
|
||||
|
||||
|
||||
|
||||
1 - **Make sure fastboot is set up on host computer**
|
||||
|
||||
- Android SDK “Tools only” for Linux can be downloaded <a href="http://developer.android.com/sdk" target="_blank">here</a>
|
||||
- The Linux “Tools Only” SDK download does not come with fastboot, you will need to use the Android SDK Manager to install platform-tools.
|
||||
- To do this follow the “SDK Readme.txt” instructions included in your SDK “Tools Only” download.
|
||||
|
||||
If you are still having trouble setting up fastboot, <a href="https://youtu.be/W_zlydVBftA" target="_blank">click here</a> for a short tutorial video
|
||||
|
||||
2 - **Boot HiKey into Fastboot mode using J15 header**
|
||||
|
||||
- Link pins 1 and 2
|
||||
- Link pins 5 and 6
|
||||
- Connect host computer to HiKey board using USB to microUSB cable
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | open
|
||||
GPIO3-1 | Link 5-6 | closed
|
||||
|
||||
- Power on HiKey board by plugging in power adapter
|
||||
- Esure HiKey is detected by host computere
|
||||
- Wait for about 10 seconds
|
||||
- Open Terminal application and execute the following:
|
||||
|
||||
```shell
|
||||
$ sudo fastboot devices
|
||||
0123456789abcdef fastboot
|
||||
```
|
||||
|
||||
>Note: If your HiKey is not being detected by fastboot, you might want to try [Board Recovery](https://github.com/96boards/documentation/blob/master/ConsumerEdition/HiKey/Installation/BoardRecovery.md) and return to this step once your board is ready
|
||||
|
||||
3 - **Install Operating System update using downloaded files**
|
||||
|
||||
>**NOTE:** the ptable must be flashed first. Wait for a few seconds after the reboot command to allow the bootloader to restart using the new partition table.
|
||||
|
||||
```shell
|
||||
$ sudo fastboot flash ptable <ptable_FILE_NAME>.img
|
||||
$ sudo fastboot reboot
|
||||
$ sudo fastboot flash boot <boot_FILE_NAME>.uefi.img
|
||||
$ sudo fastboot flash system hikey-rootfs-debian-jessie-alip-YYYYMMDD-nnn.emmc.img
|
||||
```
|
||||
|
||||
4 - **Reboot HiKey into new OS**
|
||||
|
||||
- Wait untill all files have been flashed onto HiKey board
|
||||
- Power down HiKey by unplugging the power adapter
|
||||
- Remove microUSB cable from HiKey
|
||||
- Remove Link 5-6 from J15 header
|
||||
|
||||
Name | Link | State
|
||||
---- | ---- | -----
|
||||
Auto Power up | Link 1-2 | closed
|
||||
Boot Select | Link 3-4 | open
|
||||
GPIO3-1 | Link 5-6 | open
|
||||
|
||||
- Plug mouse/keyboard USB into type A USB ports
|
||||
- Power up HiKey by plugging in power adapter
|
||||
|
||||
|
||||
**Note:** the **username** and **password** are both **“linaro”** when the login information is requested.
|
||||
|
||||
**Congratulations! You are now booting your newly installed OS directly
|
||||
from eMMC on the HiKey!**
|
||||
|
||||
[Back to top](#install-instructions---reference-software-platform)
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
## Reference Platform Build - 16.06
|
||||
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards. Includes SD card and Fastboot method instructions.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
|
||||
***
|
||||
|
||||
#### HiKey
|
||||
|
||||
|
||||
| **CE Debian RPB - 16.06** |
|
||||
|:-----------------------------:|
|
||||
| [Install Instructions](InstallDebianRPB.md) |
|
||||
| [Build from Source](BFSDebianRPB.md) |
|
||||
| [Known issues](../../../Known-Issues.md) |
|
||||
|
||||
|
||||
|
||||
| **CE AOSP** |
|
||||
|:---------------------------:|
|
||||
| [Install Instructions](https://source.android.com/source/devices.html) |
|
||||
| [Known issues](../../../Known-Issues.md) |
|
||||
|
||||
|
||||
|
||||
***
|
||||
|
||||
- Access **bootloader** build from source instructions [here](BuildSourceBL.md)
|
||||
- Access **OpenEmbedded** build from source instructions [here](../../CECommon/OE.md)
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
### LeMaker Cello
|
||||
|
||||
***
|
||||
|
||||
### Critical Bug List
|
||||
|
||||
As both USB and the PCIe slot are not yet functional (hardware issues), the only way to currently start the installer is via SATA (CD-ROM, or flashed in a SATA disk). Once the Realtek UEFI driver gets integrated as part of OpenPlatformPkg, it will also be possible to PXE boot the installer.
|
||||
|
||||
Please also check bugs [2194](https://bugs.linaro.org/show_bug.cgi?id=2194), [2195](https://bugs.linaro.org/show_bug.cgi?id=2195) and [2196](https://bugs.linaro.org/show_bug.cgi?id=2196) for the known issues.
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
The [UEFI/EDK2 guide for EE](../../../../EECommon/UEFI-EDK2-Guide-EE.md) provides information on how to flash the boot firmware for Cello (Tianocore EDK2).
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.06/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.06 release, the kernel is based on *4.4.11*.
|
||||
|
||||
### Quick Start
|
||||
|
||||
Booting from the network is not yet supported due lack of a binary UEFI driver for RTL8111GS, so installing from a physical medium is required (CD-ROM, SATA disk). USB and micro SD is not yet recognized by the UEFI firmware.
|
||||
|
||||
##### Flashing the firmware
|
||||
|
||||
Follow the instructions available as part of the [UEFI EDK2 Guide](../../../../EECommon/UEFI-EDK2-Guide-EE.md#amd-overdrive) in order to flash your LeMaker Cello. The tested flashing process requires [DediProg SF100](http://www.dediprog.com/pd/spi-flash-solution/SF100) or [SPI Hook](http://www.tincantools.com/SPI_Hook.html).
|
||||
|
||||
### Distro Installers
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../../../../EECommon/Install-Debian-Jessie.md#loading-debian-installer-from-the-minimal-cd) - Using the minimum ISO
|
||||
* [CentOS 7](../../../../EECommon/Install-CentOS-7.md)
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../../../../EECommon/Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../../../../EECommon/OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,59 @@
|
|||
### D02
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
The [UEFI/EDK2 guide for EE](../../../../EECommon/UEFI-EDK2-Guide-EE.md) provides information about building and flashing the boot firmware for D02.
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.06/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.06 release, the kernel is based on *4.4.11*.
|
||||
|
||||
### Quick Start
|
||||
|
||||
#### D02 - QuickStart
|
||||
|
||||
UEFI/EDK2 is supported by D02 (with build from source instructions available as part of the [UEFI EDK2 Guide](../../../../EECommon/UEFI-EDK2-Guide-EE.md#building), and since ACPI support is new, please make sure you are using the latest firmware available at [https://builds.96boards.org/releases/reference-platform/components/uefi/16.06/release/d02/](https://builds.96boards.org/releases/reference-platform/components/uefi/16.06/release/d02/) before proceeding with kernel testing or installing your favorite distribution (and please make sure to report your firmware version when reporting issues and bugs).
|
||||
|
||||
**NOTE:** 16.06 kernel **requires** the 16.06 UEFI/EDK2 firmware release!
|
||||
|
||||
##### Flashing the firmware
|
||||
|
||||
Follow the instructions available as part of the [UEFI EDK2 Guide](../../../../EECommon/UEFI-EDK2-Guide-EE.md#d02) in order to flash your D02. The tested flashing process only requires access to a TFTP server, since the firmware supports fetching the firmware from the network.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../../../../EECommon/DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../../../../EECommon/Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../../../../EECommon/Install-CentOS-7.md)
|
||||
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../../../../EECommon/Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../../../../EECommon/OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,59 @@
|
|||
### D03
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
The [UEFI/EDK2 guide for EE](../../../../EECommon/UEFI-EDK2-Guide-EE.md) provides information about building and flashing the boot firmware for D03.
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.06/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.06 release, the kernel is based on *4.4.11*.
|
||||
|
||||
### Quick Start
|
||||
|
||||
#### D03 - QuickStart
|
||||
|
||||
UEFI/EDK2 is supported by D03 (with build from source instructions available as part of the [UEFI EDK2 Guide](../../../../EECommon/UEFI-EDK2-Guide-EE.md#building), and since ACPI support is new, please make sure you are using the latest firmware available at [https://builds.96boards.org/releases/reference-platform/components/uefi/16.06/release/d03/](https://builds.96boards.org/releases/reference-platform/components/uefi/16.06/release/d03/) before proceeding with kernel testing or installing your favorite distribution (and please make sure to report your firmware version when reporting issues and bugs).
|
||||
|
||||
**NOTE:** 16.06 kernel **requires** the 16.06 UEFI/EDK2 firmware release!
|
||||
|
||||
##### Flashing the firmware
|
||||
|
||||
Follow the instructions available as part of the [UEFI EDK2 Guide](../../../../EECommon/UEFI-EDK2-Guide-EE.md#d03) in order to flash your D03. The tested flashing process only requires access to a TFTP server, since the firmware supports fetching the firmware from the network.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../../../../EECommon/DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../../../../EECommon/Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../../../../EECommon/Install-CentOS-7.md)
|
||||
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../../../../EECommon/Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../../../../EECommon/OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,47 @@
|
|||
### HP ProLiant m400
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
TBD
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.06/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.06 release, the kernel is based on *4.4.11*.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../../../../EECommon/DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../../../../EECommon/Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../../../../EECommon/Install-CentOS-7.md)
|
||||
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../../../../EECommon/Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../../../../EECommon/OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,59 @@
|
|||
### Overdrive
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
The [UEFI/EDK2 guide for EE](../../../../EECommon/UEFI-EDK2-Guide-EE.md) provides information on how to flash the boot firmware for Overdrive (AMI Bios).
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.03/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.06 release, the kernel is based on *4.4.11*.
|
||||
|
||||
### Quick Start
|
||||
|
||||
#### AMD Overdrive
|
||||
|
||||
UEFI/EDK2 is supported by Overdrive Rev B (with build from source instructions available as part of the [UEFI EDK2 Guide](../../../../EECommon/UEFI-EDK2-Guide-EE.md#building), and since ACPI support is new, please make sure you are using the latest firmware available at [https://builds.96boards.org/releases/reference-platform/components/uefi/16.06/release/overdrive/](https://builds.96boards.org/releases/reference-platform/components/uefi/16.06/release/overdrive) before proceeding with kernel testing or installing your favorite distribution (and please make sure to report your firmware version when reporting issues and bugs).
|
||||
|
||||
**NOTE:** 16.06 kernel **requires** the 16.06 UEFI/EDK2 firmware release!
|
||||
|
||||
|
||||
##### Flashing the firmware
|
||||
|
||||
Follow the instructions available as part of the [UEFI EDK2 Guide](../../../../EECommon/UEFI-EDK2-Guide-EE.md#amd-overdrive) in order to flash your AMD Overdrive. The tested flashing process requires [DediProg SF100](http://www.dediprog.com/pd/spi-flash-solution/SF100) or [SPI Hook](http://www.tincantools.com/SPI_Hook.html).
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../../../../EECommon/DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../../../../EECommon/Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../../../../EECommon/Install-CentOS-7.md)
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../../../../EECommon/Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../../../../EECommon/OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,46 @@
|
|||
## Qualcomm QDF2432 Server Development Platform
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
TBD
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.06/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.06 release, the kernel is based on *4.4.11*.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../../../../EECommon/DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../../../../EECommon/Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../../../../EECommon/Install-CentOS-7.md)
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../../../../EECommon/Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../../../../EECommon/OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
### Cavium ThunderX
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
TBD
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.06/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.06 release, the kernel is based on *4.4.11*.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../../../../EECommon/DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../../../../EECommon/Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../../../../EECommon/Install-CentOS-7.md)
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../../../../EECommon/Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../../../../EECommon/OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,48 @@
|
|||
### X-Gene Mustang
|
||||
|
||||
***
|
||||
|
||||
### Boot Firmware
|
||||
|
||||
TBD
|
||||
|
||||
### Reference Platform Kernel
|
||||
|
||||
The Reference Platform kernel used by the enterprise release can be found on [github.com/96boards/linux](https://github.com/96boards/linux/tree/96b/releases/2016.06)
|
||||
|
||||
Since we use the same kernel config with all our builds and distributions, it is also available as part of the same kernel tree, and can be found at [arch/arm64/configs/distro.config](https://github.com/96boards/linux/blob/96b/releases/2016.06/arch/arm64/configs/distro.config).
|
||||
|
||||
At the time of the 16.06 release, the kernel is based on *4.4.11*.
|
||||
|
||||
### Network Installers
|
||||
|
||||
In order to install a distribution from network, PXE (DCHP/TFTP) booting is required. Since we require UEFI for the Enterprise Edition, the setup is usually easier since all you need is to load GRUB 2 (and its configuration). Check [this link](../../../../EECommon/DHCP-TFTP-Server-UEFI.md) for instructions on how to quickly setup your own PXE server (using *dnsmasq*).
|
||||
|
||||
Install instructions for the tested/supported distributions:
|
||||
* [Debian 8.x 'Jessie'](../../../../EECommon/Install-Debian-Jessie.md)
|
||||
* [CentOS 7](../../../../EECommon/Install-CentOS-7.md)
|
||||
|
||||
|
||||
|
||||
#### Other distributions
|
||||
|
||||
Only Debian and CentOS are officially released and validated as part of the reference software platform project, but other distributions can be easily supported as well (just need kernel and installer changes).
|
||||
|
||||
Extra resources for other distributions:
|
||||
* [Fedora 23](../../../../EECommon/Install-Fedora-23.md)
|
||||
|
||||
### Enterprise Software Components
|
||||
|
||||
#### OpenStack
|
||||
|
||||
Follow the [instructions](../../../../EECommon/OpenStack-Liberty.md) on how to install and run OpenStack Liberty on Debian Jessie.
|
||||
|
||||
#### Hadoop (ODPi BigTop)
|
||||
|
||||
##### Installation
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-Hadoop-Installation.md) to install ODPi BigTop Hadoop
|
||||
|
||||
##### Setup and Running Hadoop
|
||||
|
||||
Follow the [instructions](../../../../EECommon/ODPi-BigTop-Hadoop-Config-Run.md) to configure and install Hadoop
|
|
@ -0,0 +1,96 @@
|
|||
### Highlights for 16.06 release:
|
||||
|
||||
***
|
||||
|
||||
###### Consumer and Enterprise Edition:
|
||||
|
||||
#### Kernel
|
||||
|
||||
- Unified tree shared between the CE and EE builds.
|
||||
- 4.4.11-based, including some under-review topic branches to extend the features and platform hardware support.
|
||||
- Device-Tree support for CE; ARM ACPI and PCIe support for Enterprise.
|
||||
- Added OP-TEE support
|
||||
- Enabled on HiKey and Juno-r1
|
||||
- Supports Reference HW platforms HiKey and Cello
|
||||
- Other Test Platforms include: Dragonboard 410c, Hisilicon D02 and D03, APM X-Gene, HP Proliant m400, AMD Overdrive, Qualcomm QDF2432 Server Development Platform, and Cavium ThunderX.
|
||||
- Single kernel config for all platforms in arch/arm64/configs/distro.config
|
||||
- Single kernel binary (package) for all platforms
|
||||
|
||||
#### Bootloader
|
||||
|
||||
- UEFI OpenPlatformPkg (upstream) now contains reference implementations for Huawei D02/D03, AMD Overdrive and LeMaker Cello
|
||||
- U-boot support in DB410c images to allow easier handling of images
|
||||
|
||||
***
|
||||
|
||||
###### Consumer Edition:
|
||||
|
||||
#### Reference hardware platform:
|
||||
- LeMaker Hikey
|
||||
|
||||
#### Other supported test platforms:
|
||||
- Dragonboard 410c
|
||||
|
||||
#### Overall CE Debian platform features, validated as part of the release:
|
||||
- UEFI with DT
|
||||
- Upgrade to Debian 8.5 "Jessie"
|
||||
- Upgrade to the unified 4.4.11 Linux Kernel
|
||||
- Upgrade graphics components: Mesa 11.1.2 and XServer 1.17.3a
|
||||
- Rootfs automatically resized during the first boot
|
||||
|
||||
#### CE Debian RPB for HiKey:
|
||||
- OP-TEE integrated by default
|
||||
- UEFI updated to use the latest development trees based on Tianocore
|
||||
- OpenPlatformPkg
|
||||
|
||||
#### CE Debian build for DragonBoard™ 410c:
|
||||
- U-boot chain-loaded from LK
|
||||
|
||||
#### CE OE/Yocto RPB:
|
||||
- First OpenEmbedded-based RPB, including several changes and components merged from the LHG OE layers
|
||||
- Dragonboard 410c and HiKey support
|
||||
- HiKey features:
|
||||
- OP-TEE initial support
|
||||
- Mali support for HiKey
|
||||
- Dragonboard 410c features:
|
||||
- GPU, WLAN, BT, audio, LS I/O, camera and GPS
|
||||
|
||||
***
|
||||
|
||||
###### Enterprise Edition
|
||||
|
||||
#### Reference hardware platform:
|
||||
- LeMaker Cello
|
||||
|
||||
#### Other supported test platforms:
|
||||
- AMD Overdrive A0 and B0
|
||||
- Hisilicon D02
|
||||
- Hisilicon D03 (new)
|
||||
- APM X-Gene Mustang
|
||||
- HP ProLiant m400
|
||||
- Qualcomm QDF2432 Server Development Platform (new)
|
||||
- Cavium ThunderX (new)
|
||||
|
||||
#### Overall platform features, validated as part of the release:
|
||||
- UEFI with ACPI
|
||||
- KVM
|
||||
- PCIe
|
||||
|
||||
#### Firmware:
|
||||
- UEFI OpenPlatformPkg (upstream) now contains reference implementation for Huawei D02/D03, AMD Overdrive and LeMaker Cello
|
||||
|
||||
#### Network Installers:
|
||||
- Debian:
|
||||
- Upgrade to Debian 8.5 "Jessie"
|
||||
- Use the unified 4.4.11 kernel
|
||||
- CentOS
|
||||
- Based on CentOS 7.2 16.03
|
||||
- Use the unified 4.4.11 kernel
|
||||
|
||||
#### Enterprise Components:
|
||||
- Docker 1.9.1
|
||||
- OpenStack Liberty for Debian Jessie and CentOS
|
||||
- ODPi 1.0.0 based Hadoop
|
||||
- Spark 1.3.1
|
||||
- OpenJDK 8
|
||||
- QEMU 2.6
|
|
@ -0,0 +1,47 @@
|
|||
# Reference Platform Build - 16.06 Release - Known Issues
|
||||
|
||||
## Fixed Issues
|
||||
|
||||
These lists group all **fixed RPB issues** into their repective categories. Underlying Consumer and Enterprise Edition boards, and their bug fixes are grouped under a single page for convenience and quick reference.
|
||||
|
||||
| Fixed Issues | |
|
||||
|:---|:----|
|
||||
| Enterprise | <a href="https://bugs.linaro.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&component=Enterprise&list_id=10084&product=Reference%20Platforms&query_format=advanced&version=16.06" target="_blank">(Full List)</a> |
|
||||
| Conssumer | <a href="https://bugs.96boards.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Consumer%20Edition%20Boards&list_id=1613&product=HiKey&query_format=advanced&target_milestone=Reference%20Software%20Platform%20-%2016.06" target="_blank">HiKey</a> / <a href="https://bugs.96boards.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Consumer%20Edition%20Boards&component=Android&component=Bootloader%20%2F%20Firmware&component=Documentation&component=Kernel&component=OpenEmbedded%20%2F%20Yocto&component=Tools%20%2F%20Installer&component=Ubuntu%20%2F%20Debian&list_id=1623&product=Dragonboard%20410c&query_format=advanced&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=WORKSFORME&resolution=NON%20REPRODUCIBLE&version=RPB%2016.06" target="_blank">DragonBoard 410c</a> |
|
||||
|
||||
[Report a bug](Report-a-bug.md)
|
||||
|
||||
## Current Issues
|
||||
|
||||
These lists group all **current and unfixed bugs** into their respective categories. Basic bug summaries and descriptions are available on Bugzilla, links to each full lists of bugs are available for convenience and quick reference.
|
||||
|
||||
| Enterprise | Known Issues |
|
||||
|:-----------|:---|
|
||||
| Cello/Overdrive | <a href="https://bugs.linaro.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&component=Enterprise&list_id=10083&product=Reference%20Platforms&query_format=advanced&rep_platform=Cello&rep_platform=Overdrive&resolution=---&target_milestone=16.06" target="_blank">(Full List)</a> |
|
||||
| APM/HP-m400 | <a href="https://bugs.linaro.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&component=Enterprise&list_id=10077&product=Reference%20Platforms&query_format=advanced&rep_platform=APM%20Mustang&rep_platform=HP-m400&target_milestone=16.06" target="_blank">(Full List)</a> |
|
||||
| D02 | <a href="https://bugs.linaro.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&component=Enterprise&list_id=10078&product=Reference%20Platforms&query_format=advanced&rep_platform=D02&target_milestone=16.06" target="_blank">(Full List)</a> |
|
||||
| D03 | <a href="https://bugs.linaro.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&component=Enterprise&list_id=10079&product=Reference%20Platforms&query_format=advanced&rep_platform=D03&target_milestone=16.06" target="_blank">(Full List)</a> |
|
||||
| Qualcomm QDF2432 Server Development Platform | <a href="https://bugs.linaro.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&component=Enterprise&list_id=10080&product=Reference%20Platforms&query_format=advanced&rep_platform=Q2432LZB&target_milestone=16.06" target="_blank">(Full List)</a> |
|
||||
| ThunderX | <a href="https://bugs.linaro.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&component=Enterprise&list_id=10081&product=Reference%20Platforms&query_format=advanced&rep_platform=ThunderX&target_milestone=16.06" target="_blank">(Full List)</a> |
|
||||
|
||||
[Report a bug](Report-a-bug.md)
|
||||
|
||||
***
|
||||
|
||||
| Consumer | Known Issues |
|
||||
|:-----------|:---|
|
||||
| HiKey | <a href="https://bugs.96boards.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&classification=Consumer%20Edition%20Boards&known_name=HiKey%20RPB%2016.06&list_id=2378&product=HiKey&query_based_on=HiKey%20RPB%2016.06&query_format=advanced&target_milestone=Reference%20Software%20Platform%20-%2016.06">(Full List)</a> |
|
||||
| DragonBoard 410c | <a href="https://bugs.96boards.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&classification=Consumer%20Edition%20Boards&component=Bootloader%20%2F%20Firmware&component=Documentation&component=Kernel&component=OpenEmbedded%20%2F%20Yocto&component=Tools%20%2F%20Installer&component=Ubuntu%20%2F%20Debian&known_name=HiKey%20RPB%2016.06&list_id=2465&product=Dragonboard%20410c&query_based_on=HiKey%20RPB%2016.06&query_format=advanced&target_milestone=Reference%20Software%20Platform%20-%2016.06" target="_blank">(Full List)</a> |
|
||||
|
||||
[Report a bug](Report-a-bug.md)
|
||||
|
||||
***
|
||||
|
||||
| Bug Legend | |
|
||||
|:-----:|:-------|
|
||||
| CONFIRMED | If a bug can be reproduced, a member from the 96Boards, Linaro or QA team will change its status from **UNCONFIRMED** to **CONFIRMED** |
|
||||
| IN_PROGRESS | This bug is currently being worked on by either the 96Boards, Linaro, or QA team |
|
||||
| RESOLVED | Development is finished with a bug. Please [click here](https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Status/RESOLVED) for information on sub-states |
|
||||
| VERIFIED | A team has VERIFIED a working solution for a bug |
|
||||
|
||||
***
|
24
Reference-Platform/Platforms/Consumer/RPB_16.06/README.md
Normal file
24
Reference-Platform/Platforms/Consumer/RPB_16.06/README.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
# Reference Software Platform - 16.06
|
||||
|
||||
[RPB 16.06 Highlights](Highlights.md) | [RPB 16.06 Known Issues](Known-Issues.md)
|
||||
|
||||
## Choose your Hardware
|
||||
|
||||
#### Consumer Edition
|
||||
|
||||
- [HiKey](ConsumerEdition/HiKey/README.md)
|
||||
- [DragonBoard™ 410c](ConsumerEdition/DragonBoard-410c/README.md)
|
||||
|
||||
#### Enterprise Edition
|
||||
- [LeMaker Cello](EnterpriseEdition/Cello/README.md)
|
||||
- [D02](EnterpriseEdition/D02/README.md)
|
||||
- [D03](EnterpriseEdition/D03/README.md)
|
||||
- [AMD Overdrive](EnterpriseEdition/Overdrive/README.md)
|
||||
- [X-Gene Mustang](EnterpriseEdition/X-Gene-Mustang/README.md)
|
||||
- [HP ProLiant m400](EnterpriseEdition/HP-ProLiant-m400/README.md)
|
||||
- [Cavium Thunder X](EnterpriseEdition/ThunderX/README.md)
|
||||
- [Qualcomm QDF2432 Server Development Platform](EnterpriseEdition/Q2432LZB/README.md)
|
||||
|
||||
Visit our [Components Downloads Page](https://builds.96boards.org/releases/reference-platform/components/)
|
||||
|
||||
***
|
BIN
Reference-Platform/Platforms/Enterprise/.DS_Store
vendored
Normal file
BIN
Reference-Platform/Platforms/Enterprise/.DS_Store
vendored
Normal file
Binary file not shown.
37
Reference-Platform/Platforms/Enterprise/README.md
Normal file
37
Reference-Platform/Platforms/Enterprise/README.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Reference Software Platform - Legacy
|
||||
|
||||
<a href="http://connect.linaro.org/resource/sfo15/sfo15-104-the-96boards-software-reference-platform/" target="_blank"><img align="right" src="http://i.imgur.com/UzmaWUD.png" data-canonical-src="http://i.imgur.com/UzmaWUD.png" width="300" height="200" /></a>
|
||||
|
||||
|
||||
The Reference Software Platform Lead Project is part of the Linaro 96Boards initiative. The project's goal is to deliver Linaro output for ARM SoCs using 96Boards products. Use cases range from the Embedded to the Enterprise segments. Releases may contain bootloader, kernel, distribution and/or user level middleware/applications. Loadable software for 96Boards products, reference source code, hardware dependencies including porting tips for other SoCs, configurations chosen for the reference builds, and ample documentation will also be included with every release.
|
||||
For more information about the Reference Software Platform project please watch this video from Linaro Connect (SFO15)
|
||||
|
||||
**Release Status** ([CE](Extras/ReleaseStatus/RPB-CE-Release.md) / [EE](Extras/ReleaseStatus/RPB-EE-Release.md))</a>
|
||||
|
||||
***
|
||||
|
||||
| | | |
|
||||
|:---:|:---:|:---:|
|
||||
| | | |
|
||||
|
||||
|
||||
|
||||
|
||||
- **[16.06(Latest)](Releases/RPB_16.06/README.md)**
|
||||
- [16.03](Releases/RPB_16.03/README.md)
|
||||
- [15.12](Releases/RPB_15.12/README.md)
|
||||
- [15.10(Alpha)](Releases/RPB_15.10/README.md)
|
||||
|
||||
***
|
||||
|
||||
#### Resources
|
||||
|
||||
| Extras and Support | Progress and Policy |
|
||||
|:-----------------------------------------------------:|:-----------------------------------------:|
|
||||
| [RPB CI](Extras/RPB-CI.md) | [Kernel Policy](Extras/KernelPolicy.md) |
|
||||
| [Feedback and Support](Extras/Feedback-and-Support.md)| [Kernel Roadmap](Extras/Kernel-Roadmap.md)|
|
||||
| [Report a bug](Extras/Report-a-bug.md) | [Contribute to RPB](Contribute/README.md) |
|
||||
|
||||
***
|
||||
|
||||
[Document Contribution Policy](../ContributionPolicy.md)
|
|
@ -0,0 +1,122 @@
|
|||
### How to get and customize the kernel source code
|
||||
|
||||
#### 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)
|
||||
|
||||
```
|
||||
git: https://github.com/rsalveti/linux
|
||||
tag: 96boards-rpb-debian-15.10-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:
|
||||
|
||||
```
|
||||
git clone -n https://github.com/rsalveti/linux.git
|
||||
cd linux
|
||||
git checkout -b kernel-rpb-15.10 96boards-rpb-debian-15.10-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
|
||||
```
|
||||
|
||||
#### 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:
|
||||
|
||||
```
|
||||
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.
|
||||
|
||||
`./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:
|
||||
|
||||
```
|
||||
./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"
|
||||
```
|
||||
|
||||
#### 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:
|
||||
|
||||
`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:
|
||||
|
||||
`sudo fastboot flash boot boot-db410c.img`
|
||||
|
||||
#### 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):
|
||||
|
||||
```
|
||||
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:
|
||||
|
||||
```
|
||||
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:
|
||||
|
||||
`sudo fastboot aboot ./build-msm8916/emmc_appsboot.mbn`
|
||||
|
||||
#### 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:
|
||||
|
||||
```
|
||||
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:
|
||||
|
||||
```
|
||||
sudo apt-get update
|
||||
sudo apt-get build-dep <pkg>
|
||||
apt-get source <pkg>
|
||||
```
|
||||
|
||||
Then you can rebuild the package locally with:
|
||||
|
||||
```
|
||||
cd <pkg-version>
|
||||
dpkg-buildpackage -b -us -uc
|
||||
```
|
||||
|
||||
#### TODO
|
||||
|
||||
- Explain how to build the rootfs from source
|
|
@ -0,0 +1,81 @@
|
|||
## Install Instructions - CE Debian RPB 15.10 - Dragonboard410c
|
||||
|
||||
This guide describes how to get started with the CE Debian Reference Platform Build, release 15.10, for Dragonboard410c.
|
||||
|
||||
For more information about the Dragonboard410c development board, please check https://www.96boards.org/products/ce/dragonboard410c/
|
||||
|
||||
### Image Components
|
||||
|
||||
The CE Debian RPB 15.10 - 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
|
||||
- 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)
|
||||
|
||||
#### 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).
|
||||
|
||||
### 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/dragonboard410c_bootloader_emmc_linux*.zip)
|
||||
|
||||
*CE Debian RPB image:*
|
||||
|
||||
```
|
||||
wget https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/15.10/dragonboard410c-boot-linux-20151106-31.img.gz
|
||||
wget https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/15.10/dragonboard410c-rootfs-debian-jessie-alip-20151106-31.emmc.img.gz
|
||||
gunzip dragonboard410c-*
|
||||
```
|
||||
|
||||
### Flashing
|
||||
|
||||
#### 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:
|
||||
|
||||
```
|
||||
# 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.
|
||||
|
||||
#### Boot and Rootfs
|
||||
|
||||
Fastboot is required to flash both the boot and rootfs images.
|
||||
|
||||
*Flashing boot and rootfs:*
|
||||
|
||||
```
|
||||
sudo fastboot flash boot dragonboard410c-boot-linux-20151106-31.img
|
||||
sudo fastboot flash rootfs dragonboard410c-rootfs-debian-jessie-alip-20151106-31.emmc.img
|
||||
```
|
||||
|
||||
Once flashed just reboot the board and enjoy :-)
|
|
@ -0,0 +1,15 @@
|
|||
## Dragonboard™ 410c - Reference Platform Build - 15.10
|
||||
|
||||
- **Install Instructions:** For "out-of-box" users. Instructions for installing pre-build Reference Platform images onto your 96Boards.
|
||||
- **Build from Source:** For Advanced users. Instructions for building and installing the various Reference Platform components used by Consumer Edition 96Boards.
|
||||
- **Known Issues:** List of current bugs and issues for each Reference Platform Build. Includes links to bug reports for tracking resolution progress.
|
||||
- **Test Report:** Provides test results and bug status for kernel, firmware, and images with a straight forward pass/fail legend.
|
||||
|
||||
***
|
||||
|
||||
| **CE Debian RPB - 15.10** |
|
||||
|:-----------------------------:|
|
||||
| [Install Instructions](InstallDebianRPB-15.10.md) |
|
||||
| [Build from Source](BFSDebianRPB-15.10.md) |
|
||||
| [Known issues](../../Known-Issues.md) |
|
||||
| [Test Report](https://builds.96boards.org/releases/reference-platform/debian/dragonboard410c/16.03/CE-Debian-RPB-16.03-Dragonboard410c-TestReport.pdf) |
|
|
@ -0,0 +1,44 @@
|
|||
h4. Building AOSP from source
|
||||
|
||||
*NOTE*: This build instructions are not yet reflecting the 15.10 image
|
||||
|
||||
AOSP sources are hosted in these repositories:
|
||||
* https://github.com/96boards/android_hardware_ti_wpan
|
||||
* https://github.com/96boards/android_external_wpa_supplicant_8
|
||||
* https://github.com/96boards/android_device_linaro_hikey
|
||||
* https://github.com/96boards/android_manifest
|
||||
|
||||
*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
|
||||
|
||||
*Build the image:*
|
||||
|
||||
bc. $ repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r1\
|
||||
> -g "default,-device,hikey"
|
||||
$ cd .repo/
|
||||
$ git clone https://github.com/96boards/android_manifest -b android-5.0 local_manifests
|
||||
$ cd -
|
||||
$ repo sync -j8
|
||||
$ source build/envsetup.sh
|
||||
$ lunch hikey-userdebug
|
||||
$ make droidcore -j8
|
||||
$ cd out/target/product/hikey
|
||||
|
||||
h4. TODO
|
||||
|
||||
* Update to reflect the latest/current build
|
|
@ -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.10-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.10 96boards-rpb-debian-15.10-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
|
|
@ -0,0 +1,88 @@
|
|||
h2. Install Instructions - CE AOSP RPB 15.10 - HiKey
|
||||
|
||||
This guide describes how to get started with the CE AOSP Reference Platform Build, release 15.10, 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.10 - 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.10/bootloader":http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/bootloader
|
||||
* Linux Kernel:
|
||||
** Derived from Linux 3.18 kernel
|
||||
** Git: "https://github.com/96boards/linux.git":https://github.com/96boards/linux.git
|
||||
** Branch: *hikey*
|
||||
* 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.10/bootloader/l-loader.bin
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/bootloader/fip.bin
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/bootloader/ptable-aosp.img
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/bootloader/hisi-idt.py
|
||||
|
||||
*CE AOSP RPB image:*
|
||||
|
||||
bc. wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/boot_fat.uefi.img.tar.xz
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/cache.img.tar.xz
|
||||
wget http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/userdata.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.10/system.img.tar.xz":http://builds.96boards.org/releases/reference-platform/aosp/hikey/15.10/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
|
||||
|
||||
On recovery mode, flash the bootloader with the following command:
|
||||
|
||||
bc. sudo python hisi-idt.py --img1=l-loader.bin -d /dev/ttyUSB0
|
||||
sudo fastboot flash ptable ptable-aosp.img
|
||||
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.img@), otherwise flashing the system image might fail.
|
||||
|
||||
h4. Boot, System, Cache and Userdata
|
||||
|
||||
Fastboot is required to flash boot, system, cache and userdata.
|
||||
|
||||
Due bug "117 (UEFI fastboot uploads hangs for large images)":https://bugs.96boards.org/show_bug.cgi?id=117, it's recommended to flash the images via recovery mode (after running @hisi-idt.py@).
|
||||
|
||||
*Flashing boot, cache, system and userdata:*
|
||||
|
||||
bc. sudo fastboot flash boot boot_fat.uefi.img
|
||||
sudo fastboot flash cache cache.img
|
||||
sudo fastboot flash system system.img
|
||||
sudo fastboot flash userdata userdata.img
|
||||
|
||||
Once flashed, make sure recovery mode is not enabled (pin3-pin4 on J15), 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/ReferenceSoftware":https://github.com/96boards/documentation/wiki/ReferencePlatform
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
h2. Install Instructions - CE Debian RPB 15.10 - HiKey
|
||||
|
||||
This guide describes how to get started with the CE Debian Reference Platform Build, release 15.10, 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.10 - 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.10/bootloader":http://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/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.10/bootloader/l-loader.bin
|
||||
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/bootloader/fip.bin
|
||||
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/bootloader/ptable-linux.img
|
||||
wget http://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/bootloader/hisi-idt.py
|
||||
|
||||
*CE Debian RPB image:*
|
||||
|
||||
bc. wget https://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/hikey-boot-linux-20151106-31.uefi.img.gz
|
||||
wget https://builds.96boards.org/releases/reference-platform/debian/hikey/15.10/hikey-rootfs-debian-jessie-alip-20151106-31.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
|
||||
|
||||
On recovery mode, flash the bootloader with the following command:
|
||||
|
||||
bc. sudo python hisi-idt.py --img1=l-loader.bin -d /dev/ttyUSB0
|
||||
sudo fastboot flash ptable ptable-linux.img
|
||||
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-linux.img@), otherwise flashing the rootfs might fail.
|
||||
|
||||
h4. Boot and Rootfs
|
||||
|
||||
Fastboot is required to flash both the boot and rootfs images.
|
||||
|
||||
Due 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-20151106-31.uefi.img
|
||||
sudo fastboot flash system hikey-rootfs-debian-jessie-alip-20151106-31.emmc.img
|
||||
|
||||
Once flashed, make sure recovery mode is not enabled (pin3-pin4 on J15), 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/ReferenceSoftware":https://github.com/96boards/documentation/wiki/ReferenceSoftware
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue