rpm-ostree/fedostree
Colin Walters 05dfc0dd91 fedostree: Add both 20 and rawhide, rework tree names
Refs now look like "fedostree/20/minimal-x86_64".
2014-01-12 13:49:09 -05:00
..
fedostree-make-trees fedostree: Add both 20 and rawhide, rework tree names 2014-01-12 13:49:09 -05:00
fedostree-make-trees-loop fedostree: Handle writing multiple logfiles in -loop 2014-01-04 09:06:50 -05:00
README.md fedostree/README.md: Two updates 2014-01-08 17:31:15 -05:00

fedostree: an instance of rpm-ostree

This project uses rpm-ostree to commit multiple comps groups

Pulling and booting from a client machine

First, install the ostree package, of course; make sure you have ostree 2013.7 or newer.

yum install ostree

Now, this bit of one time initialization will both create /ostree for you, as well as /ostree/deploy/fedostree.

ostree admin os-init fedostree

This step tells OSTree how to find the repository you built on the server. You only need to do this once.

ostree remote add fedostree http://rpm-ostree.cloud.fedoraproject.org/repo

Now, the repository is not GPG signed (yet), so we need to disable GPG verification. Add gpg-verify=false in the [remote] section.

nano /ostree/repo/config

At this point, we have only initialized configuration. Let's start by downloading the "minimal" install (just @core):

ostree pull fedostree fedora/20/minimal

This step extracts the root filesystem, and updates the bootloader configuration:

ostree admin deploy --os=fedostree fedora/20/minimal

We need to do some initial setup before we actually boot the system. Copy in the storage configuration:

cp /etc/fstab /ostree/deploy/fedostree/current/etc

And set a root password:

chroot /ostree/deploy/fedostree/current passwd

And there is one final (manual) step: You must copy your system's kernel arguments from /boot/grub2/grub.cfg and add them to /boot/loader/entries/ostree-fedora-0.conf, on the options line. This step may be automated further in the future.

IMPORTANT NOTE: You must use selinux=0 for now.

Booting the system

Remember, at this point there is no impact on your installed system except for additional disk space in the /boot/loader and /ostree directories.

Reboot, and get a GRUB prompt. At the prompt, press c. Now, enter:

insmod blscfg
bls_import

Then press Esc. You should have an additional boot menu entry, named ostree:fedora:0. Nagivate to it and press Enter.

Inside the system

To upgrade, run as root:

ostree admin upgrade

Note that in our demo so far, we did not install yum (or even rpm). Getting these to work fully is the next phase of the yum-ostree development.

Switching trees

Remember, with OSTree, it's possible to atomically transition between different complete bootable filesystem trees. Let's now try the "standard-docker-io" tree:

ostree pull fedostree fedora/20/standard-docker-io

If you look at the http://209.132.184.226/fedora-ostree-ci, you can see this tree contains @core, @standard, and finally docker-io.

Like above, let's now deploy it:

ostree admin deploy --os=fedostree fedora/20/standard-docker-io
systemctl reboot