Using CoreOS ISO to install

Software

This morning I posted how CoreOS needed more memory than its name implied. I also had an adventure with the installer.

If you look at the official install docs for CoreOS, you install from ISO with this command:

$ sudo su - root
# coreos-install -d /dev/sda

Except you can't. The ISO doesn't contain the production image. Or if it did, it wasn't made clear and/or I couldn't find it.

So I update my networking, to allow it to download.

# ifconfig eth0 <ethernet-ip/24>
# route add default gw <gateway-ip>

Still no dice, it complained it couldn't resolve the address. Shoot yes, I didn't have an entry in resolv.conf.

echo "208.67.220.220" >> /etc/resolv.conf
Still nothing. As John Cleese said of a certain gentleman's walk, this was getting rather silly.

Reading the documentation, you define networking in the following horrible systemd path. So I edited the file:

vim /etc/systemd/network/static.network

And added the following:

[Match]
Name=eth0
[Network]
Address=<ethernet-ip>
Gateway=<gateway-ip>
DNS=208.67.220.220

Then it was simply a matter of restarting networking:

# service network restart
==> -su: service: command not found

Then it was simply a matter of restarting networking, using systemd's more streamlined syntax:

# systemctl restart systemd-networkd

And finally we were cooking with gas.

==> Downloading, writing and verifying coreos_production_image.bin.bz2...

You'll also want to specify a cloud-config as well.

Author bio and support

Me!

Ruben Schade is a technical writer and infrastructure architect in Sydney, Australia who refers to himself in the third person. Hi!

The site is powered by Hugo, FreeBSD, and OpenZFS on OrionVM, everyone’s favourite bespoke cloud infrastructure provider.

If you found this post helpful or entertaining, you can shout me a coffee or send a comment. Thanks ☺️.