Merge pull request #182 from Start9Labs/update/diy

Update DIY guide for NASPi
This commit is contained in:
kn0wmad
2022-10-20 10:24:36 -06:00
committed by GitHub
3 changed files with 87 additions and 95 deletions

96
poetry.lock generated
View File

@@ -59,8 +59,8 @@ python-versions = ">=3.6.0"
soupsieve = ">1.2"
[package.extras]
lxml = ["lxml"]
html5lib = ["html5lib"]
lxml = ["lxml"]
[[package]]
name = "certifi"
@@ -98,7 +98,7 @@ optional = false
python-versions = "*"
[package.extras]
test = ["hypothesis (==3.55.3)", "flake8 (==3.7.8)"]
test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"]
[[package]]
name = "docutils"
@@ -274,8 +274,8 @@ py = ">=1.5.0"
wcwidth = "*"
[package.extras]
testing = ["xmlschema", "requests", "nose", "mock", "hypothesis (>=3.56)", "argcomplete"]
checkqa-mypy = ["mypy (==v0.761)"]
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
[[package]]
name = "pytz"
@@ -376,9 +376,9 @@ sphinxcontrib-qthelp = "*"
sphinxcontrib-serializinghtml = ">=1.1.5"
[package.extras]
test = ["typed-ast", "cython", "html5lib", "pytest-cov", "pytest"]
lint = ["types-requests", "types-typed-ast", "docutils-stubs", "mypy (>=0.931)", "isort", "flake8 (>=3.5.0)"]
docs = ["sphinxcontrib-websupport"]
lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.931)", "docutils-stubs", "types-typed-ast", "types-requests"]
test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"]
[[package]]
name = "sphinx-autobuild"
@@ -409,8 +409,8 @@ python-versions = ">=3.7"
sphinx = ">=3"
[package.extras]
test = ["pytest", "pre-commit"]
doc = ["alabaster"]
test = ["pre-commit", "pytest"]
[[package]]
name = "sphinx-copybutton"
@@ -424,8 +424,8 @@ python-versions = ">=3.6"
sphinx = ">=1.8"
[package.extras]
rtd = ["sphinx-book-theme", "myst-nb", "ipython", "sphinx"]
code_style = ["pre-commit (==2.12.1)"]
rtd = ["sphinx", "ipython", "myst-nb", "sphinx-book-theme"]
[[package]]
name = "sphinx-multiversion-scylla"
@@ -496,8 +496,8 @@ docutils = ">=0.15"
sphinx = ">=4.0.0"
[package.extras]
dev = ["autoflake (==1.4)", "black (==22.1.0)", "check-manifest (==0.47)", "doc8 (==0.10.1)", "flake8-commas (==2.1.0)", "flake8-quotes (==3.3.1)", "flake8 (==4.0.1)", "isort (==5.10.1)", "mypy (==0.931)", "pip-check-reqs (==2.3.2)", "pydocstyle (==6.1.1)", "pyenchant (==3.2.2)", "pylint (==2.12.2)", "pyroma (==3.2)", "pytest-cov (==3.0.0)", "pytest (==7.0.1)", "types-docutils (==0.17.5)", "vulture (==2.3)"]
prompt = ["sphinx-prompt (>=0.1)"]
dev = ["vulture (==2.3)", "types-docutils (==0.17.5)", "pytest (==7.0.1)", "pytest-cov (==3.0.0)", "pyroma (==3.2)", "pylint (==2.12.2)", "pyenchant (==3.2.2)", "pydocstyle (==6.1.1)", "pip-check-reqs (==2.3.2)", "mypy (==0.931)", "isort (==5.10.1)", "flake8 (==4.0.1)", "flake8-quotes (==3.3.1)", "flake8-commas (==2.1.0)", "doc8 (==0.10.1)", "check-manifest (==0.47)", "black (==22.1.0)", "autoflake (==1.4)"]
[[package]]
name = "sphinx-tabs"
@@ -526,8 +526,8 @@ optional = false
python-versions = ">=3.5"
[package.extras]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
lint = ["docutils-stubs", "mypy", "flake8"]
[[package]]
name = "sphinxcontrib-devhelp"
@@ -538,8 +538,8 @@ optional = false
python-versions = ">=3.5"
[package.extras]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
lint = ["docutils-stubs", "mypy", "flake8"]
[[package]]
name = "sphinxcontrib-htmlhelp"
@@ -550,8 +550,8 @@ optional = false
python-versions = ">=3.6"
[package.extras]
test = ["html5lib", "pytest"]
lint = ["docutils-stubs", "mypy", "flake8"]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest", "html5lib"]
[[package]]
name = "sphinxcontrib-jsmath"
@@ -562,7 +562,7 @@ optional = false
python-versions = ">=3.5"
[package.extras]
test = ["mypy", "flake8", "pytest"]
test = ["pytest", "flake8", "mypy"]
[[package]]
name = "sphinxcontrib-qthelp"
@@ -573,8 +573,8 @@ optional = false
python-versions = ">=3.5"
[package.extras]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
lint = ["docutils-stubs", "mypy", "flake8"]
[[package]]
name = "sphinxcontrib-serializinghtml"
@@ -585,8 +585,8 @@ optional = false
python-versions = ">=3.5"
[package.extras]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
lint = ["docutils-stubs", "mypy", "flake8"]
[[package]]
name = "sphinxcontrib-youtube"
@@ -601,7 +601,7 @@ requests = "*"
Sphinx = ">=0.6"
[package.extras]
doc = ["furo", "sphinx-copybutton"]
doc = ["sphinx-copybutton", "furo"]
[[package]]
name = "tornado"
@@ -677,13 +677,8 @@ argh = [
{file = "argh-0.26.2-py2.py3-none-any.whl", hash = "sha256:a9b3aaa1904eeb78e32394cd46c6f37ac0fb4af6dc488daa58971bdc7d7fcaf3"},
{file = "argh-0.26.2.tar.gz", hash = "sha256:e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65"},
]
atomicwrites = [
{file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"},
]
attrs = [
{file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"},
{file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"},
]
atomicwrites = []
attrs = []
babel = [
{file = "Babel-2.10.3-py3-none-any.whl", hash = "sha256:ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb"},
{file = "Babel-2.10.3.tar.gz", hash = "sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51"},
@@ -692,14 +687,8 @@ beautifulsoup4 = [
{file = "beautifulsoup4-4.11.1-py3-none-any.whl", hash = "sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30"},
{file = "beautifulsoup4-4.11.1.tar.gz", hash = "sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693"},
]
certifi = [
{file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"},
{file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"},
]
charset-normalizer = [
{file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"},
{file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"},
]
certifi = []
charset-normalizer = []
colorama = [
{file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"},
{file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"},
@@ -712,18 +701,12 @@ docutils = [
{file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"},
{file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"},
]
idna = [
{file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
{file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
]
idna = []
imagesize = [
{file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"},
{file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"},
]
importlib-metadata = [
{file = "importlib_metadata-5.0.0-py3-none-any.whl", hash = "sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43"},
{file = "importlib_metadata-5.0.0.tar.gz", hash = "sha256:da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab"},
]
importlib-metadata = []
jinja2 = [
{file = "Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8"},
{file = "Jinja2-3.0.3.tar.gz", hash = "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"},
@@ -773,10 +756,7 @@ markupsafe = [
{file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"},
{file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"},
]
more-itertools = [
{file = "more-itertools-9.0.0.tar.gz", hash = "sha256:5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab"},
{file = "more_itertools-9.0.0-py3-none-any.whl", hash = "sha256:250e83d7e81d0c87ca6bd942e6aeab8cc9daa6096d12c5308f3f92fa5e5c1f41"},
]
more-itertools = []
packaging = [
{file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
{file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
@@ -795,10 +775,7 @@ py = [
{file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
{file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
]
pygments = [
{file = "Pygments-2.13.0-py3-none-any.whl", hash = "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42"},
{file = "Pygments-2.13.0.tar.gz", hash = "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"},
]
pygments = []
pyparsing = [
{file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"},
{file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"},
@@ -807,10 +784,7 @@ pytest = [
{file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"},
{file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"},
]
pytz = [
{file = "pytz-2022.5-py2.py3-none-any.whl", hash = "sha256:335ab46900b1465e714b4fda4963d87363264eb662aab5e65da039c25f1f5b22"},
{file = "pytz-2022.5.tar.gz", hash = "sha256:c4d88f472f54d615e9cd582a5004d1e5f624854a6a27a6211591c251f22a6914"},
]
pytz = []
pyyaml = [
{file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
{file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
@@ -885,10 +859,7 @@ sphinx-copybutton = [
sphinx-multiversion-scylla = [
{file = "sphinx-multiversion-scylla-0.2.10.tar.gz", hash = "sha256:b54d664ecedcf45b98d6be1e939eac596719daa514e4a35f58d8e6330fb05d22"},
]
sphinx-notfound-page = [
{file = "sphinx-notfound-page-0.8.3.tar.gz", hash = "sha256:f728403280026b84c234540bebbed7f710b9ea582e7348a35a5becefe4024332"},
{file = "sphinx_notfound_page-0.8.3-py2.py3-none-any.whl", hash = "sha256:c4867b345afccef72de71fb410c412540dfbb5c2de0dc06bde70b331b8f30469"},
]
sphinx-notfound-page = []
sphinx-scylladb-theme = [
{file = "sphinx-scylladb-theme-1.2.1.tar.gz", hash = "sha256:55923651acb74988755fd818175999e953e018d372cb778dd5120b03f71fe5ab"},
{file = "sphinx_scylladb_theme-1.2.1-py3-none-any.whl", hash = "sha256:2666a6990c87c9601beb0c49f118e87d03b27c248ad263e553c3c9dbd9247ec9"},
@@ -945,14 +916,8 @@ tornado = [
{file = "tornado-6.2-cp37-abi3-win_amd64.whl", hash = "sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b"},
{file = "tornado-6.2.tar.gz", hash = "sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13"},
]
typing-extensions = [
{file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"},
{file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"},
]
urllib3 = [
{file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"},
{file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"},
]
typing-extensions = []
urllib3 = []
watchdog = [
{file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"},
{file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d"},
@@ -984,7 +949,4 @@ wcwidth = [
{file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
{file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
]
zipp = [
{file = "zipp-3.9.0-py3-none-any.whl", hash = "sha256:972cfa31bc2fedd3fa838a51e9bc7e64b7fb725a8c00e7431554311f180e9980"},
{file = "zipp-3.9.0.tar.gz", hash = "sha256:3a7af91c3db40ec72dd9d154ae18e008c69efe8ca88dde4f9a731bb82fe2f9eb"},
]
zipp = []

View File

@@ -14,64 +14,89 @@ DIY Guide
Raspberry Pi Board
By popular demand, we are pleased to present this "Do it Yourself" (DIY) guide for the Start9 Embassy personal server!
Start9 is committed to ensuring that embassyOS is accessible. It will always be possible to build a comprable device to those sold in the Start9 Store. You can use the following guide to build your own Embassy One with readily available hardware. If any links are broken or sold out, please :ref:`let us know<contact>`.
Motivation
----------
There are several reasons you might prefer to build your own Embassy instead of purchasing one from us:
#. You already own the necessary hardware and would like to re-purpose it.
#. You live outside the US and want to save on shipping costs.
#. You want to save on shipping or import costs to your location.
#. You do not trust Start9's supply chain.
#. You do not want to share your shipping address.
#. You just like building things.
#. You like building things.
Hardware
--------
The first thing you'll need to do is gather the hardware and assemble it.
Parts
.....
=====
#. `Geekworm NASPi v2.0 <https://geekworm.com/products/geekworm-naspi-2-5-sata-hdd-ssd-kit-for-raspberry-pi-4-model-b?_pos=2&_sid=06be31b61&_ss=r&variant=39426059731032>`_ ~$60 USD
* `Raspberry Pi 4B (8GB) <https://raspberrypi.org/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-8gb>`_
* `Power supply for Raspberry Pi 4B <https://raspberrypi.org/products/type-c-power-supply/>`_ Make sure this is at minimum 15w and 3a.
* Case for Raspberry Pi 4B (`passive cooling <https://www.amazon.com/Geekworm-Raspberry-Aluminum-Passive-Heatsink/dp/B07Z6FYHCH/>`_ is recommended). This means no moving parts and no noise.
- It is important to get the 2.0 version as it has the ability to power back on automatically following a power outage.
- MAKE SURE YOU GET THE CORRECT POWER SUPPLY FOR YOUR REGION
.. warning:: If you prefer to use a fan, **do not** use the official Raspberry Pi fan, as it requires the same GPIO pins as the audio speaker. Instead, we recommend `this fan <https://www.amazon.com/Raspberry-iUniker-30x30x7mm-Brushless-RetroFlag/dp/B076H3TKBP/>`_.
#. `Raspberry Pi 4 (8GB RAM model) <https://www.amazon.com/LANDZO-Raspberry-Pi-Model-8gb/dp/B08R87H4RR/>`_ ~$75-200 USD
* A `32GB microSD card <https://www.amazon.com/dp/B07P14QHB7>`_ (no need for bigger).
* `GPIO mini speaker/buzzer <https://www.amazon.com/Corporate-Computer-Motherboard-Internal-Speaker/dp/B01527H4W2/>`_ (These often sell out, please let us know if this link needs to be refreshed)
* Ethernet cable
* MicroSD to USB adapter (or you may have a microSD port on your computer)
* SSD (minimum 1TB) that `connects over USB 3.0` This can be an `external drive <https://www.samsung.com/us/computing/memory-storage/portable-solid-state-drives/>`_, or an `internal drive <https://www.amazon.com/Crucial-MX500-NAND-SATA-Internal/dp/B078211KBB>`_ with an `USB enclosure <https://www.amazon.com/gp/product/B01LY97QE8>`_. Currently the only tested and supported external drives are the Samsung T5 and T7
- These have more than doubled in price in 2022. You may want to shop around, or buy used if need be.
#. `Internal SSD (1TB minimum) <https://www.amazon.com/Crucial-MX500-NAND-SATA-Internal/dp/B078211KBB>`_ ~$80 USD+
- 1TB minimum is recommended, however this all depends on your use-case.
- 1TB is plenty for a full Bitcoin/Lightning stack OR a good amount of file storage, but not both if you want your device to be useful for years to come. 2TB or more is recommended if it is in your budget. You can always upgrade this later, and storage keeps getting cheaper.
#. `SD Card (32GB) <https://www.amazon.com/dp/B07P14QHB7>`_ ~$10 USD
- A larger size is not necessary as it adds no benefit.
#. `Ethernet Cable (Cat5 or Cat6) <https://www.amazon.com/Monoprice-Flexboot-Ethernet-Patch-Cable/dp/B00AJHBZLM/>`_ ~$2 USD
- You may have one laying around. Keep in mind the length you will require, e.g., how far away will your Embassy be from your router? 3-6ft is normally plenty.
#. `Speaker <https://www.amazon.com/Corporate-Computer-Motherboard-Internal-Speaker/dp/B01527H4W2/>`_ ~$5 USD
- Not strictly required, but HIGHLY recommended.
#. `2-Pin Male-to-Male Power Wire <https://geekworm.com/products/usb3-0-connector?variant=33744636674136>`_ ~$5 USD
- Required if using a speaker or Noctua fan.
#. (Optional) `Noctua NF-A4x10 5v Fan (Get all below) <https://www.amazon.com/Noctua-Cooling-Bearing-NF-A4X10-FLX-5V/dp/B00NEMGCIA/>`_ ~$15 USD
- Recommended over the less-than-great Geekworm factory fan.
- None of the included screws are long enough, so you will need 2 screws (M3-.50x12), available online or at any hardware store for <$1 USD.
- 2x Male-to-Female jumper wires - unfortunately these only come in high quantities, so you may want to organize a group buy. ~$9
#. (Optional) MicroSD to USB adapter
- For flashing the OS. Not necessary if you have a way to mount an SD card already, such as an SD card slot on a laptop.
Estimated total cost:
- ~$375-460+ with 1-2TB of storage
Assembly
........
========
You can follow along with this `written guide <https://start9dave.substack.com/p/embassy-one-diy-guide>`_ and/or our assembly video below:
#. Insert mini speaker/buzzer into GPIO pins 6/8/10/12 with the word "speaker" facing out, `away from the board`.
.. youtube:: Z1EW1TVgtow
:width: 100%
.. figure:: /_static/images/diy/pins.png
:width: 60%
:alt: Speaker board spec
#. Place the Raspberry Pi 4 board (with speaker attached), into its case.
#. Plug in the external drive to one of the USB 3.0 (blue) slots
Getting EmbassyOS
-----------------
After building your device, you need a copy of EmbassyOS.
* Download the latest release of EmbassyOS from `our github <https://github.com/start9labs/embassy-os/releases/latest>`_, scroll to the Assets section, and download eos.tar.gz.
- Download the latest release of EmbassyOS from `our github <https://github.com/start9labs/embassy-os/releases/latest>`_, scroll to the Assets section, and download eos.tar.gz.
- This will soon be available as a more convenient download from our website.
Installing EmbassyOS
--------------------
Whether you purchase EmbassyOS from us or build it yourself, you'll need to flash it onto a microSD card.
#. Download `balenaEtcher <https://www.balena.io/etcher/>`_ onto your Mac, Windows, or Linux computer.
#. Insert the microSD card into your computer, either directly or using an adapter.
#. Open balenaEtcher.
@@ -86,3 +111,10 @@ Whether you purchase EmbassyOS from us or build it yourself, you'll need to flas
#. Click "Flash!". You may be asked to (1) approve the unusually large disk target or (2) enter your password. Both are normal.
#. After the flash completes, you may remove the micro SD from the adapter, insert it into your Embassy's SD card slot, and continue to the :ref:`Initial Setup <initial-setup>` instructions.
Upgrading from an External Drive Setup
--------------------------------------
If you already have an Embassy with an external drive, you can follow along from the `written guide appendix <https://start9dave.substack.com/i/68242394/appendix-transfer-embassy-from-existing-case>`_ and/or check out the video below:
.. youtube:: 355BENA42s8
:width: 100%

View File

@@ -6,14 +6,12 @@ Flashing
Getting EmbassyOS
-----------------
After building your device, you need a copy of EmbassyOS.
* Visit the `latest EmbassyOS release page on Github <https://github.com/Start9Labs/embassy-os/releases/latest>`_ to download an image of EmbassyOS. It is `eos.tar.gz`.
Installing EmbassyOS
--------------------
Once you have the EmbassyOS image, you will need to flash it onto a microSD card.
#. Download `balenaEtcher <https://www.balena.io/etcher/>`_ onto your Linux, Mac, or Windows computer.