<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; [HOWTO] Plymouth на Slackware]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=41136&amp;type=atom" />
	<updated>2023-11-07T09:59:29Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=41136</id>
		<entry>
			<title type="html"><![CDATA[Re: [HOWTO] Plymouth на Slackware]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=471847#p471847" />
			<content type="html"><![CDATA[<p><strong>yars</strong>, <br />гладко было на бумаге:</p><div class="codebox"><pre><code>Q=&quot;&quot;
if [ $Q = &quot;&quot; ]
  then echo Empty
fi</code></pre></div><p>Это так не работает... Когда в Q пусто, получится:</p><div class="codebox"><pre><code>if [ = &quot;&quot; ]</code></pre></div><p>и [ обматерит за синтаксис <img src="https://linuxforum.ru/img/smilies/bx.gif" alt="bx" /><br />Потому или </p><div class="codebox"><pre><code>if [ &quot;$Q&quot; = &quot;&quot; ]</code></pre></div><p>или как диды завещали (в кавычках или без):</p><div class="codebox"><pre><code>if [ x$Q = x ]</code></pre></div>]]></content>
			<author>
				<name><![CDATA[bormant]]></name>
				<uri>https://linuxforum.ru/profile.php?id=732</uri>
			</author>
			<updated>2023-11-07T09:59:29Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=471847#p471847</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[[HOWTO] Plymouth на Slackware]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=471837#p471837" />
			<content type="html"><![CDATA[<p>Всем ДВС, слакварщики! Однажды, долгим зимним вечером, поставил я Arch на посмотреть. Ну, а там -- всякие плюшки и красивости, вроде обсуждаемого здесь Plymouth. И вот, погуглив, не нашел я в Сети материала, который бы рассказал, что да как делать, чтобы получить искомое. Увидел, что на SBo присутствует пакет, поставил и начал разбираться, как его запустить. Скажу сразу, задачу можно решать по-разному: все зависит от желания, возможностей и наличия времени. Ну что ж, начнем.</p><p>0. Подготовка.<br />Для успешной работы Plymouth нужен initrd с ранней активацией KMS или framebuffer. Все знают, что в дистрибутиве есть два ядра -- huge и generic. Первое монстрообразно и предназначено в основном для ремонтных работ. Оно способно загружаться без initrd, включает в себя поддержку максимального количества устройств, драйверы которых есть в ядре, умеет и загружать модули сторонних драйверов. Второе -- намного компактнее, включает в себя только самое необходимое, требует для успешной загрузки initrd и предназначено для обычного использования. Особо заострять внимание на создании initrd для этого ядра я не буду, но основные моменты надо прояснить.</p><p>0.1. <div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль: root</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"><span style="color:#FF6A6A">[root@linuxforum.ru ~]#</span> <br /># /usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic &gt;&gt; /etc/lilo.conf # Создаем пункт меню для Lilo<br /># /usr/share/mkinitrd/mkinitrd_command_generator.sh -c /boot/vmlinuz-generic &gt;&gt; /etc/mkinitrd.conf # Создаем базовый конфигурационный файл для mkinitrd<br /># mkinitrd -F # Собираем базовый initrd<br /># lilo # Сохраняем новую конфигурацию загрузчика<br /></div><br />Подразумевается, что пакет kernel-generic установлен. После проделанного выше можно перезагрузиться с ядром generic, хотя это и необязательно.</p><p>0.2 Нужно изменить в <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">/etc/mkinitrd.conf</span> значение параметра <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">CLEAR_TREE</span> на <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">0</span>, чтобы при сборке нового initrd каталог <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">/boot/initrd_tree</span> не очищался: с этим деревом еще предстоит поработать.</p><p>0.3 Теперь надо добавить в initrd ранний запуск KMS/framebuffer. Для этого с помощью <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">lspci</span> смотрим, каким модулем ядра поддерживается видекарта: <div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль: root</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"><span style="color:#FF6A6A">[root@linuxforum.ru ~]#</span>  lspci -knns 00:02.0<br />00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09)<br />&nbsp; &nbsp; Subsystem: Lenovo 3rd Gen Core processor Graphics Controller [17aa:3902]<br />&nbsp; &nbsp; Kernel driver in use: i915<br />&nbsp; &nbsp; Kernel modules: i915<br /></div><br />Видим, что в данном случае работа встроенного видеоядра обеспечивается модулем <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">i915</span>. Но тут вам не Arch, и с добавлением в initrd этого модуля ранний запуск не заработает, потому что у модуля есть зависимости. Поэтому смотрим, кто от кого зависит и добавляем всех причастных (Ну, почти всех, кроме тех, кто, в моем случае, за дискретное видео отвечает): </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль: root</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"><span style="color:#FF6A6A">[root@linuxforum.ru ~]#</span> # lsmod<br />Module&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Size&nbsp; Used by<br />...<br />i915&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4108288&nbsp; 12<br />i2c_algo_bit&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;20480&nbsp; 2 i915,nouveau<br />drm_buddy&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 20480&nbsp; 1 i915<br />video&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 77824&nbsp; 3 ideapad_laptop,i915,nouveau<br />ttm&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;110592&nbsp; 3 drm_ttm_helper,i915,nouveau<br />drm_display_helper&nbsp; &nbsp; 229376&nbsp; 2 i915,nouveau<br />cec&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 86016&nbsp; 2 drm_display_helper,i915<br />intel_gtt&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 28672&nbsp; 2 intel_agp,i915<br />...<br /></div></p></div></div><p>Можно, конечно, положить этих товарищей напрямую в initrd-tree в правильные места, но проще и лучше вписать их в <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">/etc/mkinitrd.conf</span>, в строку <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">MODULE_LIST</span>, через двоеточия. Теперь можно снова собрать initrd, скомандовать <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">lilo</span>, перезагрузиться в только что созданный initrd, передав ядру параметр <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">rescue</span> и убедиться в существовании <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">/dev/fb0</span>. Теперь, чтобы не перезагружаться, монтируем корневой раздел -- <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">mount -r /dev/root /mnt</span> и даем команду <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">exit</span>. На этом подготовка завершена.</p><p>1. Установка и настройка.</p><p>1.1 Устанавливаем собственно plymouth: <div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль: root</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"><span style="color:#FF6A6A">[root@linuxforum.ru ~]#</span> sbopkg -i plymouth</div></p><p>1.2 Теперь c помощью входящего в состав пакета <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">/usr/libexec/plymouth/plymouth-generate-initrd</span> создаем в <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">/boot</span> образ <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">initrd-plymouth.img</span>, распаковываем его: <div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"># mkdir -pv /boot/initrd-plymouth<br /># cd /boot/initrd-plymouth<br /># gzip -cdkS .img ../initrd-plymouth.img | cpio -i .</div> И теперь нужно раскидать файлы из этого initrd в <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">initrd-tree</span>. Бинарники -- в <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">initrd_tree/{bin,sbin}</span>, библиотеки -- в <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">initrd_tree/lib{,64}</span>, остальное -- по соответствующим местам. Бибилотеки нужно скопировать только те, которых в <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">initrd-tree</span> нет. Снова собираем свой initrd командой <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">mkinitrd -F</span>, не забываем скомандовать <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">lilo</span> и перезагружаемся в новый initrd.</p><p>1.3. Теперь начинается самый сок&nbsp; <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /> Нам нужно пропатчить <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">initrd-tree/init </span> и rc-скрипты <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">/etc/rd.d/rc.{6,M,S}</span>, и, возможно, пересобрать ядро (тут уж на вкус и цвет&nbsp; <img src="https://linuxforum.ru/img/smilies/ag.gif" alt="ag" /> )</p><p>1.3.1. Патчим:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;full_initrd.patch</div><div class="fancy_spoiler"><div class="codebox"><pre><code>diff -urN initrd-tree/command_line initrd-tree-nodebug/command_line
--- initrd-tree/command_line    2023-11-03 14:55:30.931000000 +0300
+++ initrd-tree-nodebug/command_line    2023-11-03 10:30:55.379000000 +0300
@@ -1 +1 @@
-/sbin/mkinitrd -c -s /boot/initrd-tree -F
+/sbin/mkinitrd -F
File initrd-tree/dev/console is a character special file while file initrd-tree-nodebug/dev/console is a character special file
File initrd-tree/dev/null is a character special file while file initrd-tree-nodebug/dev/null is a character special file
File initrd-tree/dev/ram is a block special file while file initrd-tree-nodebug/dev/ram is a block special file
File initrd-tree/dev/ram0 is a block special file while file initrd-tree-nodebug/dev/ram0 is a block special file
File initrd-tree/dev/ram1 is a block special file while file initrd-tree-nodebug/dev/ram1 is a block special file
File initrd-tree/dev/ram10 is a block special file while file initrd-tree-nodebug/dev/ram10 is a block special file
File initrd-tree/dev/ram11 is a block special file while file initrd-tree-nodebug/dev/ram11 is a block special file
File initrd-tree/dev/ram12 is a block special file while file initrd-tree-nodebug/dev/ram12 is a block special file
File initrd-tree/dev/ram13 is a block special file while file initrd-tree-nodebug/dev/ram13 is a block special file
File initrd-tree/dev/ram14 is a block special file while file initrd-tree-nodebug/dev/ram14 is a block special file
File initrd-tree/dev/ram15 is a block special file while file initrd-tree-nodebug/dev/ram15 is a block special file
File initrd-tree/dev/ram2 is a block special file while file initrd-tree-nodebug/dev/ram2 is a block special file
File initrd-tree/dev/ram3 is a block special file while file initrd-tree-nodebug/dev/ram3 is a block special file
File initrd-tree/dev/ram4 is a block special file while file initrd-tree-nodebug/dev/ram4 is a block special file
File initrd-tree/dev/ram5 is a block special file while file initrd-tree-nodebug/dev/ram5 is a block special file
File initrd-tree/dev/ram6 is a block special file while file initrd-tree-nodebug/dev/ram6 is a block special file
File initrd-tree/dev/ram7 is a block special file while file initrd-tree-nodebug/dev/ram7 is a block special file
File initrd-tree/dev/ram8 is a block special file while file initrd-tree-nodebug/dev/ram8 is a block special file
File initrd-tree/dev/ram9 is a block special file while file initrd-tree-nodebug/dev/ram9 is a block special file
File initrd-tree/dev/random is a character special file while file initrd-tree-nodebug/dev/random is a character special file
File initrd-tree/dev/sda is a block special file while file initrd-tree-nodebug/dev/sda is a block special file
File initrd-tree/dev/sda1 is a block special file while file initrd-tree-nodebug/dev/sda1 is a block special file
File initrd-tree/dev/sda2 is a block special file while file initrd-tree-nodebug/dev/sda2 is a block special file
File initrd-tree/dev/sr0 is a block special file while file initrd-tree-nodebug/dev/sr0 is a block special file
File initrd-tree/dev/systty is a character special file while file initrd-tree-nodebug/dev/systty is a character special file
File initrd-tree/dev/tty1 is a character special file while file initrd-tree-nodebug/dev/tty1 is a character special file
File initrd-tree/dev/tty2 is a character special file while file initrd-tree-nodebug/dev/tty2 is a character special file
File initrd-tree/dev/tty3 is a character special file while file initrd-tree-nodebug/dev/tty3 is a character special file
File initrd-tree/dev/tty4 is a character special file while file initrd-tree-nodebug/dev/tty4 is a character special file
File initrd-tree/dev/urandom is a character special file while file initrd-tree-nodebug/dev/urandom is a character special file
diff -urN initrd-tree/init initrd-tree-nodebug/init
--- initrd-tree/init    2022-01-26 23:33:29.000000000 +0300
+++ initrd-tree-nodebug/init    2023-11-03 10:30:21.274000000 +0300
@@ -94,7 +94,7 @@
 if grep devtmpfs /proc/filesystems 1&gt;/dev/null 2&gt;/dev/null ; then
   DEVTMPFS=1
   mount -n devtmpfs /dev -t devtmpfs -o size=8M
-fi    
+fi
 
 # Parse command line
 for ARG in $(cat /proc/cmdline); do
@@ -135,6 +135,9 @@
     waitforroot=*|rootdelay=*)
       WAIT=$(echo $ARG | cut -f2 -d=)
     ;;
+    quiet)
+      QUIET=1
+    ;;
   esac
 done
 
@@ -152,25 +155,42 @@
 if [ ! -d /lib/modules/$(uname -r) ]; then
   echo &quot;No kernel modules found for Linux $(uname -r).&quot;
 elif [ -x ./load_kernel_modules ]; then # use load_kernel_modules script:
-  echo &quot;${INITRD}:  Loading kernel modules from initrd image:&quot;
+  if [ ${QUIET} = &quot;&quot; ]; then
+    echo &quot;${INITRD}:  Loading kernel modules from initrd image:&quot;
+    ARG=&quot;-v&quot;
+  else
+    ARG=&quot;-q&quot;
+  fi
   . ./load_kernel_modules
 else # load modules (if any) in order:
   if ls /lib/modules/$(uname -r)/*.*o 1&gt; /dev/null 2&gt; /dev/null ; then
-    echo &quot;${INITRD}:  Loading kernel modules from initrd image:&quot;
+    if [ ${QUIET} = &quot;&quot; ]; then
+      echo &quot;${INITRD}:  Loading kernel modules from initrd image:&quot;
+    fi
     for module in /lib/modules/$(uname -r)/*.*o ; do
-      /sbin/modprobe $module
+      /sbin/modprobe $ARG $module
     done
     unset module
   fi
 fi
 
+# Run plymouthd:
+if [ -x ./start_plymouthd ]; then
+  if [ ${QUIET} = &quot;&quot; ]; then
+    echo &quot;${INITRD}: Starting plymouthd: &quot;
+  fi
+  . ./start_plymouthd
+fi
+
 # Sometimes the devices need extra time to be available.
 # A root filesystem on USB is a good example of that.
 sleep $WAIT
 
 # Load a custom keyboard mapping:
 if [ -n &quot;$KEYMAP&quot; ]; then
-  echo &quot;${INITRD}:  Loading &#039;$KEYMAP&#039; keyboard mapping:&quot;
+  if [ ${QUIET} = &quot;&quot; ]; then
+    echo &quot;${INITRD}:  Loading &#039;$KEYMAP&#039; keyboard mapping:&quot;
+  fi
   tar xzOf /etc/keymaps.tar.gz ${KEYMAP}.bmap | loadkmap
 fi
 
@@ -304,7 +324,7 @@
     umount -l /mountkey
     rmdir /mountkey 2&gt;/dev/null
   fi
-  
+
   # Resume state from swap
   if [ &quot;$RESUMEDEV&quot; != &quot;&quot; ]; then
     # Find resume device if a label or UUID was given:
@@ -323,7 +343,10 @@
   /sbin/udevadm settle --timeout=10
   echo 0x0100 &gt; /proc/sys/kernel/real-root-dev
   mount -o ro${ROOTFLAGS:+,$ROOTFLAGS} -t $ROOTFS $ROOTDEV /mnt
-  
+
+  # Tell plymouthd that rootfs is mounted read-only now:
+  plymouth --newroot=/mnt
+
   if [ ! -r /mnt/sbin/init ]; then
     echo &quot;ERROR:  No /sbin/init found on rootdev (or not mounted).  Trouble ahead.&quot;
     echo &quot;        You can try to fix it. Type &#039;exit&#039; when things are done.&quot; 
@@ -356,5 +379,9 @@
 mount -o move /run /mnt/run
 
 [ &quot;$DEVTMPFS&quot; = &quot;1&quot; ] &amp;&amp; mount -o move /dev /mnt/dev
-echo &quot;${INITRD}:  exiting&quot;
+
+if [ ${QUIET} = &quot;&quot; ]; then
+ echo &quot;${INITRD}:  exiting&quot;
+fi
+
 exec switch_root /mnt $INIT $RUNLEVEL
Binary files initrd-tree/lib64/librt-2.33.so and initrd-tree-nodebug/lib64/librt-2.33.so differ
Binary files initrd-tree/lib64/librt.so.1 and initrd-tree-nodebug/lib64/librt.so.1 differ
diff -urN initrd-tree/load_kernel_modules initrd-tree-nodebug/load_kernel_modules
--- initrd-tree/load_kernel_modules    2023-11-03 14:55:33.336000000 +0300
+++ initrd-tree-nodebug/load_kernel_modules    2023-11-03 10:27:19.176000000 +0300
@@ -1,20 +1,22 @@
+#!/bin/ash
+
 # This is a script used to load the kernel modules.
 # To use it, chmod it 755, and then add the insmod
 # lines needed to load your modules, like this:
 
-modprobe -v jbd2
-modprobe -v mbcache
-modprobe -v ext4
-modprobe -v i2c-core
-modprobe -v sysimgblt
-modprobe -v sysfillrect
-modprobe -v syscopyarea
-modprobe -v fb_sys_fops
-modprobe -v agpgart
-modprobe -v drm
-modprobe -v drm_kms_helper
-modprobe -v ttm
-modprobe -v drm_ttm_helper
-modprobe -v qxl
-modprobe -v intel-gtt
-modprobe -v intel-agp
+modprobe $ARG jbd2
+modprobe $ARG mbcache
+modprobe $ARG ext4
+modprobe $ARG i2c-core
+modprobe $ARG sysimgblt
+modprobe $ARG sysfillrect
+modprobe $ARG syscopyarea
+modprobe $ARG fb_sys_fops
+modprobe $ARG agpgart
+modprobe $ARG drm
+modprobe $ARG drm_kms_helper
+modprobe $ARG ttm
+modprobe $ARG drm_ttm_helper
+modprobe $ARG qxl
+modprobe $ARG intel-gtt
+modprobe $ARG intel-agp
diff -urN initrd-tree/start_plymouthd initrd-tree-nodebug/start_plymouthd
--- initrd-tree/start_plymouthd    1970-01-01 03:00:00.000000000 +0300
+++ initrd-tree-nodebug/start_plymouthd    2023-11-02 23:59:53.618000000 +0300
@@ -0,0 +1,11 @@
+#!/bin/ash
+
+# This script runs both plymouth and its daemon
+if [ -x /usr/sbin/plymouthd ]; then
+  plymouthd \
+    --pid-file=/run/plymouthd.pid
+fi
+
+if [ -x /usr/bin/plymouth ]; then
+  /usr/bin/plymouth --show-splash &amp;
+fi
Binary files initrd-tree/usr/bin/plymouth and initrd-tree-nodebug/usr/bin/plymouth differ
Binary files initrd-tree/usr/bin/yes and initrd-tree-nodebug/usr/bin/yes differ
Binary files initrd-tree/usr/lib64/libdrm.so and initrd-tree-nodebug/usr/lib64/libdrm.so differ
Binary files initrd-tree/usr/lib64/libdrm.so.2 and initrd-tree-nodebug/usr/lib64/libdrm.so.2 differ
Binary files initrd-tree/usr/lib64/libdrm.so.2.4.0 and initrd-tree-nodebug/usr/lib64/libdrm.so.2.4.0 differ
Binary files initrd-tree/usr/lib64/libply-splash-core.so and initrd-tree-nodebug/usr/lib64/libply-splash-core.so differ
Binary files initrd-tree/usr/lib64/libply-splash-core.so.4 and initrd-tree-nodebug/usr/lib64/libply-splash-core.so.4 differ
Binary files initrd-tree/usr/lib64/libply-splash-core.so.4.0.0 and initrd-tree-nodebug/usr/lib64/libply-splash-core.so.4.0.0 differ
Binary files initrd-tree/usr/lib64/libply-splash-graphics.so and initrd-tree-nodebug/usr/lib64/libply-splash-graphics.so differ
Binary files initrd-tree/usr/lib64/libply-splash-graphics.so.4 and initrd-tree-nodebug/usr/lib64/libply-splash-graphics.so.4 differ
Binary files initrd-tree/usr/lib64/libply-splash-graphics.so.4.0.0 and initrd-tree-nodebug/usr/lib64/libply-splash-graphics.so.4.0.0 differ
Binary files initrd-tree/usr/lib64/libply.so and initrd-tree-nodebug/usr/lib64/libply.so differ
Binary files initrd-tree/usr/lib64/libply.so.4 and initrd-tree-nodebug/usr/lib64/libply.so.4 differ
Binary files initrd-tree/usr/lib64/libply.so.4.0.0 and initrd-tree-nodebug/usr/lib64/libply.so.4.0.0 differ
Binary files initrd-tree/usr/lib64/libpng16.so and initrd-tree-nodebug/usr/lib64/libpng16.so differ
Binary files initrd-tree/usr/lib64/libpng16.so.16 and initrd-tree-nodebug/usr/lib64/libpng16.so.16 differ
Binary files initrd-tree/usr/lib64/libpng16.so.16.37.0 and initrd-tree-nodebug/usr/lib64/libpng16.so.16.37.0 differ
Binary files initrd-tree/usr/lib64/plymouth/details.so and initrd-tree-nodebug/usr/lib64/plymouth/details.so differ
Binary files initrd-tree/usr/lib64/plymouth/renderers/drm.so and initrd-tree-nodebug/usr/lib64/plymouth/renderers/drm.so differ
Binary files initrd-tree/usr/lib64/plymouth/renderers/frame-buffer.so and initrd-tree-nodebug/usr/lib64/plymouth/renderers/frame-buffer.so differ
Binary files initrd-tree/usr/lib64/plymouth/text.so and initrd-tree-nodebug/usr/lib64/plymouth/text.so differ
Binary files initrd-tree/usr/lib64/plymouth/two-step.so and initrd-tree-nodebug/usr/lib64/plymouth/two-step.so differ
Binary files initrd-tree/usr/sbin/plymouthd and initrd-tree-nodebug/usr/sbin/plymouthd differ
diff -urN initrd-tree/usr/share/plymouth/plymouthd.defaults initrd-tree-nodebug/usr/share/plymouth/plymouthd.defaults
--- initrd-tree/usr/share/plymouth/plymouthd.defaults    1970-01-01 03:00:00.000000000 +0300
+++ initrd-tree-nodebug/usr/share/plymouth/plymouthd.defaults    2023-11-02 00:17:14.000000000 +0300
@@ -0,0 +1,6 @@
+# Distribution defaults. Changes to this file will get overwritten during
+# upgrades.
+[Daemon]
+Theme=spinner
+ShowDelay=5
+DeviceTimeout=5
diff -urN initrd-tree/usr/share/plymouth/themes/details/details.plymouth initrd-tree-nodebug/usr/share/plymouth/themes/details/details.plymouth
--- initrd-tree/usr/share/plymouth/themes/details/details.plymouth    1970-01-01 03:00:00.000000000 +0300
+++ initrd-tree-nodebug/usr/share/plymouth/themes/details/details.plymouth    2023-11-02 00:17:21.000000000 +0300
@@ -0,0 +1,4 @@
+[Plymouth Theme]
+Name=Details
+Description=Verbose fallback theme
+ModuleName=details
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0001.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0001.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0002.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0002.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0003.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0003.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0004.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0004.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0005.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0005.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0006.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0006.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0007.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0007.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0008.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0008.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0009.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0009.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0010.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0010.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0011.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0011.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0012.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0012.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0013.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0013.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0014.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0014.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0015.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0015.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0016.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0016.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0017.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0017.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0018.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0018.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0019.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0019.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0020.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0020.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0021.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0021.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0022.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0022.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0023.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0023.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0024.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0024.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0025.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0025.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0026.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0026.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0027.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0027.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0028.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0028.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0029.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0029.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0030.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0030.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0031.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0031.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0032.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0032.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0033.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0033.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0034.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0034.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0035.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0035.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/animation-0036.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/animation-0036.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/background-tile.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/background-tile.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/box.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/box.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/bullet.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/bullet.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/entry.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/entry.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/lock.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/lock.png differ
diff -urN initrd-tree/usr/share/plymouth/themes/spinner/spinner.plymouth initrd-tree-nodebug/usr/share/plymouth/themes/spinner/spinner.plymouth
--- initrd-tree/usr/share/plymouth/themes/spinner/spinner.plymouth    1970-01-01 03:00:00.000000000 +0300
+++ initrd-tree-nodebug/usr/share/plymouth/themes/spinner/spinner.plymouth    2023-11-02 00:17:21.000000000 +0300
@@ -0,0 +1,13 @@
+[Plymouth Theme]
+Name=Spinner
+Description=A theme designed by jimmac that features a simple spinner.
+ModuleName=two-step
+
+[two-step]
+ImageDir=/usr/share/plymouth/themes/spinner
+HorizontalAlignment=.5
+VerticalAlignment=.75
+Transition=none
+TransitionDuration=0.0
+BackgroundStartColor=0x202020
+BackgroundEndColor=0x202020
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0001.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0001.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0002.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0002.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0003.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0003.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0004.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0004.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0005.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0005.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0006.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0006.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0007.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0007.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0008.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0008.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0009.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0009.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0010.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0010.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0011.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0011.png differ
Binary files initrd-tree/usr/share/plymouth/themes/spinner/throbber-0012.png and initrd-tree-nodebug/usr/share/plymouth/themes/spinner/throbber-0012.png differ
diff -urN initrd-tree/usr/share/plymouth/themes/text/text.plymouth initrd-tree-nodebug/usr/share/plymouth/themes/text/text.plymouth
--- initrd-tree/usr/share/plymouth/themes/text/text.plymouth    1970-01-01 03:00:00.000000000 +0300
+++ initrd-tree-nodebug/usr/share/plymouth/themes/text/text.plymouth    2023-11-02 00:17:21.000000000 +0300
@@ -0,0 +1,4 @@
+[Plymouth Theme]
+Name=Text
+Description=Text mode theme with a 3 box countdown
+ModuleName=text</code></pre></div></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;rc.M.patch</div><div class="fancy_spoiler"><div class="codebox"><pre><code>--- rc.M_orig    2021-11-12 21:52:01.000000000 +0300
+++ rc.M_plymouth    2023-11-03 00:21:54.442000000 +0300
@@ -420,4 +420,7 @@
   /etc/rc.d/rc.local
 fi
 
+# End plymouth batch:
+/usr/bin/plymouth --quit
+
 # All done.</code></pre></div></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;rc.S.patch</div><div class="fancy_spoiler"><div class="codebox"><pre><code>--- rc.S_orig    2022-01-28 01:32:52.000000000 +0300
+++ rc.S_plymouth    2023-11-03 00:56:16.490000000 +0300
@@ -251,6 +251,8 @@
   if grep -q &#039; / f2fs &#039; /proc/mounts ; then
     echo &quot;Remounting root device with read-write enabled.&quot;
     /sbin/mount -w -v -n -o remount /
+    # Tell plymouth to knew that rootfs was remounted read-write:
+    /usr/bin/plymouth --sysinit
   elif [ ! $READWRITE = yes ]; then
     # Check the root filesystem:
     RETVAL=0</code></pre></div></div></div><p>А вот <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">rc.6.patch</span> предлагаю создать самостоятельно&nbsp; <img src="https://linuxforum.ru/img/smilies/bx.gif" alt="bx" /> </p><p>1.3.2. Ядро пересобирать, в принципе, необязательно, но я пересобрал, потому что дистрибутивное ядро собрано с <span class='Ubuntu Monospace' style="font-family: Terminus; position: relative; height: auto; width: auto; overflow: auto; background: #000000; color: #4EF44E; line-height:1.0; padding: 3px 6px; font-size: 1rem; font-weight: 300;">CONFIG_X86_VERBOSE_BOOTUP=y, CONFIG_EARLY_PRINTK=y</span> и оно при загрузке выводит нечто вроде<br /></p><div class="codebox"><pre><code>early console in decompress_kernel
Decompressing Linux... Parsing ELF... done.
Booting the kernel.</code></pre></div><p> Ну и LILO добавляет свои 5 копеек&nbsp; <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p><p>P.S. Написанное справедливо для Slackware-15.0, для -current и будущих релизов может и не работать.</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2023-11-03T12:37:38Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=471837#p471837</id>
		</entry>
</feed>
