diff --git a/poetry.lock b/poetry.lock index 5f70f65..b728244 100644 --- a/poetry.lock +++ b/poetry.lock @@ -72,7 +72,7 @@ python-versions = ">=3.6" [[package]] name = "charset-normalizer" -version = "2.1.0" +version = "2.1.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" optional = false @@ -621,16 +621,15 @@ python-versions = ">=3.7" [[package]] name = "urllib3" -version = "1.26.11" +version = "1.26.12" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4" [package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] -secure = ["ipaddress", "certifi", "idna (>=2.0.0)", "cryptography (>=1.3.4)", "pyOpenSSL (>=0.14)"] -brotli = ["brotlipy (>=0.6.0)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "urllib3-secure-extra", "ipaddress"] [[package]] name = "watchdog" @@ -697,8 +696,8 @@ certifi = [ {file = "certifi-2022.6.15.tar.gz", hash = "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d"}, ] charset-normalizer = [ - {file = "charset-normalizer-2.1.0.tar.gz", hash = "sha256:575e708016ff3a5e3681541cb9d79312c416835686d054a23accb873b254f413"}, - {file = "charset_normalizer-2.1.0-py3-none-any.whl", hash = "sha256:5189b6f22b01957427f35b6a08d9a0bc45b46d3788ef5a92e978433c7a35f8a5"}, + {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"}, + {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, ] colorama = [ {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, @@ -950,8 +949,8 @@ typing-extensions = [ {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, ] urllib3 = [ - {file = "urllib3-1.26.11-py2.py3-none-any.whl", hash = "sha256:c33ccba33c819596124764c23a97d25f32b28433ba0dedeb77d873a38722c9bc"}, - {file = "urllib3-1.26.11.tar.gz", hash = "sha256:ea6e8fb210b19d950fab93b60c9009226c63a28808bc8386e05301e25883ac0a"}, + {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, + {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] watchdog = [ {file = "watchdog-2.1.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330"}, diff --git a/site/source/_static/images/setup/pw_reset-s4-importing_drive.jpg b/site/source/_static/images/setup/pw_reset-s4-importing_drive.jpg new file mode 100644 index 0000000..9d5ebd1 Binary files /dev/null and b/site/source/_static/images/setup/pw_reset-s4-importing_drive.jpg differ diff --git a/site/source/_static/images/setup/pw_reset-s5-set_password.jpg b/site/source/_static/images/setup/pw_reset-s5-set_password.jpg new file mode 100644 index 0000000..0421c21 Binary files /dev/null and b/site/source/_static/images/setup/pw_reset-s5-set_password.jpg differ diff --git a/site/source/_static/images/setup/pw_reset-s6-reset_complete.jpg b/site/source/_static/images/setup/pw_reset-s6-reset_complete.jpg new file mode 100644 index 0000000..7fc9634 Binary files /dev/null and b/site/source/_static/images/setup/pw_reset-s6-reset_complete.jpg differ diff --git a/site/source/support/common-issues.rst b/site/source/support/common-issues.rst index 8f81d05..c11ba88 100644 --- a/site/source/support/common-issues.rst +++ b/site/source/support/common-issues.rst @@ -43,7 +43,7 @@ Make sure you have successfully followed the :ref:`LAN Setup` in I am unable to reach Embassy via it's xxxxxxxxxxxxxxxxxx.onion (Tor) address -------------------------------------------------------------------------------- -#. **Test** - Try connecting to your Embassy using the officially preferred :ref:`Tor Browser `. +#. **Test** - Try connecting to your Embassy using the preferred :ref:`Tor Browser `. #. **If Tor Browser works** - It means the issue is either with the Tor daemon on your device or with the browser settings. diff --git a/site/source/support/faq/faq-basic-use.rst b/site/source/support/faq/faq-basic-use.rst index 4db2d29..ac1b5cf 100644 --- a/site/source/support/faq/faq-basic-use.rst +++ b/site/source/support/faq/faq-basic-use.rst @@ -23,7 +23,7 @@ Yes, but there is currently no way to synchronize or federate them. We are work What if I forget my Embassy password? ------------------------------------- -Password reset flow is coming in the eOS v0.3.1 release! If you need to reset your password in the meantime, please contact support. +Please follow the :ref:`password reset guide`. My Embassy is set up, now what? ------------------------------- @@ -55,10 +55,6 @@ What can I do if I am having issues connecting to a mobile app over Tor? ------------------------------------------------------------------------ Unfortunately, Orbot can be finicky. The best solution to connection issues is normally to restart Orbot, or to reboot the phone. This will solve most common problems. -What can I do if I am having issues connecting with Consulate? --------------------------------------------------------------- -In the top right menu, select 'Clear Cache.' If this does not solve the problem, delete the bookmarked site entirely, then re-add it. This will solve most connection issues. - If I uninstall a service, then re-install it, does any data remain? ------------------------------------------------------------------- No. When uninstalling a service, you completely destroy everything associated with it. This is because each service runs in it's own 'container', which includes all the required software and operating system environment that it needs to function. When uninstalling, this container is wiped from your Embassy's system, and with it, any associated service data that you have not backed up. @@ -71,13 +67,13 @@ No, you don't need to delete the old backups. The technology we use updates the Can I clone my Embassy SSD for backup purposes? ----------------------------------------------- -.. warning:: **DO NOT do this if you are running LND or c-lightning**. If you clone the SSD, then go back to running LND or c-lightning, and you *ever* try to restore the SSD, there is a good chance you will lose *all your channel funds*. Also, if you try to use the SSD for a 2nd Embassy, that will also result in loss of funds. This has nothing to do with Start9 or the Embassy; it is inherent to the architecture of Lightning. +.. warning:: **DO NOT do this if you are running LND or CLN**. If you clone the SSD, then go back to running LND or CLN, and you *ever* try to restore the SSD, there is a good chance you will lose *all your channel funds*. Also, if you try to use the SSD for a 2nd Embassy, that will also result in loss of funds. This has nothing to do with Start9 or the Embassy; it is inherent to the architecture of Lightning. It is neither necessary, nor recommended to do this. The backup solution available in EmbassyOS (v0.3.0+) allows all data to be written to another drive remotely, and this can mean another SSD, attached to a computer on your network. You may also do a backup to a local drive if it has external power. Please follow the directions in the backup UI for more details. -Why would I even buy this when I can just build it for free?? -------------------------------------------------------------- -(1) White glove support. Because each Embassy comes with a unique product key engraved on it, and we have a record of all product keys, we can ask the user to verify their product key in order to receive a higher tier of support, such as phone calls. +Why would I even buy this when I can just build it for free? +------------------------------------------------------------ +(1) You will get white glove support in your preferred format, from email to text chat to screen sharing conference calls. (2) Supporting the project. Buying an Embassy from Start9 is your way of supporting the development of the project. And it's not just out of gratitude, but rather, a recognition that if the project isn't funded, the cool software stops coming. @@ -86,3 +82,7 @@ Why would I even buy this when I can just build it for free?? Bottom line...We are charging a very marginal rate for something incredibly powerful, and we think the convenience of a plug-and-play device, free service marketplace, and free white glove support is where the money is. Anyone could build their own couches too, but here is a reason furniture stores exist. How much is your time worth? The fastest way to get support is via our :ref:`Community channels`. You can also `email us `_. Please do not hesitate to reach out! + +I bought an Embassy before Q3 2022 and it came with a 'product key,' what is that? +---------------------------------------------------------------------------------- +This will entitle you to white glove support as well as future benefits yet to be announced. \ No newline at end of file diff --git a/site/source/support/faq/faq-bitcoin.rst b/site/source/support/faq/faq-bitcoin.rst index 2699b16..5ee5f25 100644 --- a/site/source/support/faq/faq-bitcoin.rst +++ b/site/source/support/faq/faq-bitcoin.rst @@ -47,13 +47,7 @@ Even if your wallet is plugged into your Embassy, whether your wallet is hot or How does Bitcoin Proxy request (and verify) data when that data is needed by some app using it? ----------------------------------------------------------------------------------------------- -Proxy fetches blocks from your pruned node if it still has them, and fetches them from peers when it does not. Proxy can ensures the fetched block is valid by comparing it to its header, which is retained by the pruned node. The header is a product of the hash of the block itself, amongst other things, so it can't be tampered with. - -What is the difference between the Bitcoin Wallet Tracker and the Electrum Personal Server? -------------------------------------------------------------------------------------------- -Bitcoin Wallet Tracker and Electrum Personal Server are 2 services that do the same thing, similar to bitcoind vs btcd, or lnd vs c-lightning. -Both work with your Bitcoin node to provide a richer set of information to wallets than could be done with bitcoind alone. They are basically identical in purpose, their differences are notably in the software memory requirements and how snappily they can answer the same questions. -Electrum (and some other wallets) require more than just a Bitcoin node to run in a sovereign way, they require an “Electrum Server”. Both Electrum Personal Server and Bitcoin Wallet Tracker are “Electrum servers”. +Proxy fetches blocks from your pruned node if it still has them, and fetches them from peers when it does not. Proxy can ensure the fetched block is valid by comparing it to its header, which is retained by the pruned node. The header is a product of the hash of the block itself, amongst other things, so it can't be tampered with. How do I use Bitcoin Core as a wallet? -------------------------------------- @@ -61,7 +55,7 @@ Bitcoin Core is a full node that also contains wallet functionality. Some will You can use the wallet in Bitcoin Core, however it is for advanced users and is only available in the command line via SSH. It is helpful to think of the Bitcoin Core service on the Embassy as your own personal Bitcoin Server. This is your own verified source of truth of the Bitcoin ledger, that requires no permission for you to set up and own. The job of your Bitcoin server is to verify that the transactions you want to make and receive are valid. -There are modern wallets that have the ability to use your personal Bitcoin node as a source of truth, and with the advantages of additional security and advanced features. This also follows the Linux mantra of "do one thing and do it well." The recommended way to use Bitcoin with your Embassy’s Bitcoin node is with an external wallet. +There are modern wallets that have the ability to use your personal Bitcoin node as a source of truth, and with the advantages of additional security and advanced features. This also follows the Unix mantra of "do one thing and do it well." The recommended way to use Bitcoin with your Embassy’s Bitcoin node is with an external wallet. The available wallets are listed in the following FAQ. Which wallets can I use that sync with my Embassy Bitcoin and/or Lightning nodes? diff --git a/site/source/support/faq/faq-embassy.rst b/site/source/support/faq/faq-embassy.rst index de739b1..06de761 100644 --- a/site/source/support/faq/faq-embassy.rst +++ b/site/source/support/faq/faq-embassy.rst @@ -12,23 +12,23 @@ Can I run EmbassyOS on a VPS or VM? ----------------------------------- Possibly, but we currently advise against this. It is designed to be used on a RaspberryPi, and at the moment this is the only supported way to run EOS. -Is it possible to use the EmbassyOS on my own hardware? -------------------------------------------------------- +Is it possible to use EmbassyOS on my own hardware? +--------------------------------------------------- Yes! The :ref:`DIY Guide ` will take you through the setup steps. This option is great for people who already own the necessary hardware or who live outside the US and want to save on shipping and customs fees. Additionally, EmbassyOS is available to build from source under the Start9 Personal Use :ref:`License`. If you have the time and energy, it is possible to download and compile EmbassyOS yourself, for free, with the caveat that your “Embassy” will not have a product key generated by us. This means you will miss out on the perks that come along with purchasing from us, which will grow over time. -Do I plug the Embassy into my computer? +Do I plug my Embassy into my computer? --------------------------------------- -No. The Embassy only needs to be plugged into power and internet, just like your router. You can set it up right by your router and, similar to a router, generally forget about it. +No. Your Embassy only needs to be plugged into power and internet, just like your router. You can set it up right by your router and, similar to a router, generally forget about it. Do I plug in a monitor, keyboard, and mouse? -------------------------------------------- No. Embassy is headless (has no display), and is accessed via the web browser. -How much storage does the Embassy have? ---------------------------------------- -Currently, the Embassy ships with a 1 or 2TB SSD, but you may use a larger drive if you prefer. We advise against HDDs at this time for perfomance reasons. +How much storage does Embassy have? +----------------------------------- +Currently, Embassy ships with a 1 or 2TB SSD, but you may use a larger drive if you prefer. We advise against HDDs at this time for perfomance reasons. Are my Internet requests anonymous and secure? ---------------------------------------------- @@ -42,29 +42,29 @@ Can multiple Embassies be setup to run redundantly in physically separate locati ------------------------------------------------------------------------------------ Currently no, but we have plans for a feature that will enable Embassies to provide encrypted, automated backup services for one another. -How does the Embassy compare to other Bitcoin nodes or personal servers? +How does Embassy compare to other Bitcoin nodes or personal servers? ------------------------------------------------------------------------ The cheapest way to run a Bitcoin/Lightning node is to buy a Raspberry Pi (or equivalent), compile the software from source yourself, and host everything on Tor. This takes even technical people significant time to accomplish. On the other end of the spectrum is something like Embassy, which "just works". In between is stuff like MyNode, Nodl, RoninDojo, Umbrel, and Raspiblitz, which all require some degree of command line effort and network configuration. The biggest benefit of Embassy is that it is infinitely extensible to all of open-source, self-hosted software. The service listing will expand enormously over time in ways the other platforms may choose not to, or have difficulty implementing. -Would you consider (Umbrel, Nodl, RoninDojo, etc) a competitor to you guys, or are they different enough to be compatible? +Would you consider (Umbrel, Nodl, RoninDojo, etc) a competitor to Embassy, or are they different enough to be compatible? -------------------------------------------------------------------------------------------------------------------------- Other node devices are competitors, and there are distinct trade-offs to each platform, but we are definitely moving toward the same future, which is a win for everyone! We are taking more a general approach to all of open-source, hosted software, including Bitcoin/Lightning. The aforementioned examples are more Bitcoin/Lightning focused. Is a more powerful device in the works?? ---------------------------------------- -Yes, we are now taking `pre-orders `_ for the Embassy:Pro, which will be the new standard in personal servers! Additionally, EmbassyOS will eventually be capable of running on lots of different hardware, such as an old desktop. We want EmbassyOS to be widely available and accessible. +Yes, we are now taking `pre-orders `_ for Embassy Pro, which will be the new standard in personal servers! Additionally, EmbassyOS will eventually be capable of running on lots of different hardware, such as an old desktop. We want EmbassyOS to be widely available and accessible. -Is there an ETA on the Embassy:Pro? ------------------------------------ +Is there an ETA on the Embassy Pro release date? +------------------------------------------------ R&D is in progress, and we have already secured the hardware. We anticipate shipping in Q3 2022. Check our :ref:`Community Channels` for the latest updates. Can I mine Bitcoin with this? ----------------------------- No, you can not. -Does the Embassy only work over Tor? No http or VPN? ----------------------------------------------------- +Does Embassy only work over Tor? No http or VPN? +------------------------------------------------- Embassy's current primary communication is over Tor. In many cases we use HTTP over Tor (they are not mutually exclusive), you can see this by navigating to the Tor address in a browser and see the “http” in front of it. A VPN is a feature we're exploring as an alternative to Tor to make things faster without meaningfully impacting privacy. You can also connect directly via LAN if you are on the same network as your device. What if someone gets physical access to my device, can they read the contents? Is it encrypted? diff --git a/site/source/support/faq/faq-troubleshooting.rst b/site/source/support/faq/faq-troubleshooting.rst index 7ecd158..7679007 100644 --- a/site/source/support/faq/faq-troubleshooting.rst +++ b/site/source/support/faq/faq-troubleshooting.rst @@ -22,7 +22,7 @@ Yes, the Embassy's case is actually doing 'double duty' as a heat sync. This me I'm trying to migrate my old Embassy data, but the device won't boot. What do I do? ------------------------------------------------------------------------------------ -Remove the external drive and sd card adapter if they are plugged in. Boot the device with just the new (16GB) sd card inserted. After you hear the start-up sounds, you may plug in the external drive and old (128GB) sd card. +Remove the external drive and sd card adapter if they are plugged in. Boot the device with just the new (32GB) sd card inserted. After you hear the start-up sounds, you may plug in the external drive and old (128GB) sd card. I cannot reach embassy.local after hearing the start-up sounds from Embassy. What do I do? ------------------------------------------------------------------------------------------- @@ -56,17 +56,13 @@ Nothing special is required, however, it is best practice to use good passwords, What if I have an unique network issue, for example, with a firewall? --------------------------------------------------------------------- -The Embassy is designed to work as simply as possible, for as many as possible, while providing the ability to self-host in a private manner. If you have an agressive or custom firewall, or other custom network settings, there is a good chance that addtional configuration may be necessary. We will continue to learn about custom networking issues, update our docs with resources, and help in the :ref:`Community Channels ` to the best of our ability. +Embassy is designed to work as simply as possible, for as many as possible, while providing the ability to self-host in a private manner. If you have an agressive or custom firewall, or other custom network settings, there is a good chance that addtional configuration may be necessary. We will continue to learn about custom networking issues, update our docs with resources, and help in the :ref:`Community Channels ` to the best of our ability. Can I use my Embassy from behind a VPN, for example, if my router has a built-in VPN? ------------------------------------------------------------------------------------- While this is possible, it adds complexity, which may lead to problems. You will need to understand the setup of your router/VPN and how it supports (or doesn't support) Tor/LAN connections. -If you are having trouble with this, you might consider letting the Embassy out "in the clear," since everything is broadcast exclusively across the Tor network, offering a high level of privacy. - -Why am I having trouble using my Embassy via the Brave browser? ---------------------------------------------------------------- -Unfortunately, Brave does not treat .onion addresses in a 'secure context.' This is a well-known issue in Brave that is being tracked `here `_. +If you are having trouble with this, you might consider letting Embassy out "in the clear," since all services are accessible over the Tor network, offering a high level of privacy. Is it true that my device has some limited functionality in regard to Embassy? ------------------------------------------------------------------------------ diff --git a/site/source/user-manual/flashing.rst b/site/source/user-manual/flashing.rst new file mode 100644 index 0000000..e2c0d56 --- /dev/null +++ b/site/source/user-manual/flashing.rst @@ -0,0 +1,33 @@ +.. _flashing: + +======== +Flashing +======== + +Getting EmbassyOS +----------------- + +After building your device, you need a copy of EmbassyOS. + +* Visit the `latest EmbassyOS release page on Github `_ 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 `_ onto your Linux, Mac, or Windows computer. +#. Insert the microSD card into your computer, either directly or using an adapter. +#. Open balenaEtcher. + + .. figure:: /_static/images/diy/balena.png + :width: 60% + :alt: Balena Etcher Dashboard + +#. Click "Select Image" and select your downloaded copy of EmbassyOS. +#. Click "Select Target" and select your 32GB microSD card. + + .. warning:: Be certain you have selected the correct target microSD card. Whatever target you select will be completely erased and replaced with EmbassyOS. + +#. 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 ` or :ref:`Update by reflashing ` instructions. diff --git a/site/source/user-manual/index.rst b/site/source/user-manual/index.rst index 798ba4f..d218958 100644 --- a/site/source/user-manual/index.rst +++ b/site/source/user-manual/index.rst @@ -15,6 +15,8 @@ Welcome to the EmbassyOS user manual. Here you will discover all that your Embas dashboard-overview updating backups/index + flashing + reset-password customize managing-services service-guides/index diff --git a/site/source/user-manual/initial-setup.rst b/site/source/user-manual/initial-setup.rst index e792893..77af8fc 100644 --- a/site/source/user-manual/initial-setup.rst +++ b/site/source/user-manual/initial-setup.rst @@ -77,7 +77,7 @@ Claiming your Device #. Create your *permanent* master password and click "Finish". - .. warning:: There is currently no way to change your password. Choose a strong master password. Write it down. Store it somewhere safe. DO NOT LOSE IT. If you lose this password, you may be forced to reset the device, resulting in permanent loss of data. **This one responsibility is the price of sovereignty.** + .. warning:: Choose a strong master password. Write it down. Store it somewhere safe. DO NOT LOSE IT. .. figure:: /_static/images/setup/setup3.png :width: 60% diff --git a/site/source/user-manual/reset-password.rst b/site/source/user-manual/reset-password.rst new file mode 100644 index 0000000..a4b6fd7 --- /dev/null +++ b/site/source/user-manual/reset-password.rst @@ -0,0 +1,46 @@ +.. _reset-password: + +=================== +Reset Your Password +=================== + +.. contents:: + :depth: 2 + :local: + +#. Obtain the latest copy of EmbassyOS with your product key included, by `downloading it from Github `_. +#. Flash the downloaded image to your microSD card, using :ref:`this guide `. +#. Insert the microSD card into your Embassy and power it on. + + .. note:: Embassy will power up and then initialize. Once complete, you will hear a _bep_ to indicate it is initialized and then a _chime_ sound to indicate it is online. + +#. On your computer, open up a browser and go to http://embassy.local. +#. When prompted, enter your Product Key: + + .. figure:: /_static/images/setup/migrate0.png + :width: 60% + +#. Select "Recover". + + .. figure:: /_static/images/setup/migrate1.png + :width: 60% + +#. As instructed, plug in your EmbassyOS data drive and you will receive a popup declaring that a valid data drive has been detected. Click "Use Drive" from the pop-up. If you don't see the drive, you may get a message asking you to unplug, then plug back in the drive, and refresh the page. + + .. figure:: /_static/images/setup/use-drive.png + :width: 60% + +#. Wait a moment while it reads the data from your drive. + + .. figure:: /_static/images/setup/pw_reset-s4-importing_drive.jpg + :width: 60% + +#. Enter and confirm a new password of at least 12 characters when prompted. Save this password somewhere safe. + + .. figure:: /_static/images/setup/pw_reset-s5-set_password.jpg + :width: 60% + +#. Your password change is complete! + + .. figure:: /_static/images/setup/pw_reset-s6-reset_complete.jpg + :width: 60% diff --git a/site/source/user-manual/updating.rst b/site/source/user-manual/updating.rst index ce3b3ee..fd7dc1c 100644 --- a/site/source/user-manual/updating.rst +++ b/site/source/user-manual/updating.rst @@ -35,11 +35,13 @@ By default, Embassy will automatically check for available updates. To disable t This guide will cover how to recover existing Embassy 0.3.x service and user data (on an SSD) to a new OS install (sd card). +.. _manual-update: + Manual Update by Re-flashing ---------------------------- -#. Obtain the latest copy of EmbassyOS with your product key included, either by `downloading `_ or `building from source `_. -#. Flash the downloaded image to your microSD card. +#. Obtain the latest copy of EmbassyOS with your product key included, either by `downloading `_ or `building from source `_. +#. `Flash the downloaded image <../flashing>`_ to your microSD card. #. Insert the microSD card into your Embassy and power it on. .. note:: Embassy will power up and then initialize, a process of less than 5 minutes if you purchased an image, or about 10-20 minutes if you built from source. Once complete you will hear a _bep_ to indicate it is initialized and then a _chime_ sound to indicate it is online.