Estuary: A complete open source solution for ARM based systems

Estuary is a complete open source project for ARM64 ecosystem. It provides a total solution for general-purpose computer based on aarch64 architecture. Anyone can quickly bring up an ARM64 platform – both software and hardware with Estuary!

May be you are just a user to ARM64 computer or a community developer who works on aarch64 platform, or a student or scholar working on ARM64 hardware in university… anyway, no matter whoever you are, wherever you are, so long as you want to work, develop, debug, estimate, validate on an ARM64 platform, Estuary is for you!

So get started with Estuary and explore various features and tools which we support for your ARM64 platform

Main Targets:

The major goals for Estuary project are:

  1. A stable\available quick start solution based on ARM64 computer, so that anyone can easily get and bring up the complete development environment, so that you can just focus on your particular field quickly.
  2. A common basic platform, which should be sustainable and will be continuously improved, can attract\absorb and integrate all 3rd part achievement ceaselessly.
  3. Sufficient technological documentation, so that any user or partner can easily get useful help from it.
  4. Simple and effective communication forum for ARM64 ecosystem, so that users can interact and share each other to improve ARM64 ecosystem.
  5. A bug tracking system, so that anyone can raise, track and help to resolve the issues, this will help to mature the solution and enhance the ecosystem.
  6. Multiple ARM64-based hardware platforms, and related software to speed up the ARM64 ecosystem development.

The most key goal of Estuary project is to support, enable and speed up the maturity of ARM64 ecosystem.

 

Architecture Overview:

The high level view for Estuary is as given below:

arch

All major components shown above are described as below:
  1. Hardware boards:
    A variety of boards based on ARM64 SoC will be enabled and integrated by Estuary, no matter which company produce it, so long as the board is designed based on ARM64 SoC, all of them will be encouraged to be integrated into this solution. Now we can support
    D02, D03, D05 boards.

  2. UEFI, Grub & bootloader:

    Multi-kinds of boot loader will be enabled for Estuary, include but not limited to UEFI\Grub, uboot.
    UEFI source code: https://github.com/open-estuary/uefi.git
    Grub source code: https://github.com/open-estuary/grub.git

    More detail about UEFI and Grub, please refer to the documents in <project root>/build/doc/<platform>.
    Or review the documents in Download-Rootfolder/release/<version>/linux/common/<board type>/documentation

    Download-Rootfolder

    Accessing from China: ftp://117.78.41.188/

    Accessing from outside-China: download.open-estuary.org

  3. Operation System:
    Two main kinds of OS will be enabled, one is based on Windows, another is based on Linux. For Linux OS, not only the latest kernel will be enabled for Estuary, various distributions will be enabled for it too, include but not limited to Ubuntu, Fedora, OpenEmbedded, Debian, Redhat and etc.

    The linux kernel source can be obtained by  git clone https://github.com/open-estuary/kernel.git

    All prebuilt kernel image\dtb\grub and other binaries can be obtained in Download-Rootfolder/release/<version>/linux/common/<board type>/.
    All validated distributions can be obtained in Download-Rootfolder/release/<version>/linux/<distro name>/common.
    More detail documentations are available in Download-Rootfolder/release/<version>/linux/common/<board type>/documentation.

  4. Virtualization Technologies:
    Multi-kinds of virtualization technologies will also be enabled for Estuary, e.g.:Docker\Lxc, KVM, Xen, Qemu, OpenStack\swift, Vmware, HHVM or CloudFoundry and so on.
  5. Middle Ware Components:
    In order to work as a universal server based on ARM64 machine, some common cloud platform services are necessary. e.g.: Ceph, Hadoop, Spark and so on. Some basic components will be enabled for Estuary, e.g.: ApacheMySQL, MariaDBPostgreSQL, Python, ODP, OpenJDK and etc. Currently Armor, OpenJDK, Docker, Docker App and OpenStack have enabled in Estuary. For details, please refer to Packages_Manual.md.
  6. Typical Applications:
    To use easily, some typical applications should be enabled too, like Web server, Big data retrieve, Cloud storage, Cloud machine and etc.
  7. Peripheral Tools:

Good peripheral support tools are very important factors too for a total solution, in this project, they are:

A. Quick Deployment Solution: Anyone can quickly get and bring up the system step by step easily. More detail refer to Quick Deployment Manual.
B. Tool Chain: Cross complier and different compilers. More detail refer to Tool Chains.
C. Benchmark: To test and estimate the system maturity and performance. More detail refer to Caliper Benchmark.
D. Open Board Laboratory: To provide a way to remote access, debug hardware board. More detail refer to accessing boards in open lab document.
E. Website: Just this website, news publish, technological communication, all release information, customer support, documentation release, mail list service, wiki and etc.
F. Armor Tools: Provide more useful tools used on debug, diagnostics, analyze of system. e.g.: perf, strace and etc. More detail refer to Armor Tools.
G. Bug system: Bug report, assign, track system. More detail please refer to our issue tracker.
H. LAVA system: Automated test and job validation system. More detail please refer to LAVA.

In above picture, green block with yellow border means they will be enabled by default by quick start. The green block means all these functions will be implemented in Estuary later versions, grey block means options which will be implemented later.

Download-Rootfolder

Accessing from China: ftp://117.78.41.188/

Accessing from outside-China: download.open-estuary.org

Getting Started

If you want to get started fast with source code, please refer Getting Started document.
If you just want to get started quickly with binaries directly, please refer Binary Download.

To get\build\bring up estuary completely, please refer to Estuary User Manual.
To post or search any technological information about estuary, please refer to Discussion Forum.
To raise new issues about estuary, please refer to Issue Tracker.
Enjoy Estuary and provide us your Feedback and Suggestions.

And….if you have any ARM based platform …and you want to enable Estuary solution on it?
Please contact us! Let’s work together to make the ARM Server Ecosystem Rich and Matured!
Yes, together we can make it happen!