<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>hana  saki  hoko  ru: mkinitrdは使わずに、mkinitramfsを使う</title>
    <link>http://hana.sakihoko.ru/articles/2008/04/06/mkinitrd%E3%81%AF%E4%BD%BF%E3%82%8F%E3%81%9A%E3%81%AB%E3%80%81mkinitramfs%E3%82%92%E4%BD%BF%E3%81%86</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>ruby rails debian daily</description>
    <item>
      <title>mkinitrdは使わずに、mkinitramfsを使う</title>
      <description>&lt;p&gt;rocketraid 2322を使っているが、ドライバをコンパイルしてインストールする時にinitrdイメージを作りなおすが、そのinitrdで起動させると、devfs not mountedで/dev/console開けなくてKernel Panicを起こす。。。。&lt;/p&gt;

&lt;pre&gt;

 umount: devfs: not mounted
 pivot_root:No such file or directory
 /sbin/init: 432: cannot open dev/console: No such file
 Kernel panic - not syncing: Attempted to kill init!

&lt;/pre&gt;

&lt;p&gt;非常に寂しい。
これなんだろうと探していたら、initrdimgを作るなら、mkinitrdを使うのではなく、mkinitramfsを使う事。(devfsが廃止された事に対応してる)  という訳で、rocktraid のdriver のinstall.shをいじった。&lt;/p&gt;

&lt;p&gt;対象のファイルは:  rr232x-linux-src-v1.07/osm/linux/install.sh&lt;/p&gt;

&lt;p&gt;書き換える箇所は&lt;/p&gt;

&lt;pre&gt;
# diff -u install.sh.original install.sh
--- install.sh.original 2008-04-06 14:36:27.463394124 +0900
+++ install.sh  2008-04-06 14:38:08.188686133 +0900
@@ -53,9 +53,9 @@

-which mkinitrd 1&gt; /dev/null 2&gt; /dev/null
+which mkinitramfs 1&gt; /dev/null 2&gt; /dev/null
 if test $? -ne 0 ; then
-       echo "Can not find command 'mkinitrd'."
+       echo "Can not find command 'mkinitramfs'."
        exit 1
 fi

@@ -98,7 +98,7 @@
                                fi
-                               mkinitrd ${WITHSCSI} ${WITHSD} --with=${TARGETNAME} /boot/initrd-${MODVER}.img ${MODVER}
+                               mkinitramfs ${WITHSCSI} ${WITHSD} --with=${TARGETNAME} /boot/initrd-${MODVER}.img ${MODVER}
                        fi
@@ -127,7 +127,7 @@
                fi
-               mkinitrd
+               mkinitramfs
        else
                echo "The compiled module is not for current kernel. /boot/initrd-`uname -r` is not updated."
        fi
@@ -138,7 +138,7 @@
                fi
-               mkinitrd -o /boot/initrd.img-${MODVER} ${MODVER}
+               mkinitramfs -o /boot/initrd.img-${MODVER} ${MODVER}
        fi
 ;;
 turbo )
&lt;/pre&gt;

&lt;p&gt;というわけで、このあたりを変更したところうまくブートするようになってくれた。　これ気をつけないとな。&lt;/p&gt;

&lt;p&gt;&amp;lt;追記&gt;&lt;/p&gt;

&lt;p&gt;これやると、そもそもrr232x.koモジュールがinitrdに入らなくなった。。。。。orz   この方法だと、rocketraidをrootファイルシステムにしているものについては、マウントできなくてそのままKernel Panicですねぇ。　まぁ、対策考えないとなぁ。&lt;/p&gt;</description>
      <pubDate>Sun, 06 Apr 2008 14:43:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:b8ed53cf-f7a0-47a0-9d93-1e124f68a783</guid>
      <author>ryusendo</author>
      <link>http://hana.sakihoko.ru/articles/2008/04/06/mkinitrd%E3%81%AF%E4%BD%BF%E3%82%8F%E3%81%9A%E3%81%AB%E3%80%81mkinitramfs%E3%82%92%E4%BD%BF%E3%81%86</link>
      <category>linux and debian</category>
      <category>pc and server</category>
    </item>
  </channel>
</rss>
