There are a lot of rough edges here, but hopefully this is much better base for folks to start with.
-
Download the most recent ISO
-
Burn it to a USB drive
-
It should boot directly to a terminal. If not, you can open the UEFI shell and boot using that.
- Press F2 to enter BIOS
- Boot > Boot Priority > enable "Internal UEFI Shell"
- Disable secure boot.
- Save & reboot
- Press F10 to enter boot menu
- Check the list of devices for the USB drive. Enter the drive letter, then start the boot efi:
Shell> fs0: fs0:> .\EFI\BOOT\bootx64.efi
-
Run the installer
# THIS WILL REFORMAT THE COMPUTER WITHOUT CONFIRMATION sudo coreos-installer install /dev/nvme0n1
-
Then you can reboot (and remove the USB drive).
sudo reboot
-
Back on your development machine you should add the NUC's IP address to your
/etc/hosts
file and~/.ssh/config
. Be sure to use the machine's actual IP address, which is not always going to be192.168.1.193
.# /etc/hosts 192.168.1.193 substrate.home.arpa
# ~/.ssh/config Host substrate.home.arpa User core IdentityFile ~/.ssh/id_substrate
-
Then visit the root debug shell at: https://substrate:substrate@substrate.home.arpa/debug/shell.
Set a password for the core user (we are no longer using the substrate user), and set your authorized_key with something like:
passwd core # enter a new password su core mkdir -p ~/.ssh/authorized_keys.d cat > ~/.ssh/authorized_keys.d/dev <<EOF ssh-ed25519 ... EOF
-
Build the container images, resourcedirs, and systemd units on the remote machine:
# HACK this is a workaround because we aren't properly mounting the oob files ./remote ssh sudo mkdir -p /run/media/oob/imagestore ./remote ./dev.sh systemd-reload
Under the hood,
./remote ...
will:- Sync your current checkout directly into the
substrate.home.arpa
device. This includes any staged or unstaged changes in tracked files, but not ignored or untracked files. - Run the rest of the command (in this case
./dev.sh systemd-reload
) on the NUC itself
Under the hood,
./dev.sh systemd-reload
will:- Override any substrateos-specific systemd units to match your current checkout (but not all of them)
- Rebuild containers
- Run
systemd daemon-reload
- Restart the substrate service
- Sync your current checkout directly into the
-
On your laptop, visit https://substrate.home.arpa/bridge/. Select your microphone, click "Unmute", and try speaking.
-
After the initial reload, you can limit your build to a specific image. For example:
./remote ./dev.sh systemd-reload bridge