惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
B
Blog
月光博客
月光博客
博客园 - 【当耐特】
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
博客园 - Franky
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
B
Blog RSS Feed
H
Help Net Security

seize the dev

Self-Hosted Dynamic DNS Will Software Engineering Survive? Why is the Gmail app 700 MB? Bits of Open-Source in 2025 Parsing JSON in Forty Lines of Awk A Tricky Floating-Point Calculation Improving Date Formatting Performance in Node.js Unix is not Linux A Simple Setup for C and C++ How to Break Software
Installing FreeBSD on Oracle Cloud
Mohamed Akram · 2022-07-31 · via seize the dev

Oracle Cloud has a fairly generous free tier, but one thing it does not include is the ability to use custom images, which require a paid account. This guide will show you how to install FreeBSD (or any custom image) using an alternative method.

Note: For arm64 instances, a FreeBSD image is currently available under the partner images source when creating the instance, so you can skip the steps below unless you need a specific version.

Install

  1. Create two instances in Oracle Cloud using the default image. We will be using one for the FreeBSD server, and a temporary one for the installation process. Make sure to specify your SSH public key when creating the temporary instance.

  2. On the FreeBSD instance page, stop it if it is running, and detach the boot volume.

  3. On the temporary instance page, attach the FreeBSD instance’s boot volume as a block volume. Make sure to select Paravirtualized as the attachment type.

  4. SSH into the temporary instance. Check the path of the newly attach volume. You can do this by running lsblk and seeing which one has nothing mounted on it (it will most likely be /dev/sdb).

    Then, run the following command to install a raw FreeBSD image onto the volume. Modify the release version and the volume path as needed.

    curl https://download.freebsd.org/ftp/releases/VM-IMAGES/13.1-RELEASE/amd64/Latest/FreeBSD-13.1-RELEASE-amd64.raw.xz | xz -dc | sudo dd of=/dev/sdb bs=1M conv=fdatasync
    
  5. Once the process is complete, detach the block volume from the temporary instance.

  6. Re-attach the FreeBSD instance’s boot volume and start the instance.

Setup

Once the FreeBSD instance has booted, we can now configure it.

  1. In the instance’s page, launch a Cloud Shell connection (you may need to press Enter in the console if it appears to be stuck for a while). This will give us preliminary access and allow us to enable SSH on the new server.

  2. Run passwd to set a password for the root user - make sure to choose a strong one.

  3. Create a new user using adduser. When asked to invite the user to other groups, enter wheel to give the user root privileges.

  4. Enable and start the SSH service by running service sshd enable, followed by service sshd start.

  5. Copy your public key from your local machine using ssh-copy-id user@freebsd-instance-ip.

  6. Now you can SSH into your new FreeBSD server and do any additional setup. Enjoy!

Additional Setup

IPv6

To get IPv6 working on a FreeBSD instance on Oracle Cloud, we need support for DHCPv6, which is not yet available in FreeBSD’s DHCP client dhclient. To get around this, we can use the dual-dhclient-daemon package which supports dual-stack DHCP. You can install and enable it with the following:

pkg install dual-dhclient-daemon
sysrc dhclient_program=/usr/local/sbin/dual-dhclient

You will also need to enable IPv6 for your instance in the Oracle Cloud settings.