Compare commits

...
Sign in to create a new pull request.

128 commits

Author SHA1 Message Date
Nicolas Dechesne
24d54c6b30 Update OE.md 2017-05-23 11:31:08 +02:00
Robert Wolff
52e86b36d3 Fixed broken links to OE and Known Issues docs
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-04-02 09:50:47 -07:00
Robert Wolff
f1c823542a Fixed links to known issues doc
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-04-02 09:49:58 -07:00
Robert Wolff
1d9265c160 Fixed broken links to known issues doc
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-04-02 09:49:20 -07:00
Robert Wolff
68e66c77fb Fixed broken link to OE doc
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-04-02 09:48:06 -07:00
Robert Wolff
66204121f1 Merge pull request #16 from BernardPuel/update
Updated OE.md to render more generic
2017-04-02 09:45:46 -07:00
Fathi Boudra
838db9f2a6 Merge pull request #31 from vchong/48gb
hikey: Fix description of ptable file
2017-02-24 14:50:53 +02:00
Victor Chong
9f56d8eded hikey: Fix description of ptable file
Fixes: https://github.com/Linaro/documentation/issues/30

Reported-by: Tony Zhang <tony.zhang@lemaker.org>
Signed-off-by: Victor Chong <victor.chong@linaro.org>
2017-02-24 10:09:37 +00:00
Shovan
0315895285 Fixing broken link
Report a bug is not rendering on the website. I and hard linking to website page
2017-02-21 10:51:26 +00:00
Shovan
c80b29934c Fixed broken link 2017-02-21 10:47:21 +00:00
Shovan
6590ac3dbf Fixed Broken url 2017-02-21 10:35:28 +00:00
Fathi Boudra
78615112d8 Merge pull request #29 from vchong/misc
RPB1606: CE: HiKey: InstallAOSP: Update link and instruction
2017-02-08 07:10:02 +02:00
Victor Chong
74e2d5cb87 RPB1606: CE: HiKey: InstallAOSP: Update link and instruction
Signed-off-by: Victor Chong <victor.chong@linaro.org>
2017-02-07 18:07:13 +00:00
Robert Wolff
c57ee40676 Fixed relative link for previous releases.
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-02-06 07:57:53 -08:00
Robert Wolff
80c2a20ae8 Merge pull request #27 from vchong/fip
rpb: hikey: InstallDebianRPB: Add fip.bin
2017-02-06 07:30:20 -08:00
Victor Chong
0d58dfbdda rpb: hikey: InstallDebianRPB: Add fip.bin
Add instructions to download and flash fip.bin as well

Signed-off-by: Victor Chong <victor.chong@linaro.org>
2017-02-06 03:23:36 +00:00
Robert Wolff
d2a937d1f7 Relative link fix
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:45:52 -08:00
Robert Wolff
dfd15fefc5 Relative link fix
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:45:02 -08:00
Robert Wolff
f838f654e5 Format fix
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:35:34 -08:00
Robert Wolff
4e47a285fb Added links at bottom of page
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:35:09 -08:00
Robert Wolff
aacbd741b0 Delete .DS_Store 2017-01-25 08:33:15 -08:00
Robert Wolff
8a7f6c2cb5 Moved folders around for new workflow
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:28:15 -08:00
Robert Wolff
77d8cfa8c9 Changed location of hardware docs
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:24:11 -08:00
Robert Wolff
3637ac5956 Delete README.md 2017-01-25 08:22:11 -08:00
Robert Wolff
51beb7c249 Changed location to documentation folder
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:20:59 -08:00
Robert Wolff
3a87a27875 Changed some relative links
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:19:39 -08:00
Robert Wolff
5c804f3778 Added title for page
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:18:43 -08:00
Robert Wolff
4366a7d700 Changed getting started to documentation
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:18:10 -08:00
Robert Wolff
d6cfb1ffca Added one more level for ERP - description and forwarding
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:16:53 -08:00
Robert Wolff
c62c7e7cc3 Remove getting started section
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-25 08:03:51 -08:00
Fathi Boudra
4bf54f31c9 Add a link to openstack-venvs 2017-01-25 07:35:00 +02:00
Robert Wolff
33fc84c6e0 Merge pull request #25 from vchong/patch-1
RPB1606: CE: HiKey: InstallDebianRPB: Add header number for LeMaker
2017-01-22 11:43:08 -08:00
vchong
436f7df8c0 RPB1606: CE: HiKey: InstallDebianRPB: Add header number for LeMaker 2017-01-22 18:53:01 +09:00
Tyler Baker
743d269842 Merge pull request #24 from akbennettatlinaro/patch-1
Update ReleaseNotes.md
2017-01-19 15:29:17 -08:00
Alan Bennett
263c3f422b Update ReleaseNotes.md 2017-01-19 15:27:16 -08:00
Robert Wolff
b880958991 Merge pull request #23 from ganeshrajuLinaro/master
Add Big Data Installation Instructions
2017-01-18 14:04:12 -08:00
Ganesh Raju
b63c6e8bd6 Add README.md 2017-01-18 15:28:26 -06:00
Ganesh Raju
318c4ee455 Big Data component Installation instructions 2017-01-18 15:25:09 -06:00
Robert Wolff
fc153ed908 Merge pull request #22 from gemagomez/master
Adding last changes to the OpenStack documentation for ERP 16.12
2017-01-18 07:51:57 -08:00
Gema Gomez
0dcb75b531 Adding last changes to the OpenStack documentation for ERP 16.12 2017-01-18 15:48:17 +00:00
Fathi Boudra
3fe307c590 Fix CentOS base version 2017-01-18 09:47:51 +02:00
Fathi Boudra
431dba1150 Update README.md 2017-01-18 09:45:56 +02:00
Robert Wolff
d04e79aae9 Added openstack option
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 09:19:39 -08:00
Robert Wolff
cd01899961 Added link for Qualcomm Board
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 09:14:09 -08:00
Robert Wolff
71d6b0aedd Removed Cello
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 09:12:37 -08:00
Robert Wolff
59b02025f7 Added support forum to top level text
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 08:18:55 -08:00
Robert Wolff
5f8bbef24e Added new download link for installers
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 07:57:40 -08:00
Robert Wolff
ae4a56a8ee Remove hw choice for downloads page
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 07:56:49 -08:00
Robert Wolff
7c7033691c Remove hw choice for downloads page
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 07:56:25 -08:00
Robert Wolff
e2462ddb78 Added OpenStack option
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 07:45:04 -08:00
Robert Wolff
6de8190b3b Added OpenStack md information
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2017-01-17 07:43:37 -08:00
Fathi Boudra
8df06d7526 Merge pull request #21 from mwasilew/16.12_release_notes
ReleaseNotes: Removed resolved/fixed bugs
2017-01-17 15:17:22 +02:00
Milosz Wasilewski
9a0e8b8665 ReleaseNotes: Removed resolved/fixed bugs
Signed-off-by: Milosz Wasilewski <milosz.wasilewski@linaro.org>
2017-01-17 13:13:23 +00:00
Fathi Boudra
5212de1d53 Merge pull request #20 from mwasilew/16.12_release_notes
16.12 release notes
2017-01-17 07:08:07 +02:00
Milosz Wasilewski
d562f2c774 ReleaseNotes: Added debian known issues
Signed-off-by: Milosz Wasilewski <milosz.wasilewski@linaro.org>
2017-01-16 23:12:23 +00:00
Milosz Wasilewski
10e57be57d ReleaseNotes: added known issues
Known issues for hardware platforms and CentOS were added. Bugs are
sorted in descending ID order

Signed-off-by: Milosz Wasilewski <milosz.wasilewski@linaro.org>
2017-01-16 23:05:51 +00:00
Fathi Boudra
fcf4fc383e Merge pull request #19 from slimlogic/patch-1
Update ReleaseNotes.md
2017-01-16 19:27:34 +02:00
Slimlogic Ltd
9297e5029f Update ReleaseNotes.md 2017-01-16 17:26:20 +00:00
Fathi Boudra
02db3fd7df release notes: use oneliner for OpenStack version/name 2017-01-16 19:25:27 +02:00
Fathi Boudra
e65a6648f8 Merge pull request #18 from mstadtler/patch-1
Update ReleaseNotes.md
2017-01-16 19:22:41 +02:00
Martin Stadtler
07e83523a5 Added OpenStack release note notes 2017-01-16 16:48:00 +00:00
Martin Stadtler
960a058213 Update ReleaseNotes.md 2017-01-16 16:22:51 +00:00
Robert Wolff
207fe32d04 Merge pull request #17 from slimlogic/patch-1
Update Install.md
2017-01-13 09:10:01 -08:00
Slimlogic Ltd
5a84e8f569 Update Install.md 2017-01-13 16:52:50 +00:00
Ricardo Salveti de Araujo
c4e9c31c01 Update ReleaseNotes.md
Adding additional bug links.
2017-01-05 16:10:10 -02:00
Robert Wolff
170f78748b Update Download.md 2016-12-22 14:08:18 -08:00
Robert Wolff
1ff57f7f82 Update Download.md 2016-12-22 14:08:08 -08:00
Robert Wolff
88dab20bd4 Update Download.md
Signed-off-by: Robert Wolff <robert.wolff@linaro.org
2016-12-22 14:06:50 -08:00
Robert Wolff
1c52cc224d Update README.md
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:47:49 -08:00
Robert Wolff
d9696d5c75 Added links to download options for installers
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:45:12 -08:00
Robert Wolff
f76d9f94e3 Update Download.md 2016-12-22 12:43:57 -08:00
Robert Wolff
2ea9a16012 Update Download.md 2016-12-22 12:43:31 -08:00
Robert Wolff
1311594f88 Added install relative link
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:42:53 -08:00
Robert Wolff
afbf47595a Added download relative links to installers
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:42:16 -08:00
Robert Wolff
7936a56619 Added list of hardware with links to installer downloads
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:41:17 -08:00
Robert Wolff
8b3b14c1cd Changed a relative link for unavailable boards
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:36:37 -08:00
Robert Wolff
8cf45481c4 Added download link
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:34:42 -08:00
Robert Wolff
90449bb3c5 Added download link
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:34:06 -08:00
Robert Wolff
56154a9456 Added download lin
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:33:17 -08:00
Robert Wolff
045ec8e735 Added list of hardware for download pages
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-22 12:32:41 -08:00
Tyler Baker
32f73fda26 Release Notes: remove github url markdown for bugs 2016-12-21 15:23:57 -08:00
Tyler Baker
295ec89b4d Release Notes: add links to bugs 2016-12-21 15:22:52 -08:00
Tyler Baker
d1dd0815d0 ceph: mark it as not ready. 2016-12-21 09:25:28 -08:00
Robert Wolff
15cf5adff6 Added release notes
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-20 10:53:10 -08:00
Robert Wolff
98eb526434 Added links for Debian and Centos installers
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-20 10:48:42 -08:00
Robert Wolff
63f629a2f6 Added link to download on releases.linaro
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-20 10:47:26 -08:00
Shovan
f6d8d16069 Added forum link 2016-12-20 15:20:42 +00:00
Robert Wolff
a5410e38d1 Changed link to forum
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-16 13:02:08 -08:00
Robert Wolff
d369b2f2a2 Update README.md 2016-12-16 12:59:14 -08:00
Robert Wolff
e080284903 Fixed format issue for website rendering
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-16 12:57:34 -08:00
Robert Wolff
20747ad0f2 Removed Juno
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-16 12:55:56 -08:00
Robert Wolff
071b6172b3 Update Install.md
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-16 12:54:51 -08:00
Robert Wolff
f3e748336e Juno dropped
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-16 12:53:44 -08:00
Robert Wolff
4184005a27 Update README.md
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-15 11:52:55 -08:00
Robert Wolff
42692a4fc3 Update README.md 2016-12-15 11:51:51 -08:00
Robert Wolff
f62476a030 Update Install.md 2016-12-13 18:11:17 -08:00
Robert Wolff
21144daa6f Update Build.md 2016-12-13 18:11:08 -08:00
Robert Wolff
0433957d7d Update README.md 2016-12-13 18:10:55 -08:00
Robert Wolff
054d379a5a Added table indication location
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 18:07:44 -08:00
Robert Wolff
f84fe1b80f Added table indicating location
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 18:07:02 -08:00
Robert Wolff
5623836643 Added table indicating location
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 18:06:17 -08:00
Robert Wolff
94da6b2384 Added relative links to Debian and centos options
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 18:00:48 -08:00
Robert Wolff
e5771364ec Added content
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 18:00:03 -08:00
Robert Wolff
14286a4718 Added Content
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:59:14 -08:00
Robert Wolff
55410d48b9 Added installation links for each board
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:57:23 -08:00
Robert Wolff
a6df430744 Small format fix
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:55:18 -08:00
Robert Wolff
3aa1a8633b Added relative link at bottom to install page
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:53:28 -08:00
Robert Wolff
e179728233 Added Content
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:51:28 -08:00
Robert Wolff
585ba91c7f Added Content
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:49:16 -08:00
Robert Wolff
74a7e334a4 Added Content
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:47:38 -08:00
Robert Wolff
0a0a3349c1 Typo fix
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:46:30 -08:00
Robert Wolff
de150d24b2 Added links, these are probably not right...
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:45:13 -08:00
Robert Wolff
8dd9ff0e92 Removed CE material
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:35:38 -08:00
Robert Wolff
15cafea595 Removed Downloads for now
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:35:07 -08:00
Robert Wolff
5725019e19 Typo fix
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:32:11 -08:00
Robert Wolff
dedaca37b9 Added page
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:31:45 -08:00
Robert Wolff
6133d1988a Changed description to Report a bug
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:30:33 -08:00
Robert Wolff
f29a640853 Added content
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:27:55 -08:00
Robert Wolff
26ef3bc165 Added installation link at the bottom
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:22:25 -08:00
Robert Wolff
1c70f0382c Added list of hardware
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:21:30 -08:00
Robert Wolff
8c372ba06f Added lower relative links
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:09:24 -08:00
Robert Wolff
c8fb43fbf7 Typo fix
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:05:34 -08:00
Robert Wolff
e7164e8ad4 Added release notes
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 17:05:15 -08:00
Robert Wolff
59a4a7b425 format change
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 16:41:10 -08:00
Robert Wolff
cff14c3e15 Added base content for page - first draft
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 16:20:06 -08:00
Robert Wolff
ce6f96466d Added .md files for each platform description
Signed-off-by: Robert Wolff <robert.wolff@linaro.org>
2016-12-13 09:07:08 -08:00
bernard puel
df704879f0 Updated OE.md to render more generic 2016-12-13 14:37:30 +01:00
Fathi Boudra
c48d7d172b Merge pull request #14 from Linaro/revert-13-patch-1
Revert "Update OE.md"
2016-12-13 11:06:10 +02:00
84 changed files with 1984 additions and 67 deletions

View file

@ -1,6 +1,7 @@
## OpenEmbedded and Yocto
This page provides instructions to get started with OpenEmbedded and the Yocto Project on the DragonBoard 410c and HiKey.
This page provides instructions to get started with OpenEmbedded and the Yocto Project. It tries (when possible) to be generic for any board supported.
The board diversity should be addressed through dedicated BSP layer then MACHINE choice.
# Introduction
@ -11,15 +12,12 @@ This wiki is not an introduction on OpenEmbedded or Yocto Project. If you are no
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 support for a dedicated board is available in the dedicated BSP Layer. 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
* using the ARM Mali 400 GPU driver for B2260
## OE Layers
@ -32,8 +30,9 @@ The Linux kernel used for these boards is the Reference Platform Kernel (RPK). T
| 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. |
| [meta-96boards BSP layer](https://github.com/96boards/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 layer](http://git.yoctoproject.org/cgit/cgit.cgi/meta-qcom) | This is the board support layer for Qualcomm boards. Currently supports IFC6410 and the DragonBoard 410c. |
| [meta-st-cannes2 BSP Layer](https://github.com/cpriouzeau/meta-st-cannes2) | This is the board support layer for ST B2260 board. |
# Package Dependencies
@ -86,7 +85,7 @@ To manage the various git trees and the OpenEmbedded environment, a repo manifes
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 init -u https://github.com/96boards/oe-rpb-manifest.git -b morty
repo sync
source setup-environment [<build folder>]

View file

@ -0,0 +1,14 @@
# Consumer Reference Platform
The consumer reference platform aims to enable the latest software on a series of embedded hardware platforms. Open source boot firmware and a unified Linux kernel delivers an excellent starting point for your next embedded product. High level components such as ROS, and a standard GPIO library are included to help accelerate robotic enthusiasts and makers. The consumer software stack provides two builds based on Debian and OpenEmbedded. A graphic user interface is included for each variant, and both are validated to ensure quality and a great user experience.
**Features:**
- Unified Linux Kernel
- Open Boot Firmware
- Debian and OpenEmbedded Builds
- Desktop Enviroment
- ROS (Robot OS)
- Standard GPIO Library
***

View file

@ -26,7 +26,7 @@ This method requires the following hardware:
>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 1G boards** will use the **8G 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>)

View file

@ -24,7 +24,7 @@ This method requires the following hardware:
> 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 1G boards** will use the **8G 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))

View file

@ -10,8 +10,8 @@
|:-----------------------------:|
| [Install Instructions](InstallDebianRPB-16.06.md) |
| [Build from Source](BFSDebianRPB-16.06.md) |
| [Known issues](../../../Known-Issues.md) |
| [Known issues](../../Known-Issues.md) |
***
- Access generic **OpenEmbedded** build from source instructions [here](../../../CECommon/OE.md)
- Access generic **OpenEmbedded** build from source instructions [here](../../../../CECommon/OE.md)

View file

@ -26,7 +26,7 @@ This method requires the following hardware:
>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 1G boards** will use the **8G 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>)

View file

@ -177,7 +177,7 @@ This method requires the following hardware:
> 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 1G boards** will use the **8G 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))

View file

@ -14,18 +14,18 @@
|:-----------------------------:|
| [Install Instructions](InstallDebianRPB.md) |
| [Build from Source](BFSDebianRPB.md) |
| [Known issues](../../../Known-Issues.md) |
| [Known issues](../../Known-Issues.md) |
| **CE AOSP** |
|:---------------------------:|
| [Install Instructions](https://source.android.com/source/devices.html) |
| [Known issues](../../../Known-Issues.md) |
| [Known issues](../../Known-Issues.md) |
***
- Access **bootloader** build from source instructions [here](BuildSourceBL.md)
- Access **OpenEmbedded** build from source instructions [here](../../CECommon/OE.md)
- Access **OpenEmbedded** build from source instructions [here](../../../../CECommon/OE.md)

View file

@ -1,10 +1,6 @@
# Getting Started
# Enterprise Reference Platform
This page is designed to bring you up to speed with the Enterprise Reference Platform. You will find categorized information, links to additional resources, and paths forward to take you deeper into the platform.
## Introduction
The enterprise reference platform is targeted to accelerate the high powered ARMv8 servers in both datacenter and cloud vertical markets. Industry standard firmware (SBBR and SBSA) and a unified Linux kernel are provided for all the supported platforms, simplifying software maintenance and deployment. The high level components such as Openstack, Ceph, Hadoop, and KVM are rigorously validated for each distribution. The enterprise software stack provides two builds based on Debian and Centos. The goal is to help bridge the gap between older technology present in todays distributions and the latest ARM server optimizations.
The enterprise reference platform is targeted to accelerate the high powered ARMv8 servers in both datacenter and cloud vertical markets. Industry standard firmware (SBBR and SBSA) and a unified Linux kernel are provided for all the supported platforms, simplifying software maintenance and deployment. The high level components such as Openstack, Ceph, Hadoop, and KVM are rigorously validated for each distribution. The enterprise software stack provides two builds based on Debian and Centos. The goal is to help bridge the gap between older technology present in todays distributions and the latest ARM server optimizations. For more information and support please visit the [ERP forum](https://discuss.linaro.org/c/erp).
**Features:**

View file

@ -0,0 +1,669 @@
# Big Data
This file provides all the instructions required to install Big Data components - Hadoop, Spark and Hive
# Big Data packages
The following Big data components are built as part of Linaro's Reference Architecture
* Hadoop 2.7.2
* Spark 2.0
* Hive 2.0.1
These components were built using Apache BigTop 1.1 and uses ODPi's code base.
# About ODPi
Check out the website https://www.odpi.org/
# Prerequisites
Java 8 (e.g. openjdk-8-jre) installed
# Linaro Repo
The package is available at the following repo:
Debian Jessie - http://repo.linaro.org/debian/erp-16.12-stable/
CentOS 7 - http://repo.linaro.org/rpm/linaro-overlay/centos-7/repo
# Installation
## For Ubuntu
Add to repo source list (not required if you are using the installer from the Reference Platform):
$ echo "deb http://repo.linaro.org/debian/erp-16.12-stable/ jessie main" | sudo tee /etc/apt/sources.list.d/linaro-overlay-repo.list
Update the source list and install the dependencies:
$ sudo apt-get update
$ sudo apt-get build-dep build-essential
Check Java version
java -version
This should print out OpenJDK8.
Install Hadoop, Spark and Hive
$ sudo apt-get install -ft jessie bigtop-tomcat bigtop-utils hadoop* spark-core zookeeper ^hive-* hbase oozie
## For Centos:
Add to repo source list (not required if you are using the installer from the Reference Platform):
$ sudo wget http://repo.linaro.org/rpm/linaro-staging/centos-7/linaro-staging.repo -O /etc/yum.repos.d/linaro-overlay.repo
Update the source list and install the dependencies
$ sudo yum update
$ sudo yum -y install openssh-server openssh-clients java-1.8.0-openjdk*
Install Hadoop, Spark and Hive
$ sudo yum install -y hadoop* spark* hive*
# Verifying Hadoop Installation
Packages would get installed in /usr/lib
Type hadoop to check if hadoop is installed.
$ hadoop
And you should see the following:
"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. "
# Setup, Configuration and Running Hadoop
## Add Hadoop User
We need to create a dedicated user (hduser) for running Hadoop. This user needs to be added to hadoop user group:
$ sudo adduser hduser -G hadoop
give a password for hduser
$ sudo passwd hduser
Add hduser to sudoers list:
On Debian:
$ sudo adduser hduser sudo
On CentOS:
$ sudo usermod -G wheel hduser
Switch to hduser
$ su - hduser
Generate ssh key for hduser
$ ssh-keygen -t rsa -P ""
Press <enter> to leave to default file name.
Enable ssh access to local machine
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
$ chmod 600 $HOME/.ssh/authorized_keys
$ chmod 700 $HOME/.ssh
Test ssh setup
$ ssh localhost
$ exit
## Disabling IPv6
$ sudo vi /etc/sysctl.conf
add the below lines and save
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:
$ sudo vi /etc/hadoop/conf/hadoop-env.sh
uncomment line
export HADOOP_OPTS=-Djava.net.preferIPV4stack=true
Run sysctl to apply the changes:
$ sudo sysctl -p
## Configuring the app environment
Back to the system, we need to configure the app environment by following steps:
$ 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 :
$ vi .bashrc
Add the following to the end and save:
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=/etc/hadoop/conf
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 HADOOP_USER_NAME=hdfs
export CLASSPATH=$CLASSPATH:.
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/hadoop-common-2.7.2.jar:$HADOOP_HOME/client/hadoop-hdfs-2.7.2.jar:$HADOOP_HOME/hadoop-auth-2.7.2.jar:/usr/lib/hadoop-mapreduce/*:/usr/lib/hive/lib/*:/usr/lib/hadoop/lib/*:
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
$ source .bashrc
## Modifying config files
### core-site.xml
$ sudo vi /etc/hadoop/conf/core-site.xml
And add/modify the following settings: Look for property with fs.defaultFS and modify as below:
<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 tag: "</configuration>"
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
### mapred-site.xml
$ sudo vi /etc/hadoop/conf/mapred-site.xml
Modify existing properties as follows: Look for property tag with as mapred.job.tracker and modify as below:
<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
$ sudo vi /etc/hadoop/conf/hdfs-site.xml
Modify existing property as below:
<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>
Make sure the following properties are set correctly as below in hdfs-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/var/lib/hadoop-hdfs/cache/${user.name}</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/lib/hadoop-hdfs/cache/${user.name}/dfs/name</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/var/lib/hadoop-hdfs/cache/${user.name}/dfs/namesecondary</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/lib/hadoop-hdfs/cache/${user.name}/dfs/data</value>
</property>
Make sure the following properties are also present:
<property>
<name>dfs.name.dir</name>
<value>/var/lib/hadoop-hdfs/cache/${user.name}/dfs/nn</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/var/lib/hadoop-hdfs/cache/${user.name}/dfs/dn</value>
</property>
<property>
<name>dfs.permissions.supergroup</name>
<value>hadoop</value>
</property>
## Format Namenode
This step is needed for the first time. Doing it every time will result in loss of content on HDFS.
$ sudo /etc/init.d/hadoop-hdfs-namenode init
## Start the YARN daemons
$ 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
$ sudo jps
or
$ ps aux | grep java
Alternatively, check if yarn managers are running:
$ sudo /etc/init.d/hadoop-yarn-resourcemanager status
$ sudo /etc/init.d/hadoop-yarn-nodemanager status
You would see like below:
" ● 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.8.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
$ 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
## Run a demo application to verify installation
$ mkdir in
$ cat > in/file << EOFThis is one line
This is another one
EOF
Add this directory to HDFS:
$ hadoop dfs -copyFromLocal in /in
## Run wordcount example provided
$ hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /in /out
Check the output
$ hadoop dfs -cat /out/*
## Web Interface
* http://master:50070/dfshealth.jsp
* http://master:8088/cluster
* http://master:19888/jobhistory (for Job History Server)
## Stop the Hadoop Services
$ 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
# SPARK
'NOTE:' Make sure you have followed above steps to set up Hadoop.
Change to hduser
$ su - hduser
## Configuring Spark
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=/etc/hadoop/conf
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 HADOOP_USER_NAME=hdfs
export CLASSPATH=$CLASSPATH:.
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/hadoop-common-2.7.2.jar:$HADOOP_HOME/client/hadoop-hdfs-2.7.2.jar:$HADOOP_HOME/hadoop-auth-2.7.2.jar:/usr/lib/hadoop-mapreduce/*:/usr/lib/hive/lib/*:/usr/lib/hadoop/lib/*:
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
export SPARK_HOME=/usr/lib/spark
export PATH=$HADOOP_HOME\bin:$PATH
export SPARK_DIST_CLASSPATH=$HADOOP_HOME\bin\hadoop:$CLASSPATH:/usr/lib/hadoop/lib/*:/usr/lib/hadoop/lib/*:/usr/lib/hadoop-mapreduce/*:.
export CLASSPATH=$CLASSPATH:/usr/lib/hadoop/lib/*:.
$ source .bashrc
## Verifying Spark Installation
$ $SPARK_HOME/bin/spark-shell --master local[*]
## Running SparkPi Example
Once Spark is built successfully, try running the following pi example to calculate value of pi. The number at the end of the command is the number of splits. If needed, you can increase this number to stress out the CPU.
$ $SPARK_HOME/bin/run-example SparkPi 100
# HIVE
## Setting up environment for Hive
You can set up the Hive environment by appending the following lines to ~/.bashrc file:
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=/etc/hadoop/conf
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 HADOOP_USER_NAME=hdfs
export CLASSPATH=$CLASSPATH:.
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/hadoop-common-2.7.2.jar:$HADOOP_HOME/client/hadoop-hdfs-2.7.2.jar:$HADOOP_HOME/hadoop-auth-2.7.2.jar:/usr/lib/hive/lib/*:/usr/lib/hadoop/lib/*:.
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
export PATH=$HADOOP_HOME\bin:$PATH
export HIVE_HOME=/usr/lib/hive
export PATH=$PATH:$HIVE_HOME/bin
The following command is used to execute ~/.bashrc file.
$ source ~/.bashrc
## Configuring hive
To configure Hive with Hadoop, you need to edit the hive-env.sh file, which is placed in the $HIVE_HOME/conf directory. The following commands redirect to Hive config folder and copy the template file:
$ cd $HIVE_HOME/conf
$ sudo cp hive-env.sh.template hive-env.sh
Hive installation is completed successfully. Now you require an external database server to configure Metastore. We use Apache Derby database.
## Downloading and Installing Apache Derby
Follow the steps given below to download and install Apache Derby:
## Downloading Apache Derby
The following command is used to download Apache Derby. It takes some time to download.
$ cd ~
$ wget http://archive.apache.org/dist/db/derby/db-derby-10.4.2.0/db-derby-10.4.2.0-bin.tar.gz
The following command is used to verify the download:
$ ls
On successful download, you get to see the following response:
db-derby-10.4.2.0-bin.tar.gz
## Extracting and verifying Derby archive
The following commands are used for extracting and verifying the Derby archive:
$ tar zxvf db-derby-10.4.2.0-bin.tar.gz
$ ls
On successful download, you get to see the following response:
db-derby-10.4.2.0-bin
db-derby-10.4.2.0-bin.tar.gz
Copy the files from the extracted directory to the /usr/local/derby directory:
$ sudo mv db-derby-10.4.2.0-bin /usr/local/derby
## Setting up Environment for Derby
Set up the Derby environment by appending the following lines to ~/.bashrc file:
$ vi .bashrc
export DERBY_HOME=/usr/local/derby
export PATH=$PATH:$DERBY_HOME/bin
export CLASSPATH=$CLASSPATH:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar
The following command is used to execute ~/.bashrc file:
export DERBY_HOME=/usr/local/derby
export PATH=$PATH:$DERBY_HOME/bin
export CLASSPATH=$CLASSPATH:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar
$ source ~/.bashrc
### Create a directory to store Metastore
Create a directory named data in $DERBY_HOME directory to store Metastore data.
$ sudo mkdir $DERBY_HOME/data
Derby installation and environmental setup is now complete.
## Configuring Metastore of Hive
Configuring Metastore means specifying to Hive where the database is stored. You can do this by editing the hive-site.xml file, which is in the $HIVE_HOME/conf directory. First of all, copy the template file using the following command:
$ cd $HIVE_HOME/conf
$ sudo cp hive-default.xml.template hive-site.xml
Edit hive-site.xml and find entry 'javax.jdo.option.ConnectionURL' and modifiy the value as below:
<name>hive.exec.scratchdir</name>
<value>/tmp/hive-${user.name}</value>
<name>hive.exec.local.scratchdir</name>
<value>/tmp/${user.name}</value>
<name>hive.downloaded.resources.dir</name>
<value>/tmp/${user.name}_resources</value>
<name>hive.scratch.dir.permission</name>
<value>733</value>
and change the values for the below properties like below:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/usr/lib/hive/tmp/metastore_db;create=true </value>
<description>JDBC connect string for a JDBC metastore </description>
</property>
Create a file named jpox.properties and add the following lines into it:
$ sudo vi jpox.properties
javax.jdo.PersistenceManagerFactoryClass =
org.jpox.PersistenceManagerFactoryImpl
org.jpox.autoCreateSchema = false
org.jpox.validateTables = false
org.jpox.validateColumns = false
org.jpox.validateConstraints = false
org.jpox.storeManagerType = rdbms
org.jpox.autoCreateSchema = true
org.jpox.autoStartMechanismMode = checked
org.jpox.transactionIsolation = read_committed
javax.jdo.option.DetachAllOnCommit = true
javax.jdo.option.NontransactionalRead = true
javax.jdo.option.ConnectionDriverName = org.apache.derby.jdbc.ClientDriver
javax.jdo.option.ConnectionURL = jdbc:derby://hadoop1:1527/metastore_db;create = true
javax.jdo.option.ConnectionUserName = APP
javax.jdo.option.ConnectionPassword = mine
## Verifying Hive Installation
Before running Hive, you need to create the /tmp folder and a separate Hive folder in HDFS. Here, we use the /user/hive/warehouse folder. You need to set write permission for these newly created folders as shown below:
Make sure you are using hduser account. If not switch to hduser.
$ su - hduser
Now set them in HDFS before verifying Hive. Use the following commands:
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
'NOTE:' Before invoking hive make sure you have followed above instructions in installing and setting up Hadoop. Make sure hadoop services are running.
Run Hive metastore service
$ sudo service hive-metastore start
$ sudo $HIVE_HOME/bin/metatool -listFSRoot
Create tmp directory to run Hive under.
$ cd $HIVE_HOME
$ sudo mkdir tmp
$ sudo chown hduser tmp
$ cd tmp
The following commands are used to verify Hive installation:
$ $HIVE_HOME/bin/schematool -dbType derby -initSchema
$ hive -hiveconf hive.root.logger=DEBUG,console
On successful installation of Hive, you get to see the following response:
Logging initialized using configuration in jar:file:/home/hadoop/hive-0.9.0/lib/hive-common-0.9.0.jar!/hive-log4j.properties
Hive history file=/tmp/hadoop/hive_job_log_hadoop_201312121621_1494929084.txt
………………….
hive>
The following sample command is executed to display all the tables:
hive> show tables;
OK
Time taken: 2.798 seconds
hive>
# Errors / Issues and Resolutions
* If after creating hduser, trying to switch to hduser ( || $ su - hduser || ) gave the following error:
/* No directory, logging in with HOME=/ #
Then do the following:
Exit to root user delete the hduser and recreate it.
$ exit
$ sudo userdel hduser
$ sudo useradd -d /home/hduser -G hadoop -m hduser
* If Teragen, TeraSort and TeraValidate error out with 'permission denied' exception. The following steps can be done:
$ 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.
You may have delete all the packages and re-run the steps of installation from scratch.
/* Error while formatting namenode With the following command:
$ 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.(DNS.java:57)
Something is wrong in the network setup. Please check /etc/hosts file.
$ sudo vi /etc/hosts
The hosts file should like below:
127.0.0.1 <hostname> localhost localhost.localdomain #hostname should have the output of $ hostname
::1 localhost
Also try the following steps:
$ sudo rm -Rf /app/hadoop/tmp
$ hadoop namenode -format
* If you see the below error with Hive while doing 'schematool -initSchema -dbType derby':
'Error:' FUNCTION 'NUCLEUS_ASCII' already exists. (state=X0Y68,code=30000) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! Underlying cause: java.io.IOException : Schema script failed, errorcode 2 Use --verbose for detailed stacktrace. *** schemaTool failed ***
Following actions need to be taken to resolve:
$ cd $HIVE_HOME/tmp
mv metastore_db metastore_db.tmp
../bin/schematool -initSchema -dbType derby
* If you get the following error with Hive:
Error: Cannot get a connection, pool error Could not create a validated object, cause: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection. org.datanucleus.exceptions.NucleusDataStoreException: Cannot get a connection, pool error Could not create a validated object, cause: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection.
Resolution is: delete all .lck files in $HIVE_HOME/tmp directory

View file

@ -0,0 +1,13 @@
# Approved Hardware
List of approved hardware, ideal for testing the Enterprise Reference Platform.
- [AMD Overdrive](http://www.amd.com/en-us/innovations/software-technologies/technologies-gaming/over-drive)
- [HiSilicon D03](http://open-estuary.org/d03/)
- [HiSilicon D05](http://open-estuary.org/d05/)
- [APM X-Gene Mustang](https://www.apm.com/products/data-center/x-gene-family/x-gene/)
- [HP Proliant m400](https://www.cdw.com/shop/products/HPE-ProLiant-m400-X-Gene-2.4-GHz-64-GB-0-GB/3516636.aspx)
- [Qualcomm Q2432](https://developer.qualcomm.com/)
- [Cavium Thunder X](http://www.cavium.com/ThunderX_ARM_Processors.html)
Proceed to [Installation](../Installation/README.md) page.

View file

@ -0,0 +1,147 @@
<table align="center">
<tr>
<td align="center">UEFI/EDK2<br><a href="../README.md">Go Back</a></td>
<td align="center"><a href="Download.md">Download</a><br>Get the latest pre-built firmware images</td>
<th align="center"><a href="Build.md">Build</a><br>Instructions for building latest firmware images</td>
<td align="center"><a href="Install.md">Install</a><br>Instructions on how to install firmware</td>
<td align="center"><a href="README.md">Read more</a><br>Learn more about UEFI/EDK2</td>
</tr>
</table>
## Pre-Requisites and Dependencies
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 469e1e1e4203b5d369fdce790883cb0aa035a744 # 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
```
### Proceed to [Installation](Install.md) page
***
## Building UEFI/EDK2 for D02
```shell
export AARCH64_TOOLCHAIN=GCC49
export LINARO_EDK2_DIR=${PWD}/edk2
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
cd ${LINARO_EDK2_DIR}
${UEFI_TOOLS_DIR}/uefi-build.sh -b DEBUG d02
```
The output file:
- `Build/Pv660D02/DEBUG_GCC49/FV/PV660D02.fd`
### Proceed to [Installation](Install.md) page
***
## Building UEFI/EDK2 for D03
```shell
export AARCH64_TOOLCHAIN=GCC49
export LINARO_EDK2_DIR=${PWD}/edk2
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
cd ${LINARO_EDK2_DIR}
${UEFI_TOOLS_DIR}/uefi-build.sh -b DEBUG d03
```
The output file:
- `Build/D03/DEBUG_GCC49/FV/D03.fd`
### Proceed to [Installation](Install.md) page
***
## Building UEFI/EDK2 for Overdrive
```shell
export AARCH64_TOOLCHAIN=GCC49
export LINARO_EDK2_DIR=${PWD}/edk2
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
cd ${LINARO_EDK2_DIR}
${UEFI_TOOLS_DIR}/uefi-build.sh -b DEBUG overdrive
```
The output file:
- `Build/Overdrive/DEBUG_GCC49/FV/STYX_ROM.fd`
### Proceed to [Installation](Install.md) page
***
## Building UEFI/EDK2 for HuskyBoard / Cello
```shell
export AARCH64_TOOLCHAIN=GCC49
export LINARO_EDK2_DIR=${PWD}/edk2
export UEFI_TOOLS_DIR=${PWD}/uefi-tools
cd ${LINARO_EDK2_DIR}
${UEFI_TOOLS_DIR}/uefi-build.sh -b DEBUG cello
```
The output file:
- `Build/Cello/DEBUG_GCC49/FV/STYX_ROM.fd`
### Proceed to [Installation](Install.md) page
***

View file

@ -0,0 +1,23 @@
<table align="center">
<tr>
<td align="center">UEFI/EDK2<br><a href="../README.md">Go Back</a></td>
<th align="center"><a href="">Download</a><br>Get the latest pre-built firmware images</td>
<td align="center"><a href="Build.md">Build</a><br>Instructions for building latest firmware images</td>
<td align="center"><a href="Install.md">Install</a><br>Instructions on how to install firmware</td>
<td align="center"><a href="README.md">Read more</a><br>Learn more about UEFI/EDK2</td>
</tr>
</table>
## Choose your Hardware
> Note: If hardware is not linked, [contact distributor](../../Hardware/README.md) for more information on available firmware.
- [D03](http://releases.linaro.org/reference-platform/enterprise/latest/uefi/release/d03/)
- [D05](http://releases.linaro.org/reference-platform/enterprise/latest/uefi/release/d05/)
- [OverDrive](http://releases.linaro.org/reference-platform/enterprise/latest/uefi/release/overdrive/)
- X-Gene
- m400
- QDF2432
- Thunder X
Proceed back to the [Installation](Install.md) page

View file

@ -0,0 +1,105 @@
<table align="center">
<tr>
<td align="center">UEFI/EDK2<br><a href="../README.md">Go Back</a></td>
<td align="center"><a href="Download.md">Download</a><br>Get the latest pre-built firmware images</td>
<td align="center"><a href="Build.md">Build</a><br>Instructions for building latest firmware images</td>
<th align="center"><a href="Install.md">Install</a><br>Instructions on how to install firmware</td>
<td align="center"><a href="README.md">Read more</a><br>Learn more about UEFI/EDK2</td>
</tr>
</table>
Choose instructions from the approved hardware:
***
## 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
To do a clean flash you will require access to the board's BMC.
1. Make sure the board's BMC port is connected, and with a known IP address.
2. Login the BMC website, The username/passwd is root/Huawei12#$. Go to "System", "Firmware Upgrade", and "Browse" to select the UEFI file in hpm format. (Please contact support@open-estuary.org to get the hpm file).
3. Pull out the power cable to power off the board. Find the pin named "COM_SW" at J44. Then connect it with jump cap.
4. Power on the board and connect to the board's serial port. When the screen display message "You are trying to access a restricted zone. Only Authorized Users allowed.", type "Enter", input username/passwd (username/passwd is root/Huawei12#$).
5. After you login the BMC interface which start with "iBMC:/->", use command "ifconfig" to see the modified BMC IP. When you get the board's BMC IP, please visit the BMC website by "https://BMC IP ADDRESS/".
6. Go to "Start Update" (Do not power off during this period).
7. After updating the UEFI firmware, reboot the board to enter UEFI menu.
### Upgrade 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
truncate --size=16M FIRMWARE.rom
```
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.
### Upgrade 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)

View file

@ -0,0 +1,19 @@
<table align="center">
<tr>
<td align="center">UEFI/EDK2<br><a href="../README.md">Go Back</a></td>
<td align="center"><a href="Download.md">Download</a><br>Get the latest pre-built firmware images</td>
<td align="center"><a href="Build.md">Build</a><br>Instructions for building latest firmware images</td>
<td align="center"><a href="Install.md">Install</a><br>Instructions on how to install firmware</td>
<th align="center"><a href="README.md">Read more</a><br>Learn more about UEFI/EDK2</td>
</tr>
</table>
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)

View file

@ -0,0 +1,57 @@
# Installation
This page offers generic installation instructions for the Enterprise Reference Platform on supported hardware. A list of approved hardware can be found in the ["Approved Hardware"](../Hardware/README.md) section of this documentation set.
Be sure to check out the [Release Notes](../../ReleaseNotes.md) before installing.
***
## Step 1: Upgrade firmware to latest version
<table align="center">
<tr>
<th>UEFI/EDK2</td>
<td align="center"><a href="Firmware/Download.md">Download</a><br>Get the latest pre-built firmware images</td>
<td align="center"><a href="Firmware/Build.md">Build</a><br>Instructions for building latest firmware images</td>
<td align="center"><a href="Firmware/Install.md">Install</a><br>Instructions on how to install firmware</td>
<td align="center"><a href="Firmware/README.md">Read more</a><br>Learn more about UEFI/EDK2</td>
</tr>
</table>
***
## Step 2: Set up PXE on your network
<table align="center">
<tr>
<th>Centos</td>
<td> https://wiki.centos.org/HowTos/NetworkInstallServer</td>
</tr>
<tr>
<th>Debian</td>
<td>https://wiki.debian.org/PXEBootInstall</td>
</tr>
</table>
***
## Step 3: Use a PXE to boot a network installer
Choose your network installer, download or build, and proceed to the installation instructions
**Network Installers:**
<table>
<tr>
<th>Centos</td>
<td><a href="http://releases.linaro.org/reference-platform/enterprise/16.12/centos-installer/">Download</a></td>
<td><a href="Centos/README.md">Install</a></td>
</tr>
<tr>
<th>Debian</td>
<td><a href="http://releases.linaro.org/reference-platform/enterprise/16.12/debian-installer/">Download</a></td>
<td><a href="Debian/README.md">Install</a></td>
</tr>
</table>
***

View file

@ -0,0 +1,107 @@
# OpenStack
This repository provides all the support code required to deploy a "Developer
Cloud".
# OpenStack packages
The OpenStack packages are built by Linaro and made available in the following
location:
http://repo.linaro.org/rpm/linaro-overlay/centos-7/repo
The build scripts for the packages are available in this repository on the
[`openstack-venvs`](https://git.linaro.org/leg/sdi/openstack-ref-architecture.git/tree/openstack-venvs) folder. These scripts are provided on as is basis, and they
are tailored specifically for Linaro's building environment. Use only at your
own risk.
# Reference Architecture
The reference architecture deploys a cloud that uses Ceph as backend for OpenStack:
[https://git.linaro.org/leg/sdi/openstack-ref-architecture.git](https://git.linaro.org/leg/sdi/openstack-ref-architecture.git)
See block diagram of how the servers should be connected to the network and how to
spread the services on the different hosts on a default configuration in the [architecture document](docs/architecture.md).
# Pre-requisites
1. All the servers are supposed to have Linaro ERP 16.12 installed and they are supposed to
have networking configured in a way that they can see/resolve each other's names.
1. The nodes that will be used as Ceph OSDs need to have at least one extra harddrive for Ceph.
1. The networking node should have 3 NICs connected as described in the [architecture document](docs/architecture.md).
# Configuration
Some example configuration files are provided in this repo as example, go through them and
generate the equivalent ones for your particular deployment:
ansible/hosts.example
group_vars/all
Ensure to use host names, instead of ips to avoid some known deployment issues.
The playbook assumes your own files are in a folder called `ansible/secrets`, so the recommendation
is to place your files there.
# The deployment
The deployment can be split in two different parts. Ceph and OpenStack.
## Deploying Ceph
1) Monitors are deployed and the cluster bootstrapmd:
ansible-playbook -K -v -i ./hosts ./site.yml --tags ceph-mon
Check that the cluster is up and running by connecting to one of the monitors
and checking:
ssh server1
ceph daemon mon.server1 mon_status
2) OSDs assume a full hard drive is dedicated to Ceph at least. A default
configuration if all the servers that will be OSDs have the same HD layout
can be spedified in group_vars/all as follows:
```
ceph_host_osds:
- sbX
- sbY
- sbZ
```
If some server has a different configuration, this will be specified in the
hostvars folder, in a file with the name of your server. For example:
```
$ cat hostvars/server1
ceph_host_osds:
- sbZ
- sbY
```
After configuring, the OSDs are deployed as follows:
ansible-playbook -K -v -i ./secrets/hosts ./site.yml --tags ceph-osd
2.1) In the case of setting up a cluster from scratch where ceph has been installed
previously, there is an option to force the resetting of all the disks (this
option WILL DELETE all the data on the OSDs). This option is not
idempotent, use at your own risk. It is safe to use if you have cleanly deployed
the machine and the disk to be used as OSD had a previously installed Ceph:
--extra-vars 'ceph_force_prepare=true'
## Deploying OpenStack
OpenStack is deployed using Ansible with the playbook defined in the "ansible"
directory. You'll need to create the files "deployment-vars" and "hosts" to
match your environment. There are examples to help guide you. Once those files
are in place, OpenStack can be deployed with:
ansible-playbook -K -v -i secrets/hosts site.yml

View file

@ -0,0 +1,57 @@
# Network Diagram
This diagram is orientative to show how the physical networks
are expected to be set up.
The two networks are physical networks segmented between 2 different VLANS. The
internal network is a traditional lab internal network that all the servers can
see. The openstack services will communicate with each other on this
fairly safe network. Outbound traffic on this network is routed through the
external router.
The "VMS NET" is a 2nd VLAN (can be same or different physical switch).
This network is private with no outbound routes. The compute nodes and the
network node talk over this network using VXLAN to provide private virtualized
networks defined and managed by OpenStack. The network node as a single interface
bridged to the public internet and a range of public IPv4 addresses that can
be assigned as floating IPs to expose VMs to the internet.
```
+---+ +---------------------------------+ +---+
| V | | +--------+ I |
| M | | control-node-1 |eth0 | N |
| S | | mysql, rabbit, ceph-mon | | T |
| | | | | E |
| N | +---------------------------------+ | R +-----+
| E | | N | |eth0
| T | +---------------------------------+ | A | +---------------+
| | | +--------+ L | | |
| | | control-node-2 |eth0 | | | External |
| | | keystone, glance, memcached, | | N | | router |
| | | nova(api etc), neutron-server, | | E | | |
| 1 | | horizon, cinder, ceph-mon | | T | +---------------+
| 9 | | | | W | |eth1
| 2 | +---------------------------------+ | O | |
| . | | R | |
| 1 | +---------------------------------+ | K | |
| 6 | | +--------+ | |
| 8 | | control-node-3 |eth0 | | |
| . | | openvswitch_agent, l3_agent, | | | |
| 0 | eth1| dhcp_agent, metadata_agent |eth2 |10 | |
| . +--------+ ceph-mon |__ | . | |
| X | +---------------------------------+ \ |10 | |
| | \___/| . |- |
| | +---------------------------------+ | X | \ \ XXXXX
| | | +--------+ . | \ XXXX X
| | | compute-$X |eth0 | X | \ XX XX
| | eth1| nova-compute, ceph-osd | | | \XX XXX
| +--------+ neutron-openvswitch_agent | | | X Internet X
| | +---------------------------------+ | | XX XXX
| | | | XXXXXXXXXXX
| | +---------------------------------+ | |
| | | +--------+ |
| | | compute-$X |eth0 | |
| | eth1| nova-compute, ceph-osd | | |
| +--------+ neutron-openvswitch_agent | | |
+---+ +---------------------------------+ +---+
```

View file

@ -4,10 +4,5 @@
## 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)

View file

@ -0,0 +1,216 @@
## Installing CentOS 7 - 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 7 Reference Platform installer (e.g. 16.06 release):
```shell
mkdir /srv/tftp/centos7
cd /srv/tftp/centos7
wget https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.06/images/pxeboot/vmlinuz
wget https://builds.96boards.org/releases/reference-platform/components/centos-installer/16.06/images/pxeboot/initrd.img
```
Creating the Grub 2 config file (`grub.cfg`):
```shell
menuentry 'Install CentOS 7 ARM 64-bit - Reference Platform' --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.06/ 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
.
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' --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.06/ 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.

View file

@ -0,0 +1,342 @@
## Installing Debian "Jessie" 8.5
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.06/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
...
│   │   │   ├── 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.06/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.
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+deb8u4.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`.

View file

@ -0,0 +1,22 @@
# Enterprise Reference Platform - Documentation
A comprehensive guide to using the Enterprise Reference Platform. This guide is written by the Linaro team with community contributions and links to third-party content.
## Contents
- [Installation](Installation/README.md)
- Installation and build instructions for a variety of your Reference Platform components
- [OpenStack](OpenStack/README.md)
- This section provides all the support code required to deploy a "Developer Cloud"
- [BigData](BigData/README.md)
- Installation instructions for Big Data Components. i.e., Hadoop, Spark and Hive
- [Support](Support/README.md)
- From bug reports and current issues, to forum access and other useful resources, we want to help you find answers
***
#### Resources
- [Release Notes](../ReleaseNotes.md)
- [Previous Releases](PreviousReleases/README.md)
- [Document Contribution Policy](../../../../ContributionPolicy.md)

View file

@ -0,0 +1,10 @@
# Support
Please take advantage of the many Enterprise Reference Platform resources available to you Linaro and third parties.
- [Release Notes](../ReleaseNotes.md)
- Current release notes for the Enterprise Reference Platform. Includes release notes and known issues.
- [Enterprise Forum](https://discuss.linaro.org/c/erp)
- The Enterprise Reference Platform has its very own forum. If you can't find a pre-existing thread that addresses your issue, start your own and let the community help out.
- [Report a bug!](http://platforms.linaro.org/documentation/Reference-Platform/Extras/Report-a-bug.md/)
- Instructions on how to report Enterprise Reference Platform bugs

View file

@ -1,21 +1,19 @@
# Enterprise Reference Platform - Documentation
# Enterprise Reference Platform
A comprehensive guide to using the Enterprise Reference Platform. This guide is written by the Linaro team with community contributions and links to third-party content.
The enterprise reference platform is targeted to accelerate the high powered ARMv8 servers in both datacenter and cloud vertical markets. Industry standard firmware (SBBR and SBSA) and a unified Linux kernel are provided for all the supported platforms, simplifying software maintenance and deployment. The high level components such as Openstack, Ceph, Hadoop, and KVM are rigorously validated for each distribution. The enterprise software stack provides two builds based on Debian and Centos. The goal is to help bridge the gap between older technology present in todays distributions and the latest ARM server optimizations. For more information and support please visit the [ERP forum](https://discuss.linaro.org/c/erp).
## Contents
**Features:**
- [Getting Started](GettingStarted/README.md)
- Learn more about the Enterprise Reference Platform, this is an ideal place to start.
- [Installation](Installation/README.md)
- Installation and build instructions for a variety of your Reference Platform components
- [Downloads](Downloads/README.md)
- Skip straight to your pre-built Reference Platform downloads
- [Support](Support/README.md)
- From bug reports and current issues, to forum access and other useful resources, we want to help you find answers
- Unified Linux Kernel
- Open Boot Firmware
- Compliant with ARM SBSA and SBBR specifications
- Debian and Centos Network Installers
- Openstack and Ceph Reference Deployments
- Built for Big Data Workloads
***
#### Resources
## Before you begin...
- [Previous Releases](PreviousReleases/README.md)
- [Document Contribution Policy](../../../ContributionPolicy.md)
1. Check out our list of ["Approved Hardware"](Documentation/Hardware/README.md)
2. Proceed to the ["Installation page"](Documentation/README.md)

View file

@ -0,0 +1,113 @@
# 16.12 Release Notes - Enterprise Reference Platform
## Reference Platform Kernel
- 4.9 based, including under-review topic branches to extend hardware platform support
- Unified tree, used by both the CentOS and Debian Reference Platforms
- ACPI and PCIe support
- Single kernel config and binary (package) for all hardware platforms
## UEFI
- Tianocore EDK II and OpenPlatformPkg containing reference implementations for Huawei D03/D05 and AMD Overdrive
## Debian
- Network Installer based on Debian 8.6 "Jessie"
- Unified Reference Platform Kernel based on 4.9
## CentOS
- Network Installer based on CentOS 7.2.1603
- Unified Reference Platform Kernel based on 4.9
## Enterprise Components
- Docker 1.10.3
- OpenStack Mitaka
- Ceph 10.2.3
- Spark 2.0
- OpenJDK 8
- QEMU 2.7
## Supported Hardware Platforms
- AMD Overdrive
- HiSilicon D03
- HiSilicon D05
- APM X-Gene Mustang
- HP Proliant m400
- Qualcomm QDF2432 Software Development Platform (SDP)
- Cavium Thunder X
## Known Issues
### CentOS:
- Using Docker with XFS and Overlay Storage Driver:
- Note that XFS file systems must be created with the -n ftype=1 option enabled for use as an overlay. With the rootfs and any file systems created during system installation, set the --mkfsoptions=-n ftype=1 parameters in the Anaconda kickstart. When creating a new file system after the installation, run the # mkfs -t xfs -n ftype=1 /PATH/TO/DEVICE command. To determine whether an existing file system is eligible for use as an overlay, run the # xfs_info /PATH/TO/DEVICE | grep ftype command to see if the ftype=1 option is enabled.
- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.2_Release_Notes/technology-preview-file_systems.html
- [2778](https://bugs.linaro.org/show_bug.cgi?id=2778) qemu-system-aarch64 doesn't pull ipxe-roms-qemu package
- [2743](https://bugs.linaro.org/show_bug.cgi?id=2743) LTP: growfiles test cases failed
- [2728](https://bugs.linaro.org/show_bug.cgi?id=2728) openssl test suite test_req and test_verify failed exit major All
- [2725](https://bugs.linaro.org/show_bug.cgi?id=2725) No source RPM found for openssh-6.6.1p1-25.el7.aarch64 major All
- [2720](https://bugs.linaro.org/show_bug.cgi?id=2720) CentOS/Debian: CONFIG_ARM64_VA_BITS=48 breaks userspace
- [2701](https://bugs.linaro.org/show_bug.cgi?id=2701) libhugetlbfs test cases counters.sh heap-overflow and heapshrink failed
- [2694](https://bugs.linaro.org/show_bug.cgi?id=2694) CentOS: overlayfs: upper fs needs to support d_type
- [2681](https://bugs.linaro.org/show_bug.cgi?id=2681) Install will fail if RTC date is incorrect due to https
- [2655](https://bugs.linaro.org/show_bug.cgi?id=2655) kickstart file not available in ISO image
- [2363](https://bugs.linaro.org/show_bug.cgi?id=2363) LTP: # profil01 profil failed to record anything
- [2356](https://bugs.linaro.org/show_bug.cgi?id=2356) LTP: open14.c check file permissions failed normal All
- [2351](https://bugs.linaro.org/show_bug.cgi?id=2351) LTP: openat03 TBROK errno=EINVAL(22) Invalid argument normal All
### Debian:
- [2748](https://bugs.linaro.org/show_bug.cgi?id=2748) LTP: containers sub test case netns_breakns and netns_comm failed
- [2747](https://bugs.linaro.org/show_bug.cgi?id=2747) LTP test case isofs failed on D03, Thunderx and moonshot running Debian
- [2745](https://bugs.linaro.org/show_bug.cgi?id=2745) LTP: quota_remount_test01 failed on Debian Running on D03, moonshot and Thunderx platforms.
- [2744](https://bugs.linaro.org/show_bug.cgi?id=2744) LTP: writev01, writev03, writev04 test cases failed
- [2720](https://bugs.linaro.org/show_bug.cgi?id=2720) CentOS/Debian: CONFIG_ARM64_VA_BITS=48 breaks userspace
- [2351](https://bugs.linaro.org/show_bug.cgi?id=2351) LTP: openat03 TBROK errno=EINVAL(22) Invalid argument
### Qualcomm QDF2432 Software Development Platform (SDP):
- [2663](https://bugs.linaro.org/show_bug.cgi?id=2663) Debian: 'qemu-sys - tem-aarch64 -cpu host' causes host reboot
- [2646](https://bugs.linaro.org/show_bug.cgi?id=2646) LTP: Kernel crashes in syscalls/ipc/msgctl10 test
- [2603](https://bugs.linaro.org/show_bug.cgi?id=2603) No support for on-board ethernet (emac)
### D05:
- [2788](https://bugs.linaro.org/show_bug.cgi?id=2788) kernel oops during hns_dsaf probe
- [2786](https://bugs.linaro.org/show_bug.cgi?id=2786) raid0 performance worse on debian comparing to centos
- [2770](https://bugs.linaro.org/show_bug.cgi?id=2770) UEFI occasionally hangs
- [2715](https://bugs.linaro.org/show_bug.cgi?id=2715) CentOS: ngingx-apache-bench reports request failures
- [2712](https://bugs.linaro.org/show_bug.cgi?id=2712) network port is slow when using encrypted connection (SSH)
- [2657](https://bugs.linaro.org/show_bug.cgi?id=2657) Confusing Ethernet port sequence
### D03:
- [2792](https://bugs.linaro.org/show_bug.cgi?id=2792) BMC bootdevice doesn't work with UEFI
- [2788](https://bugs.linaro.org/show_bug.cgi?id=2788) kernel oops during hns_dsaf probe
- [2774](https://bugs.linaro.org/show_bug.cgi?id=2774) System stucked when manually enabled function graph tracer and echo function_graph > /sys/kernel/debug/tracing/current_tracer
- [2732](https://bugs.linaro.org/show_bug.cgi?id=2732) LuvOS next doesn't boot on d03
- [2699](https://bugs.linaro.org/show_bug.cgi?id=2699) Earlycon not working (no console output)
- [2661](https://bugs.linaro.org/show_bug.cgi?id=2661) Fails to install/boot Debian/CentOS with the default boot argument
- [2657](https://bugs.linaro.org/show_bug.cgi?id=2657) Confusing Ethernet port sequence
- [2635](https://bugs.linaro.org/show_bug.cgi?id=2635) Only 16 cores enabled (instead of 32)
### HP-m400 Moonshot:
- [2703](https://bugs.linaro.org/show_bug.cgi?id=2703) Boot medium is not updated after network installer
### Cavium (ThunderX)
- [2773](https://bugs.linaro.org/show_bug.cgi?id=2773) UEFI Runtime regions are not aligned to 64 KB - buggy firmware?
- [2736](https://bugs.linaro.org/show_bug.cgi?id=2736) UEFI boot entry not created after Debian installer finished
- [2700](https://bugs.linaro.org/show_bug.cgi?id=2700) LTP test case oom01 restarted serial-getty and NetworkManager.service
### The SDI (OpenStack) components are released with the following known bugs:
- [2819](https://bugs.linaro.org/show_bug.cgi?id=2819) "Volume hot plug not working in 16.12" - This is a known issue with this release that hasn't been fixed.
- [2805](https://bugs.linaro.org/show_bug.cgi?id=2805) "dhcp lease is not freed after instance deleted" - this was a regression on the kernel that is being fixed. A new validated kernel will land next week with this fix in it.
- [2549](https://bugs.linaro.org/show_bug.cgi?id=2549) "Ethernet hotplug fails on 16.06" - this is a known bug that hasn't been fixed for this release.

View file

@ -0,0 +1,12 @@
# IoT Reference Platform
The IoT reference platforms goal is to provide an end to end open source secure pipeline from gateway devices to endpoints. For the deeply embedded use cases, a Zephyr RTOS baseline is provided to enable a series of hardware platforms, which ships with a rich developer SDK. The gateway is a variant of the Consumer reference platform based on Debian, leveraging the latest in cloud and container technology. Secure updates are not a mere afterthought, instead this software stack has been designed with security and maintainability in mind from day one.
**Features:**
- Zephyr RTOS with SDK for endpoints
- Open Boot Firmware for endpoints
- Debian builds for gateways
- Secure update pipeline for all devices
***

View file

@ -26,7 +26,7 @@ This method requires the following hardware:
>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 1G boards** will use the **8G 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>)

View file

@ -24,7 +24,7 @@ This method requires the following hardware:
> 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 1G boards** will use the **8G 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))

View file

@ -26,7 +26,7 @@ This method requires the following hardware:
>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 1G boards** will use the **8G 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>)
@ -76,7 +76,7 @@ $ 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
>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 - **Set HiKey into Recovery Mode using J15 header**
@ -97,6 +97,7 @@ GPIO3-1 | Link 5-6 | open
```shell
$ sudo fastboot flash ptable ptable-aosp-8g.img
$ sudo fastboot reboot
$ sudo fastboot flash fastboot fip.bin
$ sudo fastboot flash boot boot_fat.uefi.img
$ sudo fastboot flash cache cache.img
$ sudo fastboot flash system system.img

View file

@ -177,16 +177,17 @@ This method requires the following hardware:
> 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 1G boards** will use the **8G 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
#### Step 3: Download Boot firmware, 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 Boot firmware** ([**Download**](http://builds.96boards.org/releases/reference-platform/debian/hikey/16.06/bootloader/fip.bin))
- **Debian Boot image** ([**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>)
***
@ -205,7 +206,7 @@ This section show how to install the Linaro based Debian operating system to you
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**
2 - **Boot HiKey into Fastboot mode using J601 (LeMaker) / J15 (CircuitCo) header**
- Link pins 1 and 2
- Link pins 5 and 6
@ -236,6 +237,7 @@ $ sudo fastboot devices
```shell
$ sudo fastboot flash ptable <ptable_FILE_NAME>.img
$ sudo fastboot reboot
$ sudo fastboot flash fastboot fip.bin
$ sudo fastboot flash boot <boot_FILE_NAME>.uefi.img
$ sudo fastboot flash system hikey-rootfs-debian-jessie-alip-YYYYMMDD-nnn.emmc.img
```