<term><varname>bootloader</varname></term>
<listitem><para>Configure the bootloader that OSTree uses when
deploying the sysroot. This may take the values
- <literal>bootloader=none</literal> or <literal>bootloader=auto</literal>.
+ <literal>bootloader=none</literal>, <literal>bootloader=auto</literal>,
+ <literal>bootloader=grub2</literal>, <literal>bootloader=syslinux</literal>,
+ <literal>bootloader=uboot</literal> or <literal>bootloader=zipl</literal>.
Default is <literal>auto</literal>.
</para>
<para>
then OSTree will generate a config for the bootloader found. For
example, <literal>grub2-mkconfig</literal> is run for the grub2 case.
</para>
+ <para>
+ A specific bootloader type may also be explicitly requested by choosing
+ <literal>grub2</literal>, <literal>syslinux</literal>, <literal>uboot</literal> or
+ <literal>zipl</literal>.
+ </para>
</listitem>
</varlistentry>
typedef enum {
CFG_SYSROOT_BOOTLOADER_OPT_AUTO = 0,
CFG_SYSROOT_BOOTLOADER_OPT_NONE,
+ CFG_SYSROOT_BOOTLOADER_OPT_GRUB2,
+ CFG_SYSROOT_BOOTLOADER_OPT_SYSLINUX,
+ CFG_SYSROOT_BOOTLOADER_OPT_UBOOT,
CFG_SYSROOT_BOOTLOADER_OPT_ZIPL,
/* Non-exhaustive */
} OstreeCfgSysrootBootloaderOpt;
/* This must be kept in the same order as the enum */
"auto",
"none",
+ "grub2",
+ "syslinux",
+ "uboot",
"zipl",
NULL,
};
/* No bootloader specified; do not query bootloaders to run. */
ret_loader = NULL;
break;
+ case CFG_SYSROOT_BOOTLOADER_OPT_GRUB2:
+ ret_loader = (OstreeBootloader*) _ostree_bootloader_grub2_new (sysroot);
+ break;
+ case CFG_SYSROOT_BOOTLOADER_OPT_SYSLINUX:
+ ret_loader = (OstreeBootloader*) _ostree_bootloader_syslinux_new (sysroot);
+ break;
+ case CFG_SYSROOT_BOOTLOADER_OPT_UBOOT:
+ ret_loader = (OstreeBootloader*) _ostree_bootloader_uboot_new (sysroot);
+ break;
case CFG_SYSROOT_BOOTLOADER_OPT_ZIPL:
/* We never consider zipl as active by default, so it can only be created
* if it's explicitly requested in the config */