--- title: "Install the OpenNebula context package" description: "Install and enable the OpenNebula context package before saving or exporting a node as a custom image, so the image is reachable once it boots." content_type: "how-to" product: "node" platform: "MyAccount" url: "/myaccount/node/how-to/install-the-opennebula-context-package/" topic: ["images-and-snapshots"] --- # Install the OpenNebula context package The OpenNebula context package configures a node's network, hostname, credentials, and SSH keys the first time it boots. A custom image needs this package installed and enabled before you take it; without it, a node launched from the image boots but you cannot reach it. See [Import a custom image](/myaccount/images/how-to/import-a-custom-image/) for the rest of what an import needs. ## Install the context package on the source machine Run the command for your OS before you save or export the image. ### Debian or Ubuntu ```bash frame="none" wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context_6.6.0-1.deb sudo apt update sudo apt --fix-broken install -y sudo dpkg -i one-context_6.6.0-1.deb sudo systemctl enable one-context ``` ### CentOS, Fedora, or RHEL 7 ```bash frame="none" wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-1.el7.noarch.rpm sudo yum install -y epel-release sudo yum install -y one-context-6.6.0-1.el7.noarch.rpm sudo systemctl enable one-context ``` ### Rocky Linux, AlmaLinux, or CentOS 8 and later ```bash frame="none" wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-1.el8.noarch.rpm sudo dnf install -y one-context-6.6.0-1.el8.noarch.rpm sudo systemctl enable one-context ``` ### Fedora ```bash frame="none" wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-1.fc38.noarch.rpm sudo dnf install -y one-context-6.6.0-1.fc38.noarch.rpm sudo systemctl enable one-context ``` ### openSUSE 42 or 15 ```bash frame="none" wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-1.suse.noarch.rpm sudo zypper --no-gpg-check install -y one-context-6.6.0-1.suse.noarch.rpm sudo systemctl enable one-context ``` ### Alpine Linux ```bash frame="none" wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0-r1.apk apk add --allow-untrusted one-context-6.6.0-r1.apk ``` ### FreeBSD 11 or 12 ```bash frame="none" wget https://github.com/OpenNebula/addon-context-linux/releases/download/v6.6.0/one-context-6.6.0_1.txz pkg install -y curl bash sudo base64 ruby open-vm-tools-nox11 pkg install -y one-context-6.6.0_1.txz ``` ### Windows Download and run the installer: ```text https://github.com/OpenNebula/addon-context-windows/releases/download/v5.8.0/one-context-5.8.0.msi ``` Or fetch it from PowerShell first: ```powershell frame="none" (New-Object Net.WebClient).DownloadFile("https://github.com/OpenNebula/addon-context-windows/releases/download/v5.8.0/one-context-5.8.0.msi", "C:\one-context-5.8.0.msi") ``` Then double-click the downloaded file to install it. ## Turn off cloud-init if the machine has it If `cloud-init` is installed on the source machine, disable its service before you take the image; it conflicts with the context package and breaks the node's first boot. Installing `one-context` on Debian or Ubuntu removes `cloud-init` for you. ## Confirm the machine is ready to import The `one-context` service sits inactive after install; E2E starts it during the node's first boot after import. Save or export the image once it is installed, enabled, and, where it applies, `cloud-init` is off. The source machine is now ready to become an image that boots and connects on E2E. Make the image, upload it to a bucket, and follow [Import a custom image](/myaccount/images/how-to/import-a-custom-image/). If a node launched from it still cannot be reached, see [Troubleshooting image import and export](/myaccount/node/troubleshooting/image-import-export/).