# Testing new embassyOS packages without a physical Embassy

**URL:** <https://community.start9.com/t/testing-new-embassyos-packages-without-a-physical-embassy/125>\
**Category:** Guides\
**Tags:** how-to, diy\
**Created:** [January 2, 2023, 10:51pm UTC](https://community.start9.com/t/testing-new-embassyos-packages-without-a-physical-embassy/125 "2023-01-02T22:51:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Spencer](https://community.start9.com/user_avatar/community.start9.com/spencer/32/111_2.png) [@Spencer](https://community.start9.com/u/Spencer)\
**Post date:** [January 2, 2023, 10:51pm UTC](https://community.start9.com/t/testing-new-embassyos-packages-without-a-physical-embassy/125/1 "2023-01-02T22:51:57Z")

</div>

> If you want to start developing packages for embassyOS (eOS), you’ll need a running copy of eOS to deploy and test your packages. eOS _ **can** _ be installed in minutes on [many pieces of hardware](https://community.start9.com/t/known-good-hardware-master-list-hardware-capable-of-running-embassyos-v0-3-3/66/16), but if you don’t have a spare laptop or Raspberry Pi laying around you may want to install eOS on a virtual machine (VM) instead.

### This tutorial will cover:

1. Installing eOS inside a **virt-manager** VM
2. Accessing your eOS instance remotely
3. Creating and sideloading a new package (S9PK)

# Installing eOS on a VM

1. [Download and install virt-manager](https://virt-manager.org/download/)
2. [Download the embassyOS ISO](https://github.com/Start9Labs/embassy-os/releases/download/v0.3.3/embassyos_amd64.iso) from Github (v0.3.3 or later)
3. Open virt-manager
4. Click “create a new virtual machine”  
 ![image](https://community.start9.com/uploads/default/original/1X/14ef8ea1a6dddb0021841fd4bfe0f69754484faf.png)
5. Choose “Local install media” and click _Forward_  
 ![image](https://community.start9.com/uploads/default/original/1X/4da89e24d1d8b8df7fee08c1b2cd30cfead40ed7.png)
6. Click _Browse_ and choose the ISO that you downloaded
7. Uncheck “Automatically detect”, and choose **Ubuntu 22.04 LTS** for your OS. Other versions of Ubuntu will probably work, as well as **Generic Linux**. Click _Forward_.  
 ![image](https://community.start9.com/uploads/default/original/1X/44b6373dd50777227e0991ccb076731ba6d8678d.png)
8. On the next two pages, choose the resources you would like to allocate.

#### [Minimum OS Requirements](https://docs.start9.com/latest/diy/diy-x86#minimum-os-requirements)

- Single vCPU Core 2Ghz
- 4GB RAM
- 64GB Storage (32GB will also work if you’re just doing package development)

#### [Recommended OS Requirements](https://docs.start9.com/latest/diy/diy-x86#id3)

If you intend to run Bitcoin or store any meaningful amount of data, you will need

- Quad-Core CPU 2.5Ghz+
- 8GB+ RAM
- 1TB+ Storage

 ![image](https://community.start9.com/uploads/default/original/1X/423ed1f8982e4999f991549cd4ebcc76414d52a5.png)

 ![image](https://community.start9.com/uploads/default/original/1X/7ee5a8a19ff74f4f1a2d35fd75b19ec9e5de1f42.png)

1. Give the machine a meaningful name and click _Finish_  
 ![image](https://community.start9.com/uploads/default/original/1X/a2b6d71e0ac4f68b1cb418e522838c1b635856b5.png)
2. The VM will open up. Select _install embassyOS_ with your keyboard and hit ENTER  
 ![image](https://community.start9.com/uploads/default/original/1X/871c1d5d6ce8402273fb43d4a74a66a75e2c9e65.png)
3. After a few seconds, a browser window will appear inside the VM. Click the disk (the only disk that will exist is the one you created for the VM) under _Select Disk_, and then click _Install embassyOS_.  
 ![image](https://community.start9.com/uploads/default/original/1X/8570b0f6779b609de322c50b22444199c6c098bf.png)  
You will get a warning that you’re about to erase the disk - that’s fine, there’s nothing on it.
4. You’ll get an _Install Success_ popup. Click _Reboot_.
5. After the reboot, the browser in the VM will show the setup page. If you’re installing for package development, click _Start Fresh_.  
 ![image](https://community.start9.com/uploads/default/original/1X/7060a716682cd4eff548fc1eb08e360e4560d665.png)
6. Select your only storage drive on the next screen.
7. [Choose a password](https://correcthorse.pw/) and click “Finish”.
8. Success! embassyOS is now installed on your VM. It runs inside a browser window!  
Click to login. (You’ll be prompted for your password.)  
 ![image](https://community.start9.com/uploads/default/original/1X/640f1c0a543f51b4fc6e3e911cc3d09262b6274d.png)

# Problems during install

If you happen to cancel out of the install, it won’t boot the installer again until you do the following:

1. Right click the VM and go to `Open`
2. Click the light bulb 💡 to configure the VM
3. Go to `IDE CDROM 1`
4. Under `Source Path`, click Browse
5. Under `final`, select eos-0.3.x-xxxxxxxx\_amd64.iso, and click “Choose Volume”
6. Click `Apply`
7. Go to `Boot Options`
8. Enable `IDE CDROM 1` and position it above `IDE Disk 1`
9. Click `Apply`

# Accessing your eOS instance remotely

> So far, you have been accessing your eOS instance in “Kiosk mode”, meaning you’ve been interacting with eOS directly in the VM. However, eOS is designed to be predominantly accessed via a remote browser. Consequently, the easiest way to test S9PKs is to sideload them onto your eOS instance via your **host’s** browser. This next section will cover connecting to your eOS instance remotely. You can connect over TOR or over LAN, depending on your preference.

## Accessing your eOS instance over TOR

> No setup required, but your connection may be slow.

1. [Download and install](https://www.torproject.org/download/) the TOR browser on your _host_ machine.
2. Your eOS instance already has a TOR address. To find it, open your VM, click _System_ in the sidebar, and then click _About_ under _Insights_. On the _About_ page, find the _TOR address_.
3. Next, you’ll need to copy that TOR address and paste it in your _host’s_ TOR browser.

> Copying and pasting between VM and host will not work by default. To accomplish this, you **could** set up virt-manager to share your host’s clipboard. **However** , this process takes several steps and is highly dependent on your host machine’s configuration, so I won’t be covering it in this tutorial.

> A faster option is to use [CL1P.NET](https://cl1p.net). [CL1P.NET](http://CL1P.NET) is a website that acts like a clipboard; see link for instructions.  
> (**NOTE: [CLIP.NET](http://CLIP.NET) should never be used for private or sensitive info, and should never be used to copy the TOR address of an eOS instance that contains private data. However, if this eOS instance is ONLY for package testing and contains nothing personal, then it’s a fine option.)**

## Accessing your eOS instance over LAN

> Several additional steps are required, but your connection speed will be as fast as possible.

1. Open your VM and log into eOS
2. Open a new tab in your VM’s browser. Navigate to `localhost/public/eos/local.crt`  
Your .crt file should show up in the browser, and should look something like this:  
 ![image](https://community.start9.com/uploads/default/original/1X/2a49041101ccb663056843b014866d6374495b15.png)  
This is the local connection certificate that you will be adding to your _host_ to create a trusted connection. Normally you’d
3. First, you’ll need to copy the entire contents of the .crt file and paste it in a new file on your host.

> Copying and pasting between VM and host will not work by default. To accomplish this, you **could** set up virt-manager to share your host’s clipboard. **However** , this process takes several steps and is highly dependent on your host machine’s configuration, so I won’t be covering it in this tutorial.

> A faster option is to use [CL1P.NET](https://cl1p.net). [CL1P.NET](http://CL1P.NET) is a website that acts like a clipboard; see link for instructions.  
> (**NOTE: [CLIP.NET](http://CLIP.NET) should never be used for private or sensitive info, and should never be used to copy the TOR address of an eOS instance that contains private data. However, if this eOS instance is ONLY for package testing and contains nothing personal, then it’s a fine option.)**

1. Create a new file on your _host_, name it `local.crt`, paste the content, and save it.
2. Now that `local.crt` is on your host, follow [these instructions](https://docs.start9.com/latest/user-manual/connecting/connecting-lan/index#download-root-ca) to add the certificate to your _host_’s browser.
3. Once your certificate has been trusted, open your VM and click _System_ in the sidebar, and then click _About_ under _Insights_. On the _About_ page, find the _LAN address_. It should look something like `https://embassy-abc-def.local/`
4. Open a browser on your _host_ and navigate to that LAN address. You should be able to log in to eOS via this remote browser just as you have been logging in via the VM. This is the browser you’ll use to sideload S9PKs.

# Packaging services (creating S9PKs) and testing them

> Now that you can access eOS in a remote browser, it’s time to make a package.

1. To begin package development, follow [this guide](https://docs.start9.com/latest/developer-docs/packaging).
2. Once you’ve created an S9PK that you’d like to test, you’ll need to log into your eOS instance in your _host_’s browser, and click _Sideload Service_ under _Manage_.
3. Next, upload the .S9PK by dragging and dropping or clicking browse, and click “Upload & Install”.
4. After a few minutes, your S9PK should finish installing, and should be displayed on the services page:  
 ![image](https://community.start9.com/uploads/default/original/1X/6aa9980c323c9c9662757d3bc714b84777272e29.png)  
From here, you can start, stop, and uninstall your new service at will.
