2014-01-13 01:26:01 +04:00
< article >
< h1 > Installation< / h1 >
< p > It is recommended currently to only use fedostree inside a
non-essential, disposable virtual machine (or a similar physical
machine).< / p >
< h3 > Installation instructions (inside an existing OS)< / h3 >
< p > First, install the ostree package, of course; make sure you have
ostree 2013.7 or newer.< / p >
< pre >
yum install ostree
< / pre >
< p >
Now, this bit of one time initialization will both
create < tt > /ostree< / tt > for you, as well
as < tt > /ostree/deploy/fedostree< / tt > .
< / p >
< pre >
ostree admin os-init fedostree
< / pre >
< p > This step tells OSTree how to find the repository you built on
the server. You only need to do this once.< / p >
< pre >
ostree remote add --set=gpg-verify=false fedostree http://rpm-ostree.cloud.fedoraproject.org/repo
< / pre >
< p > At this point, we have only initialized configuration. Let's start
by downloading the "minimal" install (just @core):< / p >
< pre >
2014-01-18 07:06:25 +04:00
ostree pull fedostree fedostree/20/x86_64/base/minimal
2014-01-13 01:26:01 +04:00
< / pre >
< p > This step extracts the root filesystem, and updates the bootloader
configuration:< / p >
< pre >
2014-01-18 07:06:25 +04:00
ostree admin deploy --os=fedostree fedostree/20/x86_64/base/minimal
2014-01-13 01:26:01 +04:00
< / pre >
< p > We need to do some initial setup before we actually boot the system.
Copy in the storage configuration:< / p >
< pre >
cp /etc/fstab /ostree/deploy/fedostree/current/etc
< / pre >
< p > And set a root password:< / p >
< pre >
chroot /ostree/deploy/fedostree/current passwd
< / pre >
< p > And there is one final (manual) step: You must copy your system's
kernel arguments from < tt > /boot/grub2/grub.cfg< / tt > and add them to
< tt > /boot/loader/entries/ostree-fedora-0.conf< / tt > , on the < tt > options< / tt >
line. This step may be automated further in the future.
< / p >
< p >
IMPORTANT NOTE: You must use < tt > selinux=0< / tt > for now.
< / p >
< h3 > Booting the system< / h3 >
< p > Remember, at this point there is no impact on your installed system
except for additional disk space in the `/boot/loader` and `/ostree`
directories.< / p >
< p > Reboot, and get a GRUB prompt. At the prompt, press `c`. Now, enter:< / p >
< pre >
insmod blscfg
bls_import
< / pre >
< p > Then press `Esc`. You should have an additional boot menu entry,
named `ostree:fedora:0`. Nagivate to it and press `Enter`.< / p >
< h3 > Inside the system< / h3 >
< p > To upgrade, run as root< / p >
< pre >
ostree admin upgrade
< / pre >
< p > 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.< / p >
< p > But with OSTree, it's possible to atomically transition between
different complete bootable filesystem trees. Let's now try the
< tt > standard-docker-io< / tt > tree:< / p >
< pre >
2014-01-18 07:06:25 +04:00
ostree pull fedostree fedostree/20/x86_64/server/docker-io
2014-01-13 01:26:01 +04:00
< / pre >
2014-01-18 07:06:25 +04:00
< p > If you look at the < a href = "https://github.com/cgwalters/rpm-ostree/blob/master/fedostree/products.json" > products.json< / a > script
2014-01-13 01:26:01 +04:00
you can see this tree contains < tt > @core< / tt > , < tt > @standard< / tt > , and finally
< tt > docker-io< / tt > .
< / p >
< p > Like above, let's now deploy it:< / p >
< pre >
2014-01-18 07:06:25 +04:00
ostree admin deploy --os=fedostree fedostree/20/x86_64/server/docker-io
2014-01-13 01:26:01 +04:00
systemctl reboot
< / pre >
< / article >