Commit Graph

58 Commits

Author SHA1 Message Date
Stefan Agner
ce5dfadbd7 docs: extend repository types
Clarify where metadata are stored exactly in the `bare-user` case.
Make the first sentence of `bare-user` and `bare-user-only` paragraph
symetric to make it easier to jump to the right paragraph for readers
in a hury. Stree out that `bare-user-only` may loose metadata.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2020-04-24 13:12:47 +02:00
Stefan Agner
b43c0be347 docs: extend object type documentation
Extend the object type documentation with file endings used for the
individual type. Also clarify in which situation content type objects
are used and why they do not match the SHA256 hash today.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2020-04-24 13:05:15 +02:00
Stefan Agner
b7662aaf33 docs: clarify archive repo type
Today `archive-z2` is still used as the default string to indicate
a `archive` type repository. Make clear that this is the way it is
intended. Otherwise users might think they use an no longer supported
OSTree repository since the mode string is still `archive-z2`.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2020-04-24 13:04:18 +02:00
Cole Robinson
4b644bc671 docs: Fix 'package layering' rpm-ostree link
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-02-10 14:00:11 -05:00
Tristan Cacqueray
82eccad945 docs: fix missing as typo
This change fixes a typo in the adapting-existing doc.

Closes: #1850
Approved by: cgwalters
2019-05-06 13:29:48 +00:00
Tristan Cacqueray
b35f337dc7 docs: fix switchroot source link
This change updates the switchroot source relative url to an absolute url so
that it works from the readthedocs service. This change also removes
redundant switchroot.sh reference.

Closes: #1849
Approved by: cgwalters
2019-05-05 20:38:58 +00:00
Sinny Kumari
cd9138d9a0 atomic-upgrades doc: fix example url to fetch a ref checksum
Signed-off-by: Sinny Kumari <sinny@redhat.com>

Closes: #1795
Approved by: cgwalters
2019-01-02 14:26:03 +00:00
Robert Fairley
417b5c7067 docs: Add Contributing Tutorial to Mkdocs pages
This adds the Contributing Tutorial (contributing-tutorial.md) to
the pages setting of Mkdocs, so that the tutorial will render
in the readthedocs.io documentation.

Closes: #1711
Approved by: jlebon
2018-08-21 14:05:14 +00:00
bubblemelon
4148918655 docs: Add detail to CONTRIBUTING.md and link to tutorial
This adds detailed information on commit message guidelines, a link to the contributing tutorial, and minor typo fixes.

Closes: #1694
Approved by: cgwalters
2018-08-20 15:23:00 +00:00
Robert Fairley
3f1faa4f33 docs: Add contributing tutorial
This adds a tutorial for developing/contributing to OSTree. The following information is included:
- Installing build dependencies for OSTree
- Building OSTree, and running in a container and VM
- Adding a basic command to OSTree, and testing the command
- Suggested git workflows for working with the upstream repo

This is helpful to give new contributors a more detailed introduction to developing OSTree, and an idea of what the workflow looks like.

Closes: #1694
Approved by: cgwalters
2018-08-20 15:23:00 +00:00
Arnaud Rebillout
4b330feed6 docs: var/local -> var/usrlocal
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>

Closes: #1588
Approved by: jlebon
2018-05-15 16:01:05 +00:00
Jonathan Lebon
053efeb23a docs: Add "Hello World" example
Let's get practical faster in the manual and have a simple "Hello World"
example right off the bat to hopefully make it easier to grok how OSTree
works.

Also some minor tweaks on wording around comparisons to git.

Closes: #1581
Approved by: cgwalters
2018-05-08 14:49:59 +00:00
Colin Walters
85c31647cb docs: Dual license under CC BY-SA and the GFDL
This will allow the text to be used in Wikipedia for example; it
also just makes more sense for documentation than the LGPLv2+.

Closes: #1431

Closes: #1432
Approved by: jlebon
2018-02-05 14:31:16 +00:00
William Manley
720e2ec9bc Add support for devicetree files alongside the kernel and initramfs
Much like the (optional) initramfs at
`/usr/lib/ostree-boot/initramfs-<SHA256>` or
`/usr/lib/modules/$kver/initramfs` you can now optionally include a
flattened devicetree (.dtb) file alongside the kernel at
`/usr/lib/ostree-boot/devicetree-<SHA256>` or
`/usr/lib/modules/$kver/devicetree`.

This is useful for embedded ARM systems which need the devicetree file
loaded by the bootloader for the kernel to discover and initialise
hardware.  See https://en.wikipedia.org/wiki/Device_tree for more
information.

This patch was mostly produced by copy-pasting code for initramfs handling
and renaming `s/initramfs/devicetree/g`.  It's not beautiful, but it is
fairly straightforward.

It may be useful to extend device-tree support in a number ways in the
future.  Device trees dependant on many details of the hardware they
support.  This makes them unlike kernels, which may support many different
hardware variants as long as the instruction-set matches.  This means that
a ostree tree created with a device-tree in this manner will only boot on
a single model of hardware.  This is sufficient for my purposes, but may
not be for others'.

I've tested this on my NVidia Tegra TK1 device which has u-boot running
in syslinux-compatible mode.

Closes: #1411
Approved by: cgwalters
2018-01-16 22:54:53 +00:00
Colin Walters
e108bef816 docs/related: Add Balena
It's quite related.

Closes: #1369
Approved by: jlebon
2017-12-07 19:22:55 +00:00
Colin Walters
4cda9f14fb docs/related-projects: Add Google Usenix link
Closes: https://github.com/ostreedev/ostree/issues/1284

Closes: #1299
Approved by: cgwalters
2017-10-21 14:12:02 +00:00
Marcus Folkesson
075e676eb6 docs: mention the $OSTREE_REPO environment variable
$OSTREE_REPO may be set to override the default location
of the repository.

Link: https://mail.gnome.org/archives/ostree-list/2017-October/msg00003.html

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>

Closes: #1282
Approved by: cgwalters
2017-10-18 00:56:36 +00:00
Colin Walters
1e5b06be5b lib/deploy: Add .img to end of initramfs in /usr/lib/modules
Follow up to <https://github.com/ostreedev/ostree/pull/1079>; I was working on
the rpm-ostree updates for this, and I think it's more consistent if we have
`.img` here, since that's a closer match to the "remove $kver" that results in
`vmlinuz`. Also just best practice to have file suffix types where they make
sense.

The astute reader might notice this sneaks in a change where we'd crash if the
legacy bootdir didn't have an initramfs...yeah, should probably have test
coverage of that.

Closes: #1095
Approved by: jlebon
2017-08-21 16:41:50 +00:00
Colin Walters
3ab0d5e664 lib/sysroot: Support /usr/lib/modules/$kver for kernel/initramfs
This is the new Fedora kernel standard layout; it has the advantage
of being in `/usr` like `/usr/lib/ostree-boot`, but it's not OSTree
specific.

Further, I think in practice forcing tree builders to compute the checksum is an
annoying stumbling block; since we already switched to e.g. computing checksums
always when doing pulls, the cost of doing another checksum for the
kernel/initramfs is tiny. The "bootcsum" becomes more of an internal
implementation detail.

Now, there is a transition; my current thought for this is that rpm-ostree will
change to default to injecting into both `/usr/lib/ostree-boot` and
`/usr/lib/modules`, and stop doing `/boot`, then maybe next year say we drop the
`/usr/lib/ostree-boot` by default.

A twist here is that the default Fedora kernel RPM layout (and what's in
rpm-ostree today) includes a kernel but *not* an initramfs in
`/usr/lib/modules`. If we looked only there, we'd just find the kernel. So we
need to look in both, and then special case this - pick the legacy layout if we
have `/usr/lib/modules` but not an initramfs.

While here, rework the code to have an `OstreeKernelLayout` struct which makes
dealing with all of the variables nicer.

Closes: #1079
Approved by: jlebon
2017-08-18 17:34:36 +00:00
Colin Walters
ceeefa69f5 docs/related-projects: Tweak client side snapshot text, add casync
The latter came up on the list.

Closes: #1086
Approved by: jlebon
2017-08-17 16:48:25 +00:00
Lisa St. John
596fc2967e Update introduction.md
Added missing "is" in the first sentence.
Closes: #1067
Approved by: cgwalters
2017-08-09 13:15:44 +00:00
Colin Walters
90e0d56332 tree-wide: Replace various uses of archive-z2archive
The `-z2` is annoying now since it's really a legacy; we've long
since supported typing `archive`.  Convert the docs fully and
explain that.

Also do some (but not all) of the tests just to encourage newer tests to use
`archive` too.

Closes: #980
Approved by: jlebon
2017-06-29 16:00:13 +00:00
Jonathan Lebon
ab7c3fd800 manual: document bare-user-only repo mode
Closes: #903
Approved by: cgwalters
2017-06-02 17:46:16 +00:00
Colin Walters
55603a0c52 Rename "osname" → "stateroot"
I never really liked the term "osname". I feel "stateroot" is a *lot* clearer,
since the osname/stateroot mostly just holds `/var`. Further it avoids the `os`
prefix which is already overloaded.

Some of the existing docs already talked about "operating system state", which
further reinforces this.

There's *lot* more things than this which reference the term "osname", but I
don't want to change *everything* yet in this patch in case we decide to do
something different - this just gets the highlights.

Closes: #794
Approved by: jlebon
2017-04-24 16:09:51 +00:00
Francesco Giannelli
dea2025531 switchroot: Document a bit more, add demo shell implementation
This could help others who want to integrate with other init
systems/initramfs.

Commit-message-by: Colin Walters <walters@verbum.org>

Closes: #784
Approved by: cgwalters
2017-04-19 18:52:05 +00:00
Chen Fan
e9b989f02d doc: fix typo in CONTRIBUTING
Signed-off-by: Chen Fan <fan.chen@easystack.cn>

Closes: #667
Approved by: cgwalters
2017-02-03 19:05:40 +00:00
Jonathan Lebon
2b3076a8a0 docs: update pulp_ostree link
Closes: #657
Approved by: cgwalters
2017-01-26 15:20:54 +00:00
Colin Walters
eceb165013 docs: Fix ostree.version -> version
I think originally I had envisioned this as `ostree.version`, but at the last
minute we changed it to just `version`. That's what all of the code uses, so
let's fix the docs.

Closes: #638
Approved by: paulvt
2016-12-23 15:24:56 +00:00
Abhay Kadam
13360cb1c4 Fix broken link in docs/CONTRIBUTING.md
The link for git-rebase manual contains stray character (])
at the end.

Closes: #592
Approved by: jlebon
2016-11-22 14:00:15 +00:00
Colin Walters
27f37b55bc docs: Link to releng-scripts
Now that the repo starts to implement some of this stuff.

Closes: #544
Approved by: jlebon
2016-10-27 16:28:55 +00:00
Jonathan Lebon
3943284dad docs: amend vmlinuz & initramfs naming convention
I was confused while reading the docs how this could work, since in at
least the Fedora/CentOS/RHEL distros, they're named e.g.
initramfs-`uname -r`-$checksum.

Closes: #529
Approved by: cgwalters
2016-10-14 16:06:08 +00:00
Jonathan Lebon
056ca71a3b docs: add mention of rpm-ostree package layering
Closes: #514
Approved by: cgwalters
2016-09-20 18:45:44 +00:00
Colin Walters
845dc65196 repo: Revert default timestamp from 1 back to 0
Quoting Dan Nicholson in

  <https://github.com/ostreedev/ostree/pull/330#issuecomment-245499099>

  mtime of 0 has been the semantics of ostree deployments from basically
  the beginning of the project. We (and others, see
  flatpak/flatpak@b5204c9) rely on that fact when generating trees.

  In particular, this affects caches that use the mtime of the
  associated file or directory to determine if the cache is valid. By
  arbitrarily changing the mtime of the files to something else, all
  the caches we setup in the build are now invalidated. Preseeding
  caches is really important to the user experience as it avoids
  having the user wait while they're regenerated on first run.

  Now, we could change our build infrastructure to preset all the
  mtimes to 1 to match this change, but what does that do for our
  existing users who are on an ostree that deploys with mtimes of 0?
  We could just revert this change at Endless (and the associated one
  in Flatpak), and that would be fine for our users. However, if we
  point non-Endless users to our apps, they'll have the great
  experience of waiting 10 seconds the first time they launch it while
  the fontconfig cache is rebuilt unnecessarily.

Closes: #495
Approved by: jlebon
2016-09-08 13:35:59 +00:00
Adam Miller
e5cae81404 fix typo in docs/manual/atomic-upgrades.md
Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>

Closes: #460
Approved by: cgwalters
2016-08-12 19:40:53 +00:00
Jonathan Lebon
fa59f5adfb manual/repo.md: reword bits about the summary file
Closes: #459
Approved by: cgwalters
2016-08-11 20:58:07 +00:00
Colin Walters
d49d42b983 docs/formats: Elaborate a bit on delta from NULL usage
See discussion on ostree-list.

Closes: #402
Approved by: gatispaeglis
2016-07-19 17:44:32 +00:00
Colin Walters
cbca341a77 docs: Add a section on Docker
This could have a lot more obviously, but just laying down my thoughts
as a starting point.

Closes: #374
Approved by: jlebon
2016-07-04 13:38:25 +00:00
Colin Walters
d03ae448d0 manual: Discuss mirroring
This should likely be its own section, but it makes enough sense here
for now too.

Closes: #347
Approved by: yuqi-zhang
2016-06-17 14:14:08 +00:00
Colin Walters
85f202d0b2 manual: Link to mender.io
Came out of a discussion on the list.

Closes: #344
Approved by: jlebon
2016-06-15 20:54:55 +00:00
Mathnerd314
04ca15cb0e related-projects: Update with more information and projects
In particular, NixOS has changed somewhat, and Conda is worth
looking at. Also it seems reasonable to mention rpm-ostree /
Gnome Continuous.

Closes: #331
Approved by: cgwalters
2016-06-09 18:36:52 +00:00
Mathnerd314
0e9a875393 repo: use OSTREE_TIMESTAMP (=1) for checked-out files
1 is a better choice than 0 because some programs use 0
as a special value; for example, GNU Tar warns of an
"implausibly old timestamp" with 0.

Closes: #330
Approved by: cgwalters
2016-06-09 18:04:55 +00:00
Micah Abbott
d451b87fbe docs: fix swapped link syntax
A few links in the docs had the Markdown syntax swapped like:

(link title)[link url]

Just cleaned up those.  Verified via `mkdocs serve`

Closes: #297
Approved by: cgwalters
2016-05-12 21:01:54 +00:00
Jonathan Lebon
41661e47e1 small cleanups
- Revert 'cannot' --> 'can not' (it's the exception!)
- Remove duplicate function
- Squelch compiler warnings

Closes: #248
Approved by: cgwalters
2016-04-08 18:43:18 +00:00
Giuseppe Scrivano
e81aabba8c docs: Prefer the form "cannot" to "can not"
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #242
Approved by: cgwalters
2016-04-07 12:25:24 +00:00
Giuseppe Scrivano
3152516ab3 Remove empty new lines at the EOF
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

Closes: #242
Approved by: cgwalters
2016-04-07 12:25:24 +00:00
Krzesimir Nowak
826c2149b8 manual: Fix a bunch of typos and docbookisms
Closes: #238
Approved by: cgwalters
2016-04-04 14:09:00 +00:00
Colin Walters
39777ded54 docs/CONTRIBUTING.md: Update for github move, Homu etc.
Closes: #230
Approved by: jlebon
2016-03-30 16:17:21 +00:00
Colin Walters
a50df5daf7 docs: Add a section on repository management
Just keeping my promise to write more documentation.  There could be a
lot more to write here, but I'm trying to get a start done.

Closes: #222
Approved by: jlebon
2016-03-29 14:10:24 +00:00
Colin Walters
8894bb3949 deploy: Handle a read-only /boot
I'd like to encourage people to make OSTree-managed systems more
strictly read-only in multiple places.  Ideally everywhere is
read-only normally besides `/var/`, `/tmp/`, and `/run`.

`/boot` is a good example of something to make readonly.  Particularly
now that there's work on the `admin unlock` verb, we need to protect
the system better against things like `rpm -Uvh kernel.rpm` because
the RPM-packaged kernel won't understand how to do OSTree right.

In order to make this work of course, we *do* need to remount `/boot`
as writable when we're doing an upgrade that changes the kernel
configuration.  So the strategy is to detect whether it's read-only,
and if so, temporarily mount read-write, then remount read-only when
the upgrade is done.

We can generalize this in the future to also do `/etc` (and possibly
`/sysroot/ostree/` although that gets tricky).

One detail: In order to detect "is this path a mountpoint" is
nontrivial - I looked at copying the systemd code, but the right place
is to use `libmount` anyways.
2016-03-21 12:49:05 -04:00
Colin Walters
b842429bf2 manual: Migrate related projects wiki page into manual
This content currently lives here:
<https://wiki.gnome.org/Projects/OSTree/RelatedProjects>.  Moving it
into the manual in Markdown:

 - Makes it look better
 - It's more useful alongside the rest of the docs
 - Is much less crummy in general than the GNOME wiki
2016-03-18 13:11:54 -04:00