mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-21 13:34:34 +03:00
Compare commits
7 Commits
f900197ef3
...
3641894849
Author | SHA1 | Date | |
---|---|---|---|
|
3641894849 | ||
|
8aaea0c65d | ||
|
45ddf3b798 | ||
|
aca6f17ff8 | ||
|
66f5a77ae6 | ||
|
786b38c2cf | ||
|
c9260ffc55 |
@ -1,7 +1,7 @@
|
|||||||
AC_PREREQ([2.63])
|
AC_PREREQ([2.63])
|
||||||
dnl To perform a release, follow the instructions in `docs/CONTRIBUTING.md`.
|
dnl To perform a release, follow the instructions in `docs/CONTRIBUTING.md`.
|
||||||
m4_define([year_version], [2024])
|
m4_define([year_version], [2024])
|
||||||
m4_define([release_version], [10])
|
m4_define([release_version], [11])
|
||||||
m4_define([package_version], [year_version.release_version])
|
m4_define([package_version], [year_version.release_version])
|
||||||
AC_INIT([libostree], [package_version], [walters@verbum.org])
|
AC_INIT([libostree], [package_version], [walters@verbum.org])
|
||||||
is_release_build=no
|
is_release_build=no
|
||||||
|
@ -120,20 +120,25 @@ License along with this library. If not, see <https://www.gnu.org/licenses/>.
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><varname>root.transient</varname></term>
|
<term><varname>root.transient</varname></term>
|
||||||
<listitem><para>A boolean value; the default is <literal>false</literal>.
|
<listitem><para>A boolean value; the default is <literal>false</literal>.
|
||||||
If this is set to <literal>true</literal>, then the <literal>/</literal> filesystem will be a writable <literal>overlayfs</literal>,
|
Setting this flag to <literal>true</literal> requires composefs (See <literal>composefs.enabled</literal>).
|
||||||
with the upper directory being a hidden directory (in the underlying system root filesystem) that will persist across reboots by default.
|
When enabled, the root mount point <literal>/</literal> will be an overlayfs whose contents will be stored
|
||||||
However, changes will <emphasis>be discarded</emphasis> on OS updates!
|
in a tmpfs, and hence discarded on OS upgrade or reboot.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Enabling this option can be very useful for cases such as packages (dpkg/rpm/etc) that write content into <literal>/opt</literal>,
|
This option is independent of <literal>etc.transient</literal> and <literal>sysroot.readonly</literal>;
|
||||||
particularly where they expect the target to be writable at runtime. To make that work, ensure that your <literal>/opt</literal>
|
|
||||||
directory is *not* a symlink to <literal>/var/opt</literal>, but is just an empty directory.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Note the <literal>/usr</literal> mount point remains read-only by default. This option is independent of <literal>etc.transient</literal> and <literal>sysroot.readonly</literal>;
|
|
||||||
it is supported for example to have <literal>root.transient=true</literal> but <literal>etc.transient=false</literal> in which case changes to <literal>/etc</literal> continue
|
it is supported for example to have <literal>root.transient=true</literal> but <literal>etc.transient=false</literal> in which case changes to <literal>/etc</literal> continue
|
||||||
to persist across updates, with the default OSTree 3-way merge applied.
|
to persist across updates, with the default OSTree 3-way merge applied.
|
||||||
</para></listitem>
|
Also related to persistence it is important to emphasize that <literal>/sysroot</literal> (the physical root filesystem) is still persistent
|
||||||
|
by default; in-place OS upgrades can be applied.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Enabling this option can make it significantly easier to adopt an image-based model in some circumstances.
|
||||||
|
For example, if you have a configuration management system that is inspecting machine-specific state and
|
||||||
|
e.g. dynamically installing packages or applying configuration, it can more easily be adapted to
|
||||||
|
run on each boot, while still shifting a portion (or ideally most) image configuration to build time
|
||||||
|
as part of the base image/commit.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><varname>composefs.enabled</varname></term>
|
<term><varname>composefs.enabled</varname></term>
|
||||||
|
@ -25,6 +25,7 @@ script=$(basename ${0})
|
|||||||
# Atomically safe location where to generete grub.cfg when executing system upgrade.
|
# Atomically safe location where to generete grub.cfg when executing system upgrade.
|
||||||
new_grub2_cfg=${2}
|
new_grub2_cfg=${2}
|
||||||
entries_path=$(dirname $new_grub2_cfg)/entries
|
entries_path=$(dirname $new_grub2_cfg)/entries
|
||||||
|
custom_scripts="/etc/ostree.d"
|
||||||
|
|
||||||
read_config()
|
read_config()
|
||||||
{
|
{
|
||||||
@ -105,10 +106,22 @@ timeout=10
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
populate_custom_section()
|
||||||
|
{
|
||||||
|
if [ -d "$custom_scripts" ]; then
|
||||||
|
for script in $(ls -v $custom_scripts/*); do
|
||||||
|
echo -e "\n### BEGIN ${script} ###" >> ${new_grub2_cfg}
|
||||||
|
cat ${script} >> ${new_grub2_cfg}
|
||||||
|
echo -e "\n### END ${script} ###\n" >> ${new_grub2_cfg}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
generate_grub2_cfg()
|
generate_grub2_cfg()
|
||||||
{
|
{
|
||||||
populate_warning
|
populate_warning
|
||||||
populate_header
|
populate_header
|
||||||
|
populate_custom_section
|
||||||
populate_menu
|
populate_menu
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user