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

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

    <bug>
          <bug_id>31027</bug_id>
          
          <creation_ts>2015-05-23 09:06:24 +0300</creation_ts>
          <short_desc>Когда заменяешь ядро возникает ошибка при генерации initrd и система не загружается.</short_desc>
          <delta_ts>2015-05-25 10:01:56 +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>bootloader-utils</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Стас">stas.grumbler</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>aspsk</cc>
    
    <cc>at</cc>
    
    <cc>boris</cc>
    
    <cc>boyarsh</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>mithraen</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
    
    <cc>sbolshakov</cc>
    
    <cc>sem</cc>
    
    <cc>shrek</cc>
    
    <cc>sin</cc>
    
    <cc>slazav</cc>
    
    <cc>vitty</cc>
    
    <cc>vsu</cc>
    
    <cc>vt</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>151539</commentid>
    <comment_count>0</comment_count>
    <who name="Стас">stas.grumbler</who>
    <bug_when>2015-05-23 09:06:24 +0300</bug_when>
    <thetext>Взял мартовскую сборку &quot;ALT Linux starter kit (Trientalis)&quot; ovz-el, но ядро оказалось слишком старым. Решил заменить ядро на последнее std-def, устанавливаю пакет kernel-image-std-def#1:3.14.41-alt1 и вижу нефатальную ошибку при генерации initrd.

...
Running /usr/lib/rpm/posttrans-filetriggers
Config file: /etc/initrd.mk
Generating module dependencies on host ...
Creating initrd image ...
Adding modules ...
add-module: No module &quot;pci_hotplug&quot; found for kernel 3.14.41-std-def-alt1
make: *** [add-modules] Ошибка 1
make: *** [all] Ошибка 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151540</commentid>
    <comment_count>1</comment_count>
    <who name="Стас">stas.grumbler</who>
    <bug_when>2015-05-23 10:14:55 +0300</bug_when>
    <thetext>Для std-def нужен другой intrd.mk, в пакете он не предусмотрен.

Я попытался поменять конфиг initrd, но не удалось сгенерировать initrd, с которым система загрузится - получаю kernel panic из-за невозможности найти корневой том на mdraid, поскольку md не находит массив (корень на RAID1).

Неудачный конфиг:
====
AUTODETECT = all

MODULES_ADD += \
	ext4 ata_generic ahci libata pata_acpi sata_via ata_piix raid1 shpchp scsi_mod \
	crc-t10dif sd_mod \
	libahci 

FEATURES += \
	add-modules cleanup compress fstab mdadm raid syslog

PUT_FILES += /usr/bin/less
====

initrd.mk, работающий с ядром 2.6.32-ovz-el-alt126:
====
AUTODETECT = all

MODULES_ADD += \
	ext4 ata_generic ahci libata pata_acpi sata_via ata_piix raid1 pci_hotplug shpchp scsi_mod \
	crc-t10dif sd_mod

FEATURES += \
	add-modules cleanup compress fstab mdadm raid syslog

PUT_FILES += /usr/bin/less
====</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151543</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2015-05-23 16:03:53 +0300</bug_when>
    <thetext>Если что, altlinux-p7-server-ovz устанавливает _два_ ядра (std-def идёт запасным, оно же в инсталяторе); рядом есть altlinux-p7-server, которое просто std-def; также при необходимости можно исходить из altlinux-p7-server-hyperv с un-def на борту (3.19 в 20150312).

Возможно, хватит штатного состояния /etc/initrd.mk:

---
# trying to detect modules and features to access to root volume
AUTODETECT = all
---</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151548</commentid>
    <comment_count>3</comment_count>
      <attachid>6286</attachid>
    <who name="Стас">stas.grumbler</who>
    <bug_when>2015-05-25 10:00:23 +0300</bug_when>
    <thetext>Created attachment 6286
проверка кода возврата /sbin/installkernel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151549</commentid>
    <comment_count>4</comment_count>
    <who name="Стас">stas.grumbler</who>
    <bug_when>2015-05-25 10:01:22 +0300</bug_when>
    <thetext>Разобрался.
При генераци initrd используется /etc/initrd.mk и возникает ошибка (в MODULES_ADD указан модуль, которого нет в модулях нового ядра). В результате initrd для нового ядра не сохранён и grub-mkconfig создал grub.cfg без загрузки initrd для нового ядра. Итог: новое ядро не находит root, получаем Kernel Panic.

Непосредственная причина в том, что initrd.mk был отредактирован вручную (с целью сделать универсальный initrd для нескольких серверов) и настроен для конкретного ядра.

Эта ситуация не была обработана в скрипте /usr/lib/rpm/boot_kernel.filetrigger - в нём не проверяется код возврата скрипта /sbin/installkernel (ноль - успех, 1 - ошибка).

Таким образом, ошибка в пакете bootloader-utils-0.4.22-alt1
Патч приложил</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6286</attachid>
            <date>2015-05-25 10:00:23 +0300</date>
            <delta_ts>2015-05-25 10:00:23 +0300</delta_ts>
            <desc>проверка кода возврата /sbin/installkernel</desc>
            <filename>boot_kernel.filetrigger.patch</filename>
            <type>text/plain</type>
            <size>1635</size>
            <attacher name="Стас">stas.grumbler</attacher>
            
              <data encoding="base64">LS0tIC91c3IvbGliL3JwbS9ib290X2tlcm5lbC5maWxldHJpZ2dlcgkyMDEzLTA3LTEwIDE4OjM4
OjQ1LjAwMDAwMDAwMCArMDYwMAorKysgL3RtcC9ib290X2tlcm5lbC5maWxldHJpZ2dlcgkyMDE1
LTA1LTI1IDExOjU1OjUzLjM0OTk5OTY0OCArMDUwMApAQCAtNTMsMTAgKzUzLDEwIEBACiAJCSMg
bm9uLWVtcHR5IHN1ZmZpeCAtPiBjaGFuZ2luZyB0aGUgZmxhdm91cjoKIAkJIyBhdm9pZCBjaGFu
Z2luZyBkZWZhdWx0ICgvYm9vdC92bWxpbnV6KSBzeW1saW5rLAogCQkjIGtlZXAgYWxyZWFkeSBn
ZW5lcmF0ZWQgaW5pdHJkIGltYWdlIHVuY2hhbmdlZAotCQkvc2Jpbi9pbnN0YWxsa2VybmVsICRJ
TlNUQUxMS0VSTkVMX0FSR1MgLS1rZWVwLWluaXRyZCAtLW5vZGVmYXVsdCAiJFZFUlNJT04iCisJ
CS9zYmluL2luc3RhbGxrZXJuZWwgJElOU1RBTExLRVJORUxfQVJHUyAtLWtlZXAtaW5pdHJkIC0t
bm9kZWZhdWx0ICIkVkVSU0lPTiIgfHwgZXhpdCAxCiAJZWxzZQogCQkjIGNoYW5nZSBkZWZhdWx0
ICgvYm9vdC92bWxpbnV6KSBzeW1saW5rCi0JCS9zYmluL2luc3RhbGxrZXJuZWwgJElOU1RBTExL
RVJORUxfQVJHUyAiJEtFRVBfSU5JVFJEIiAiJFZFUlNJT04iCisJCS9zYmluL2luc3RhbGxrZXJu
ZWwgJElOU1RBTExLRVJORUxfQVJHUyAiJEtFRVBfSU5JVFJEIiAiJFZFUlNJT04iIHx8IGV4aXQg
MQogCWZpCiB9CiAKQEAgLTcxLDEwICs3MSwxMCBAQAogCWtlcm5lbF92ZXJzaW9uc19oYW5kbGVk
PSIka2VybmVsX3ZlcnNpb25zX2hhbmRsZWQgJFZFUlNJT04iCiAJaWYgWyAtZiAiJGYiIF07IHRo
ZW4KIAkJIyBmaWxlIGV4aXN0cyAtPiBpbnN0YWxsIGtlcm5lbAotCQkvc2Jpbi9pbnN0YWxsa2Vy
bmVsICRJTlNUQUxMS0VSTkVMX0FSR1MgIiRWRVJTSU9OIgorCQkvc2Jpbi9pbnN0YWxsa2VybmVs
ICRJTlNUQUxMS0VSTkVMX0FSR1MgIiRWRVJTSU9OIiB8fCBleGl0IDEKIAllbHNlCiAJCSMgZmls
ZSBkb2VzIG5vdCBleGlzdCAtPiB1bmluc3RhbGwga2VybmVsCi0JCS9zYmluL2luc3RhbGxrZXJu
ZWwgJElOU1RBTExLRVJORUxfQVJHUyAtciAiJFZFUlNJT04iCisJCS9zYmluL2luc3RhbGxrZXJu
ZWwgJElOU1RBTExLRVJORUxfQVJHUyAtciAiJFZFUlNJT04iIHx8IGV4aXQgMQogCiAJCSMgdXBk
YXRlIGRlZmF1bHQga2VybmVsIGlmIG5lY2Vzc2FyeQogCQl1cGRhdGVfZGVmYXVsdF9rZXJuZWwg
IiIgIlsyM10uKi1hbHQqIgpAQCAtMTE3LDcgKzExNyw3IEBACiAJCQljb250aW51ZQogCQlWRVJT
SU9OPSR7ZiMkVk1MSU5VWl9QUkVGSVgtfQogCQkjIHJlZ2VuZXJhdGUgaW5pdHJkIGltYWdlIHdp
dGhvdXQgdXBkYXRpbmcgc3ltbGlua3MKLQkJL3NiaW4vaW5zdGFsbGtlcm5lbCAkSU5TVEFMTEtF
Uk5FTF9BUkdTIC0tbm9kZWZhdWx0IC0tbm9mbGF2b3VyICIkVkVSU0lPTiIKKwkJL3NiaW4vaW5z
dGFsbGtlcm5lbCAkSU5TVEFMTEtFUk5FTF9BUkdTIC0tbm9kZWZhdWx0IC0tbm9mbGF2b3VyICIk
VkVSU0lPTiIgfHwgZXhpdCAxCiAJZG9uZQogZWxpZiBbIC1uICIkbW9kdWxlX3ZlcnNpb25zX2hh
bmRsZWQiIF07IHRoZW4KIAltb2R1bGVfdmVyc2lvbnNfaGFuZGxlZD0iJChwcmludGYgJyVzXG4n
ICIkbW9kdWxlX3ZlcnNpb25zX2hhbmRsZWQiIHxzb3J0IC11KSIK
</data>

          </attachment>
      

    </bug>

</bugzilla>