mkinitrdは使わずに、mkinitramfsを使う

rocketraid 2322を使っているが、ドライバをコンパイルしてインストールする時にinitrdイメージを作りなおすが、そのinitrdで起動させると、devfs not mountedで/dev/console開けなくてKernel Panicを起こす。。。。


 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!

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

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

書き換える箇所は

# 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> /dev/null 2> /dev/null
+which mkinitramfs 1> /dev/null 2> /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 )

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

<追記>

これやると、そもそもrr232x.koモジュールがinitrdに入らなくなった。。。。。orz この方法だと、rocketraidをrootファイルシステムにしているものについては、マウントできなくてそのままKernel Panicですねぇ。 まぁ、対策考えないとなぁ。

Posted at 2pm on 04/06/08 | Posted in , | no responses | read on

特殊文字入力メモ

vimなどで

^MCtrl+V,Enter
^HCtrl+V,Backspace
^?Ctrl+V,Delete
^[Ctrl+V,Esc
Posted at 6pm on 02/27/08 | Posted in | no responses | read on

"/etc/inittab"

/etc/inittab は次の書式

cc : runlevel : action : process
ccrunlevelactionprocess
エントリ識別子実行する場合のランレベルinit(システムで動く一番親のプロセス)の動作実行するコマンド

actionには次の意味がある

wait1度だけ起動し、プロセス終了まで待つ
respawnプロセスを起動し、停止したい場合は再起動する(端末gettyに使用)
once一度だけ起動
boot起動中のみ実行。各プロセスの終了は待たない
bootwait起動中のみ実行されるが、プロセスの終了を待つ
initdefaultデフォルト(指定しない場合の)ランレベルを設定
sysinitシステムコンソールへのアクセスをする前に、何かを実行させたい時に使う(例えば、デバイスの初期化)
off何もしない
ctlaltdelCtrl+Alt+Delキーを受け取った時に実行
kbrequest特定のキー入力が行われた時に実行
powerfail電源異常が起きたときに実行されるが、プロセスの終了を待たない
powerwait電源異常が起こったときに実行
Posted at 11pm on 02/26/08 | Posted in | no responses | read on

mount.cifsを使ってファイルアクセス

あー、もうsmbmountは時代遅れなんだ。

Windows上のファイルにLinuxからアクセスするには

%sudo mount -t cifs

cifsなのね。

Posted at 4am on 02/03/08 | Posted in | no responses | read on

IPv6 MACAddressについてのメモ

janogに流れてたもの。そろそろIPv6もマジメに勉強しないとな。 IPv6 MAC Addressは枯渇するのか?

Posted at 11am on 02/01/08 | Posted in | no responses | read on

imapsync

imapsync imapサーバ間でデータを同期するツール。 imapではディレクトリをコピーしただけではうまくいかないようなので、これを使うのか。

Posted at 10am on 01/30/08 | Posted in | no responses | read on

cutコマンド

cutコマンドの使い方をいつも忘れるのでメモ

使うのは、ほとんどこれだけ

$sudo  cut -f field-list[,field-lists]  -d delimita   filename

-f 1  →  1番目のリスト
-f 2  →  2番目のリスト
-f 1,2    →  1番目と2番目のリスト

-d →  defaultはタブ
-d " " → スペースがデリミタ
-d :    → コロンがデリミタ
Posted at 6pm on 01/28/08 | Posted in | no responses | read on

FUSE(Filesystem in Userspace) sshfs

FUSEは便利だけども、vmware → ssh server だとやっぱり、遅いんだよね。 使い方はこちら

ちなみに、mtabには以下のような感じで表記される

$sudo vigr
fuse:x:107:ryusendo

$sudo sshfs hana.sakihoko.ru:  /var/mnt

$sudo cat /etc/mtab

sshfs#hana.sakihoko.ru: /var/sshfsdir fuse rw,nosuid,nodev,max_read=65536,user=ryusendo 0 0
# 

$sudo fusermount -u /var/sshfsdir

FUSEモジュールがないといけないけども、

$sudo ls -ald /lib/modules/`uname -r`/kernel/fs/fuse
$sudo ls /lib/modules/`uname -r`/kernel/fs/fuse/fuse.ko

が存在している事を確認すること

Posted at 11am on 01/24/08 | Posted in | no responses | read on

Shuttle SD32G2 BIOS アップデート

SD32G2のBIOSアップデートを実行することにした

アップデートは、DOS経由で以下のURLを元にすれば良さそう。
問題はいつやるかだ。

DOS経由 AWDFLASHを用いてアップデートする方法

やる動機はこれ。 Shuttle SD32G2でdebianがインストールできない

暫定対応として、BIOSを

  • Normal (Load Optimizedを使わない)
  • Serial ATA Only にする
  • initrdを使わず、カーネル組み込みにしてOSを立ち上げる

にしていたが、さすがに限界。 software raid使いたいし。

ダウンロードサイトはここ

Posted at 9pm on 01/04/08 | Posted in | no responses | read on

Func

Func

puppet以外のもう1つのシステム管理ツール。yumを通じてサーバファームへコマンドを実行したり、パッケージを導入したりすることができる。

$sudo func "*.example.org" call yum install drecompackages 

すばらしい。 ただ1つ、残念なのが、fedora,redhatのみサポートということだ。

ちなみに、OpenTechPressでの記事はこんな感じの紹介

ITMediaでは、こんな感じ

Posted at 1am on 01/03/08 | Posted in | no responses | read on

Older posts: 1 2 3 ... 6