This script will boot the build target root via systemd-nspawn which is
a mighty bit faster than building and booting vm images. :)
Note: systemd-nspwan doesn't do anything special for networking so port
conflicts for things like sshd are to be expected. Works though. :)
Remounting / read-write has been moved to the dev_mode helper script in
coreos-init instead of letting systemd do it based on fstab. Now if a
system boots without /root/.dev_mode the filesystem remains read-only.
During builds var_overlay is always mounted over /var. We want to do the
same at run time but we also want to ensure everything expected to be
there always does. After emerge completes gen_tmpfiles.py will scan /var
for any .keep files that were installed and records their parent
directories' permissions and ownership to /usr/lib/tmpfiles.d. On each
boot systemd will automatically recreate anything that goes missing.
This also means that going forward any ebuild that needs a directory in
/var (or anywhere else the stateful partition is bound) can simply rely
on the 'keepdir' ebuild function instead of adding things to
coreos_startup.
Previously coreos-base handled some sshd and dhcpcd and lacked the
dependencies required to make enabling systemd units work. coreos-init
is a better place for that and has a proper source package so fewer
files are needed in the portage overlay.
Although we aren't using these newer versions other things in the tree
refer to them so this avoids confusing but otherwise harmless warnings
about udev-9999.
Recent versions of udev include an explicit dependency on
>=sys-devel/make-3.82-r4 to fix a parallel compile error. The fix never
made it into the systemd ebuilds but is also required there.
The ebuild previously had a local change to allow it to be built with
python 2.6 that I missed. Restore for now but we should consider
upgrading since gentoo has moved to 2.7.
Adding systemd to base means it will be installed in the SDK in addition
to built images. This should avoid potential confusion that may be
caused by leaving sys-fs/udev in the SDK while it is removed from built
images in favor of systemd 204.
This version requires some dependency updates as well:
dev-util/intltool-0.50.2
sys-apps/baselayout-2.2
sys-apps/hwids-20130329
virtual/udev-197-r3
BIG FAT WARNING: v204 provides udev itself. Packages depending directly
on sys-apps/udev instead of virtual/udev are going have a bad time.
This is the first round of splitting up the coreos_startup script into
multiple units, starting with using systemd to mount the state and oem
partitions. This lets us use systemd to get device dependencies right.
Also cleanup whitespace, I forgot ebuild style requires tab characters.
Sync up -9999 version which I missed in previous commits.
The UUID changed for CoreOS. Make sure we use our own shiny UUID.
Add a doc note that the update should be generated from the "template
image" not from one of the vm images.