<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>54394</bug_id>
          
          <creation_ts>2025-05-21 12:26:29 +0300</creation_ts>
          <short_desc>grub-mkconfig некорректно определяет доступность раздела /boot на запись</short_desc>
          <delta_ts>2025-06-11 19:34:12 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>grub-common</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oleg Bulavsky">bulavskyoleg</reporter>
          <assigned_to name="Egor Ignatov">egori</assigned_to>
          <cc>bulavskyoleg</cc>
    
    <cc>nickel</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>265252</commentid>
    <comment_count>0</comment_count>
      <attachid>18518</attachid>
    <who name="Oleg Bulavsky">bulavskyoleg</who>
    <bug_when>2025-05-21 12:26:29 +0300</bug_when>
    <thetext>Created attachment 18518
Патч для исправления генерации grub.cfg

При создании конфигурационного файла для grub, для проверки, возможна ли запись переменных в /boot/grub/grubenv (для обеспечения функционала saved_entry/next_entry), grub-mkconfig использует для проверки доступности на запись из grub (на тему расположения на той или иной файловой системе или &quot;абстракции&quot;) переменную GRUB_DEVICE.
GRUB_DEVICE в общем случае указывает на / , а на /boot указывает переменная GRUB_DEVICE_BOOT . В случае, когда /boot находится на отдельном разделе это очевидно разные значения.
В ситуациях, когда / располагается на файловой системе или менеджере томов, на которые grub не умеет писать (например btrfs или lvm), а /boot - на вполне себе &quot;записываемой&quot; (например ext2 на обычном разделе), grub-mkconfig некорректно (по / вместо /boot) определяет, что в /boot/grub/grubenv запись невозможна, и &quot;отключает&quot; в итоговом grub.cfg функционал save_entry/next_entry.

Как воспроизвести. При разбивке диска создать /boot на отдельном разделе диска с ФС ext2, а / создать на btrfs, zfs или любой ФС внутри тома lvm. Убедиться, что при генерации grub.cfg в функцию savedefalt будет подставлено &quot;# GRUB lacks write support for XYZ&quot; вместо ожидаемого функционала.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265254</commentid>
    <comment_count>1</comment_count>
    <who name="Oleg Bulavsky">bulavskyoleg</who>
    <bug_when>2025-05-21 12:31:20 +0300</bug_when>
    <thetext>Приложенный патч необходимо применять к /usr/share/grub/grub-mkconfig_lib
Данный вариант сгенерирован в Simply 10.4, но к Simply 11 тоже подходит.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267111</commentid>
    <comment_count>2</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2025-06-11 19:34:12 +0300</bug_when>
    <thetext>grub-2.12-alt13 -&gt; sisyphus:

 Tue Jun 10 2025 Egor Ignatov &lt;egori@altlinux&gt; 2.12-alt13
 - fix search by uuid for legacy boot
 - fix zfs module (closes: #54480)
 - fix fs write support detection (closes: #54394)
 - update ALT-specific translations (closes: #54493)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18518</attachid>
            <date>2025-05-21 12:26:29 +0300</date>
            <delta_ts>2025-05-21 12:26:29 +0300</delta_ts>
            <desc>Патч для исправления генерации grub.cfg</desc>
            <filename>grub-mkconfig_lib.diff</filename>
            <type>text/plain</type>
            <size>352</size>
            <attacher name="Oleg Bulavsky">bulavskyoleg</attacher>
            
              <data encoding="base64">MTE0YzExNAo8ICAgZm9yIGFic3RyYWN0aW9uIGluIGR1bW15IGAiJHtncnViX3Byb2JlfSIgLS1k
ZXZpY2UgJHtHUlVCX0RFVklDRX0gLS10YXJnZXQ9YWJzdHJhY3Rpb25gOyBkbwotLS0KPiAgIGZv
ciBhYnN0cmFjdGlvbiBpbiBkdW1teSBgIiR7Z3J1Yl9wcm9iZX0iIC0tZGV2aWNlICR7R1JVQl9E
RVZJQ0VfQk9PVH0gLS10YXJnZXQ9YWJzdHJhY3Rpb25gOyBkbwoxMjJjMTIyCjwgICBmcz0iYCIk
e2dydWJfcHJvYmV9IiAtLWRldmljZSAke0dSVUJfREVWSUNFfSAtLXRhcmdldD1mc2AiCi0tLQo+
ICAgZnM9ImAiJHtncnViX3Byb2JlfSIgLS1kZXZpY2UgJHtHUlVCX0RFVklDRV9CT09UfSAtLXRh
cmdldD1mc2AiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>