index : archiso32 | |
Archlinux32 iso tools | gitolite user |
summaryrefslogtreecommitdiff |
author | Christian Hesse <mail@eworm.de> | 2021-01-06 11:59:53 +0100 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2021-01-26 10:00:38 +0100 |
commit | b30d1cad9bdf925b976b5d038a3ad741a70267c6 (patch) | |
tree | bf0cb3d817af2f2a801ef9b8718b46ba80b4b262 | |
parent | d153b4861364daa2e056d4cc70c57a60ab286b71 (diff) |
-rw-r--r-- | README.rst | 13 | ||||
-rwxr-xr-x | archiso/mkarchiso | 11 |
@@ -118,6 +118,19 @@ Optionally install archiso's mkinitcpio hooks: make install-initcpio +Optional Features +================= + +The iso image contains a grub environment block holding the iso version. This allows to boot the iso image from grub +with a version specific cow directory to mitigate overlay clashes. + + .. code:: grub + loopback loop archlinux.iso + load_env -f (loop)/arch/grubenv + linux (loop)/arch/boot/x86_64/vmlinuz-linux ... \ + cow_directory=archlinux/${VERSION} ... + initrd (loop)/arch/boot/x86_64/initramfs-linux-lts.img + Contribute ========== diff --git a/archiso/mkarchiso b/archiso/mkarchiso index b83f104..edad3a8 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -834,11 +834,19 @@ _set_overrides() { _msg_info "Done!" } - _export_gpg_publickey() { gpg --batch --output "${work_dir}/pubkey.gpg" --export "${gpg_key}" } +_make_version() { + install -d -m 0755 -- "${isofs_dir}/${install_dir}" + _msg_info "Creating files with iso version..." + printf '%s\n' "${iso_version}" > "${airootfs_dir}/version" + printf '%s\n' "${iso_version}" > "${isofs_dir}/${install_dir}/version" + printf '%.1024s' "$(printf '# GRUB Environment Block\nVERSION=%s\n%s' "${iso_version}" \ + "$(printf '%0.1s' "#"{1..1024})")" > "${isofs_dir}/${install_dir}/grubenv" + _msg_info "Done!" +} _make_pkglist() { install -d -m 0755 -- "${isofs_dir}/${install_dir}" @@ -867,6 +875,7 @@ _build_profile() { [[ -n "${gpg_key}" ]] && _run_once _export_gpg_publickey _run_once _make_custom_airootfs _run_once _make_packages + _run_once _make_version _run_once _make_customize_airootfs _run_once _make_pkglist _make_bootmodes |