<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Борьба с kernel panic в Linux-ядре ...</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html</link>
    <description>Начиная с версии 2.6.35 в Linux-ядре появилась полезная функций &quot;ramoops&quot;, позволяющая в случае краха сохранять информационный дамп состояния ядра в памяти для последующего анализа. Вкомпилировать данную функцию в ядро или загружать модулем &quot;ramoops&quot; - без разницы.&lt;br&gt;&lt;br&gt;Единственная хитрость - сначала нужно зарезервировать память в ядре.&lt;br&gt;Сделать это можно указав ядру параметр memmap=256K&#064;0xfc0000&lt;br&gt;(резервируем 256К перед ядром).&lt;br&gt;&lt;br&gt;Если ramoops в ядре, то добавляем параметры &lt;br&gt;&lt;br&gt;   ramoops.mem_address=0xfc0000 и&lt;br&gt;   ramoops.mem_size=0x40000&lt;br&gt;&lt;br&gt;параметр ramoops.dump_oops=1 является умолчанием, так что его можно не указывать.&lt;br&gt;&lt;br&gt;Для модуля &quot;ramoops&quot; эти параметры нужно указать при загрузке.&lt;br&gt;&lt;br&gt;Теперь чтобы ядро не осталось в мертвом виде, не забываем сделать&lt;br&gt;&lt;br&gt;   echo 10 &amp;gt;/proc/sys/kernel/panic&lt;br&gt;&lt;br&gt;и (если нужно, а иногда полезно)&lt;br&gt;&lt;br&gt;   echo 1 &amp;gt;/proc/sys/kernel/panic_on_oops&lt;br&gt;&lt;br&gt;Теперь проверяем при помощи crash-а через Alt-SysRq-C.&lt;br&gt;&lt;br&gt;После перезагрузки, текст crash-дампа будет лежать в памяти, начиная с адреса </description>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#12</link>
    <pubDate>Thu, 23 Sep 2010 02:07:09 GMT</pubDate>
    <description>&amp;gt;Никак. Дамп там *останется* с &quot;прошлого&quot; раза. &lt;br&gt;&lt;br&gt;Спасибо, что читаете более поздние сообщения &lt;br&gt;и отвечаете на более ранние. :)&lt;br&gt;</description>
</item>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (User294)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#11</link>
    <pubDate>Wed, 22 Sep 2010 23:13:57 GMT</pubDate>
    <description>Никак. Дамп там *останется* с &quot;прошлого&quot; раза. При мягкой перезагрузке содержимое памяти никто не чистит (насколько это правда-зависит от биоса/загрузчика в принципе). Так что кернелу ничто не помешает при следующей загрузке взять из памяти то что туда сложила покрашившаяся инкарнация ядра до выполнения мягкого ребута. Собссно для того и резервируется(иначе нет никаких гарантий что ядру не приспичит записать чего-то именно в эту же область оперативы, а так его явно тыкают носом в то что низзя этот кус памяти трогать). Просто и старо как мир. IIRC, были даже досовые вирусы которые пытались (с переменным успехом) переживать мягкую (теплую) перезагрузку (ту которая скипает мемтест) юзая похожие фокусы.&lt;br&gt;</description>
</item>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#10</link>
    <pubDate>Tue, 14 Sep 2010 10:42:15 GMT</pubDate>
    <description>Вот что рассказал автор:&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Tell me please, where are stored ramoopses, if I turn off the power? :)&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; When you load the module (or with kernel command line) you have to say&lt;br&gt;&amp;gt;&amp;gt; to the kernel the address to remap, i.e. where you want to store the&lt;br&gt;&amp;gt;&amp;gt; oops.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;  It&apos;s work if only i make a &quot;soft-reboot&quot;, without regeneration of RAM ?&lt;br&gt;&amp;gt;&lt;br&gt;&lt;br&gt;The physical address can be normal RAM, NVRAM, and so on. Sure, if you&lt;br&gt;use normal RAM, the bootloader/bios shouldn&apos;t write the memory area&lt;br&gt;selected to store the oops at the next reboot. In the embedded world&lt;br&gt;it&apos;s a common feature, see CONFIG_PRAM of u-boot for example.&lt;br&gt;&lt;br&gt;Regards, Marco&lt;br&gt;&#091;/code&#093;&lt;br&gt;</description>
</item>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#9</link>
    <pubDate>Tue, 14 Sep 2010 06:21:49 GMT</pubDate>
    <description>Рассчитано на мягкий ребут, вызванный крахом ядра. Память не очищается, соответственно старые данные остаются на том же месте, где и оставлены. После ребута посмотрите /dev/mem, много интересного из &quot;прошлой жизни&quot; найти можно.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (stranger)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#8</link>
    <pubDate>Tue, 14 Sep 2010 05:38:20 GMT</pubDate>
    <description>Ramoops, like mtdoops, can log oops/panic information but in RAM. It can&lt;br&gt;be used with *persistent RAM* for systems without flash support. In&lt;br&gt;addition, for this systems, with this driver, it&apos;s no more needed&lt;br&gt;add to the kernel the mtd subsystem with advantage in footprint.&lt;br&gt;</description>
</item>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#7</link>
    <pubDate>Mon, 13 Sep 2010 22:21:32 GMT</pubDate>
    <description>&amp;gt; Единственная хитрость - сначала нужно зарезервировать память в ядре.&lt;br&gt;&amp;gt; Сделать это можно указав ядру параметр memmap=256K&#064;0xfc0000 (резервируем 256К перед ядром).&lt;br&gt;&lt;br&gt;1.  memmap=256K$0xfc0000 ($ надо писать, для резервирования)&lt;br&gt;&lt;br&gt;     http://lxr.linux.no/#linux+v2.6.35/Documentation/kernel-parameters.txt#L1418&lt;br&gt;&lt;br&gt;&amp;gt; Если ramoops в ядре, то добавляем параметры &lt;br&gt;&amp;gt; ramoops.mem_address=0xfc0000 и  ramoops.mem_size=0x40000&lt;br&gt;&lt;br&gt;2. То с вероятностью 99.999&#037; схватите &lt;br&gt;&lt;br&gt;ramoops: request mem region failed&lt;br&gt;&lt;br&gt;3. cat /proc/iomem , говорит что по адресу 0xfc0000 &lt;br&gt;&lt;br&gt;00fc0000-00ffffff : System RAM&lt;br&gt;&lt;br&gt;&lt;br&gt;Где он сцука хранит??? Если я питание выключаю!!!!!!!!!!&lt;br&gt;</description>
</item>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#6</link>
    <pubDate>Mon, 13 Sep 2010 19:05:07 GMT</pubDate>
    <description>Более интересно &lt;br&gt;&lt;br&gt;&amp;gt; После перезагрузки, текст crash-дампа будет &lt;br&gt;&amp;gt; лежать в памяти, начиная с адреса 0xfc0000.&lt;br&gt;&lt;br&gt;Как он туда попадёт, *после перезагрузки* ?! :)&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#5</link>
    <pubDate>Mon, 13 Sep 2010 18:58:22 GMT</pubDate>
    <description># CONFIG_STRICT_DEVMEM is not set &lt;br&gt;&lt;br&gt;Ась?&lt;br&gt;</description>
</item>

<item>
    <title>Борьба с kernel panic в Linux-ядре 2.6.35 и выше .  (stranger)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/70594.html#4</link>
    <pubDate>Mon, 13 Sep 2010 18:54:02 GMT</pubDate>
    <description>dd: reading &#096;/dev/mem&apos;: Operation not permitted&lt;br&gt;</description>
</item>

</channel>
</rss>
