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

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

    <bug>
          <bug_id>40188</bug_id>
          
          <creation_ts>2021-06-08 15:45:25 +0300</creation_ts>
          <short_desc>Поддержка образа syslinux/alt0/vmlinuz и boot/vmlinuz</short_desc>
          <delta_ts>2021-06-10 23:18:00 +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>alterator-netinst</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="Andrey Cherepanov">cas</reporter>
          <assigned_to name="Anton V. Boyarshinov">boyarsh</assigned_to>
          <cc>aen</cc>
    
    <cc>andy</cc>
    
    <cc>antohami</cc>
    
    <cc>boyarsh</cc>
    
    <cc>snowmix</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>199046</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2021-06-08 15:45:25 +0300</bug_when>
    <thetext>Необходимо поддерживать расположение vmlinuz в разных каталогах.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199048</commentid>
    <comment_count>1</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2021-06-08 17:59:50 +0300</bug_when>
    <thetext>Он ещё и на syslinux завязан:

  [ -d &quot;$MNT/syslinux&quot; ] ||
    fatal &quot;Error: bad image: no syslinux directory&quot;
  [ -d &quot;$TFTPDIR&quot; ] ||
    fatal &quot;Error: no $TFTPDIR&quot;
  cp -f &quot;/usr/lib/syslinux/pxelinux.0&quot; &quot;$TFTPDIR/pxelinux.0&quot; ||
    fatal &quot;Error: can&apos;t copy pxelinux.0 to $TFTPDIR&quot;
  cp -fr &quot;$MNT/syslinux&quot; &quot;$TFTPDIR/syslinux&quot; ||
    fatal &quot;Error: can&apos;t copy syslinux directory to $TFTPDIR&quot;
  mkdir -p &quot;$TFTPDIR/pxelinux.cfg&quot; ||
    fatal &quot;Error: can&apos;t create $TFTPDIR/pxelinux.cfg&quot;

Только для Legacy?

По багу. Нужно исправить вот это место в alterator-netinst/bin/alterator-netinst:
  # Setting up pxelinux.cfg
  sed -e &quot;
      1i\
  default $default
      s%\(kernel\)[[:space:]]\+\([^[:space:]]\+\)%\1 syslinux/\2%
      s%timeout[[:space:]]\+\([^[:space:]]\+\)%timeout 100%
      /^default[[:space:]]/d
      s/.*gfxboot bootlogo.*//
      /^[[:space:]]*append/{
        s%initrd=\([^[:space:]]\+\)%initrd=syslinux/\1%
        s%automatic=[^[:space:]]\+%%
        s%\$% automatic=method:nfs,network:dhcp${tz:+ tz=$tz} ${lang:+ lang=$lang} ${krb5:+ krb5} $vnc%
      }&quot;\
    &quot;$TFTPDIR/syslinux/isolinux.cfg&quot; \
    &gt; &quot;$TFTPDIR/pxelinux.cfg/default&quot;

Т.е. проблема в том, что раньше был относительный путь:
alt0/vmlinuz
теперь же абсолютный:
/boot/vmlimuz

Думаю, нужно уточнить

s%\(kernel\)[[:space:]]\+\([^[:space:]]\+\)%\1 syslinux/\2%
s%initrd=\([^[:space:]]\+\)%initrd=syslinux/\1%

каталогом alt0, чтобы не добавлял перед /boot syslinux.

И заменять дополнительно:

kernel /boot/
initrd /boot/

на

kernel boot/
initrd boot/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199049</commentid>
    <comment_count>2</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2021-06-08 18:02:58 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #1)
&gt; И заменять дополнительно:
&gt; 
&gt; kernel /boot/
&gt; initrd /boot/
&gt; 
&gt; на
&gt; 
&gt; kernel boot/
&gt; initrd boot/

initrd=/boot/
на
initrd=boot/

разумеется.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199050</commentid>
    <comment_count>3</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2021-06-08 18:30:27 +0300</bug_when>
    <thetext>Этот /boot ещё нужно скопировать в $TFTPDIR/ :-)
А вот если его скопировать (при наличии /boot в корне образа) в $TFTPDIR/syslinux, то остальной код можно оставить как есть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199051</commentid>
    <comment_count>4</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2021-06-08 18:37:30 +0300</bug_when>
    <thetext>Как-то так:

http://git.altlinux.org/tasks/274065/gears/100/git</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199052</commentid>
    <comment_count>5</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2021-06-08 18:50:07 +0300</bug_when>
    <thetext>(Ответ для Andrew Vasilyev на комментарий #3)
&gt; Этот /boot ещё нужно скопировать в $TFTPDIR/ :-)
&gt; А вот если его скопировать (при наличии /boot в корне образа) в
&gt; $TFTPDIR/syslinux, то остальной код можно оставить как есть.

Ага. Задание сразу увидел и посмотрел.
Только может не копировать каталоги, вложенные в boot/ ? Лишние мегабайты же (10 МБ).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199053</commentid>
    <comment_count>6</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2021-06-08 18:56:17 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #5)
&gt; (Ответ для Andrew Vasilyev на комментарий #3)
&gt; &gt; Этот /boot ещё нужно скопировать в $TFTPDIR/ :-)
&gt; &gt; А вот если его скопировать (при наличии /boot в корне образа) в
&gt; &gt; $TFTPDIR/syslinux, то остальной код можно оставить как есть.
&gt; 
&gt; Ага. Задание сразу увидел и посмотрел.
&gt; Только может не копировать каталоги, вложенные в boot/ ? Лишние мегабайты же
&gt; (10 МБ).

  Т.е. копировать только /boot/{vm*,full.cz}? А никаких других имён быть не может?

  И возникла ещё одна ошибка: если в isolinux.cfg есть, например в начале

ui menu.c32

  то ей тоже нужно добавить префикс syslinux/ (или удалить), иначе
  возникает ошибка.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199054</commentid>
    <comment_count>7</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2021-06-08 19:06:01 +0300</bug_when>
    <thetext>(Ответ для Andrew Vasilyev на комментарий #6)
&gt; (Ответ для Антон Мидюков на комментарий #5)
&gt; &gt; (Ответ для Andrew Vasilyev на комментарий #3)
&gt; &gt; &gt; Этот /boot ещё нужно скопировать в $TFTPDIR/ :-)
&gt; &gt; &gt; А вот если его скопировать (при наличии /boot в корне образа) в
&gt; &gt; &gt; $TFTPDIR/syslinux, то остальной код можно оставить как есть.
&gt; &gt; 
&gt; &gt; Ага. Задание сразу увидел и посмотрел.
&gt; &gt; Только может не копировать каталоги, вложенные в boot/ ? Лишние мегабайты же
&gt; &gt; (10 МБ).
&gt; 
&gt;   Т.е. копировать только /boot/{vm*,full.cz}? А никаких других имён быть не
&gt; может?

Конечно же нет. Создать каталог $TFTPDIR/syslinux/boot. Найти в каталоге boot файлы с глубиной поиска 0. Скопировать их в $TFTPDIR/syslinux/boot. Просто мало ли чего там лишнего лежит. Ну или каталоги после копирования удалить из $TFTPDIR/syslinux/boot. Но может и не стоит за копейки переживать.

&gt; 
&gt;   И возникла ещё одна ошибка: если в isolinux.cfg есть, например в начале
&gt; 
&gt; ui menu.c32
&gt; 
&gt;   то ей тоже нужно добавить префикс syslinux/ (или удалить), иначе
&gt;   возникает ошибка.

Так может проблема эта и раньше была? Непохоже, что с этой как-то связана.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199055</commentid>
    <comment_count>8</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2021-06-08 19:11:43 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #7)
&gt; &gt;   Т.е. копировать только /boot/{vm*,full.cz}? А никаких других имён быть не
&gt; &gt; может?
&gt; 
&gt; Конечно же нет. Создать каталог $TFTPDIR/syslinux/boot. Найти в каталоге
&gt; boot файлы с глубиной поиска 0. Скопировать их в $TFTPDIR/syslinux/boot.
&gt; Просто мало ли чего там лишнего лежит. Ну или каталоги после копирования
&gt; удалить из $TFTPDIR/syslinux/boot. Но может и не стоит за копейки переживать.

  Если не переписывать всю логику (как предложил cas@: искать vmlinuz и т.п.
  и подставлять полные пути), а сделать простой fix, то не стоит усложнять.

&gt; &gt;   И возникла ещё одна ошибка: если в isolinux.cfg есть, например в начале
&gt; &gt; ui menu.c32
&gt; &gt;   то ей тоже нужно добавить префикс syslinux/ (или удалить), иначе
&gt; &gt;   возникает ошибка.
&gt; 
&gt; Так может проблема эта и раньше была? Непохоже, что с этой как-то связана.

  Да, но её тоже нужно исправлять. См. 
http://git.altlinux.org/tasks/274065/gears/200/git</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199058</commentid>
    <comment_count>9</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2021-06-08 22:51:41 +0300</bug_when>
    <thetext>  Добавил копирование pxelinux.0 с образа, если он там есть.

  http://git.altlinux.org/tasks/274065/gears/300/git</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199068</commentid>
    <comment_count>10</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-06-09 10:27:31 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #1)
&gt; Он ещё и на syslinux завязан:
&gt; 
 
&gt; Только для Legacy?
&gt; 
А кто-нибудь знает, как в UEFI вообще сетевая загрузка работает? Подозреваю, что в alterator-netinst на эту тему вообще ничего нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199083</commentid>
    <comment_count>11</comment_count>
    <who name="Mikhail Chernonog">snowmix</who>
    <bug_when>2021-06-09 18:34:38 +0300</bug_when>
    <thetext>(Ответ для Anton V. Boyarshinov на комментарий #10)
&gt; (Ответ для Антон Мидюков на комментарий #1)
&gt; &gt; Он ещё и на syslinux завязан:
&gt; &gt; 
&gt;  
&gt; &gt; Только для Legacy?
&gt; &gt; 
&gt; А кто-нибудь знает, как в UEFI вообще сетевая загрузка работает? Подозреваю,
&gt; что в alterator-netinst на эту тему вообще ничего нет.

Проверяли сетевую установку в UEFI, точно работает с FTP, NFS. Так же проверяли автоустановку. Требуется выполнить дополнительные настройки, которые были добавлены в https://www.altlinux.org/Autoinstall#Автоустановка_в_UEFI начиная со слов &quot;Скопировать файлы full.cz и vmlinuz ...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199122</commentid>
    <comment_count>12</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2021-06-10 23:15:19 +0300</bug_when>
    <thetext>  В Сизифе исправлено, в p9 отправлено.

* Tue Jun 08 2021 Andrew A. Vasilyev &lt;andy@altlinux.org&gt; 1.9.1-alt4
- Copy /boot from new images to syslinux directory.
- Remove user menu.
- Copy pxelinux.0 from image if exists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199123</commentid>
    <comment_count>13</comment_count>
    <who name="AEN">aen</who>
    <bug_when>2021-06-10 23:18:00 +0300</bug_when>
    <thetext>Спасибо!</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>