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

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

    <bug>
          <bug_id>34456</bug_id>
          
          <creation_ts>2018-01-14 14:16:06 +0300</creation_ts>
          <short_desc>Stage ucode should be after compress</short_desc>
          <delta_ts>2018-03-14 21:38:33 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>Distributions</classification>
          <product>Branch p8</product>
          <component>make-initrd-ucode</component>
          <version>не указана</version>
          <rep_platform>all</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>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Liakhovets">a.o.liakh</reporter>
          <assigned_to name="Andrey Cherepanov">cas</assigned_to>
          <cc>boyarsh</cc>
    
    <cc>legion</cc>
    
    <cc>legion</cc>
    
    <cc>mike</cc>
    
    <cc>snejok</cc>
    
    <cc>zerg</cc>
          
          <qa_contact name="qa-p8@altlinux.org">qa-p8</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>168474</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Liakhovets">a.o.liakh</who>
    <bug_when>2018-01-14 14:16:06 +0300</bug_when>
    <thetext>Branch P8.
make-initrd-ucode-0.8.15-alt1.M80P.2
firmware-intel-ucode-3-alt2.20180108
iucode_tool-2.2-alt0.M80P.1
kernel-image-std-def-4.9.75-alt0.M80P.1
kernel-image-un-def-4.14.12-alt0.M80P.1

При создании initrd для текущих ядер un-def и std-def на компьютерах с CPU Intel стадии ucode и compress могут выполняться в произвольном порядке --
насколько мне удалось понять.
В случае, если сначала выполнено ucode, а потом compress (как произошло у меня), early microcode update не выполняется.

Если приложить такой патч:

--- /usr/share/make-initrd/features/ucode/rules.mk.orig 2017-12-04 11:56:16.000000000 +0300
+++ /usr/share/make-initrd/features/ucode/rules.mk      2018-01-14 13:30:29.495788524 +0300
@@ -1,4 +1,4 @@
-ucode:
+ucode: compress
        @echo &quot;Adding CPU microcode ...&quot;
        @$(ADD_UCODE)
        @if [ -s &quot;$(WORKDIR)/ucode.cpio&quot; ]; then \

то микрокод начинает добавляться всегда после сжатия initrd, и при загрузке нормально отрабатывает early microcode update (видно по первой строке dmesg).

(Вопрос только, как быть, если нужен несжатый initrd с early microcode.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169273</commentid>
    <comment_count>1</comment_count>
    <who name="Lenar Shakirov">snejok</who>
    <bug_when>2018-02-26 21:33:14 +0300</bug_when>
    <thetext>2legion@: Подскажи, пожалуйста, что нибудь по этой баге</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169295</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2018-02-27 12:52:53 +0300</bug_when>
    <thetext>Хоть я ни разу такого не видел, да такое возможно т.к. compress и ucode создают зависимость у install:

&lt;===========================
install:
	@echo INSTALL

compress:
	@echo COMPRESS

ucode:
	@echo UCODE

install: ucode
install: compress
===========================&gt;

Тогда получится:

$ make install -j100 
UCODE
COMPRESS
INSTALL

Наверно, нужно добавить что-то типа:

&lt;===========================
install:
	@echo INSTALL

compress:
	@echo COMPRESS

ucode:
	@echo UCODE

define stage_template =
install-stage-$(1): $(if $(filter-out 0,$(1)),install-stage-$(shell echo $$(($(1)-1))))
install: install-stage-$(1)
endef

$(foreach num,$(shell seq 0 99),$(eval $(call stage_template,$(num))))

install-stage-80: ucode
install-stage-70: compress
===========================&gt;

$ make install -j100
COMPRESS
UCODE
INSTALL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169300</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2018-02-27 16:39:18 +0300</bug_when>
    <thetext>Нет, так плохо. Можно проще.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169301</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2018-02-27 16:44:42 +0300</bug_when>
    <thetext>Вот это сбэкпортируйте:

http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=commitdiff;h=177b0bf3c81256ce7ef8b6ebe05a3fc6db6be6f8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169302</commentid>
    <comment_count>5</comment_count>
    <who name="Lenar Shakirov">snejok</who>
    <bug_when>2018-02-27 17:39:00 +0300</bug_when>
    <thetext>legion@, спасибо большое!!

Andrey, проверьте, пожалуйста: http://git.altlinux.org/tasks/201055/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169320</commentid>
    <comment_count>6</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2018-02-28 13:04:53 +0300</bug_when>
    <thetext>make-initrd-0.8.15-alt1.M80P.3 -&gt; p8:

Tue Feb 27 2018 Lenar Shakirov &lt;snejok@altlinux.ru&gt; 0.8.15-alt1.M80P.3
- stage ucode after compress (closes: #34456)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169626</commentid>
    <comment_count>7</comment_count>
    <who name="Andrey Liakhovets">a.o.liakh</who>
    <bug_when>2018-03-14 21:38:33 +0300</bug_when>
    <thetext>(In reply to comment #5)
Спасибо, всё работает.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>