Let'snote CF-Y4 with SSD

投稿者 okkez 2010-02-16 01:58:00 GMT

Debian を入れてもう5年ほど使っている Let’snote CF-Y4 がどうにも遅くなってきたのでSSDに換装する事にした。 使ったSSDはこれ。

この辺を参考にした。

Let’snote テンプレによると、今回使った Transcend の SSD は JMicron のコントローラを使っているので Let’snoteとは相性が悪いらしい。まあ、参考サイトの二番目のように動いている例もあるのだから大丈夫だろうと思って購入した。 結果的にはうまく動いていると思うが、なかなかに紆余曲折があった。

最初に換装した時には、そのままではBIOSレベルで認識しなかった。 で、色々調べて、SSD No1ピン プルアップ/Ochibi-net を見つけたので真似してみることにした。 しかし、電子工作に必要な工具類は全く持ってなかったので、友人に助けてもらった。 もちろん半田付けも友人にやってもらった。お礼兼夕食としてお寿司の出前を取った。

それでも認識しなかったので、SSDが生きていることを別のマシンにつないでチェックしてもらった。 ついでに、元のHDDに戻してもHDDを認識しなかった。

終電の時間だったので諦めて帰宅したのだけど、ふと思いついてSSDを接続しているコネクタをよく見てみたら、表裏どちらでも挿すことができる形状になっていた。「これは!」と思って裏表入れ替えて再接続して確認したらBIOSで認識した。

結論

Let’snote CF-Y4 を SSD に換装するのは可能だけど、ちゃんといろいろ確認して作業しないと思わぬトラブルになりますよ、と。

あと、Let’snote CF-Y4 の場合はプルアップ無しでもうまく動くかもしれません。

カテゴリ ,  | タグ  | コメントなし | トラックバックなし

grub2 で boot しなくなって焦った件

投稿者 okkez 2009-12-18 14:35:00 GMT

昨晩、メインマシンをなんとなく再起動したら以下のようなエラーメッセージが出て起動しなくなった。

error: you need to load the linux kernel first.

久しぶりにこんな状態になったのでテンパった。 さすが sid だ。油断してるとハマる。

LiveCD でなんとかしようとして KansaiRubyKaigi02 で使った LiveCD を使ったんだけど rescue モードで起動しても chroot できない。何でだろうと思ったら、アーキテクチャが違っていた。対象のマシンは x64 なのに LiveCD は x86 向け なのでした。

仕方が無いので新しいネットワークインストールの CD を焼いて (もちろん amd64 の) rescue モードで chroot して grub-legacy を無理矢理インストールして一応起動するようにはできた。

その後、2ch の Debian スレなどを見てみると同じ問題でハマっている人がいて、その人が見つけてきた BTS があったので読んでみるとまったく同じ問題でした。

カテゴリ  | タグ  | 1 comment | トラックバックなし

Debian sid with nvidia

投稿者 okkez 2009-10-15 05:49:00 GMT

Debian sid を使っているとたまに Kernel を更新する必要がある。単純に Kernel を更新してしまうと X が起動しなくなってしまい困る。そのときの更新方法をいつも忘れるので自分用のメモとして書いておく。

# 更新後の kernel で起動する
$ sudo m-a auto-install nvidia
$ sudo aptitude update && sudo aptitude safe-upgrade # nvidia-glx を更新する
$ sudo shutdown -h -r now

手順自体は上記の通りいたって簡単。更新後の kernel で起動してからモジュールを入れ直すだけ。

カテゴリ ,  | タグ ,  | コメントなし | トラックバックなし

how to use nadoka with ssh port forwarding

投稿者 okkez 2009-07-03 05:42:00 GMT

nadoka さんを設定してみたのでメモ。

インストールは Rubyforge からソースコードをチェックアウトすればよい。(atdot.net のは SSL 対応が入ってないらしい)

設定はささださんとこのを見ながら適当に。 うちでは basicconfig を作って接続先ごとに server の設定だけ異なるサブクラスを作って継承させた設定ファイルを用意した。 接続先は社内 IRC と Ruby と Debian だけ。

で、うちでは自宅サーバに nadoka さんを常駐させているが port を開けていないので SSH port forwarding を利用して nadoka さんに接続することにした。

nadoka さんがいくつかのポートで待っているので以下のようにしてみた。

ssh -N -f -L 6661:localhost:6661 foo@example.com
ssh -N -f -L 6662:localhost:6662 foo@example.com
ssh -N -f -L 6663:localhost:6663 foo@example.com

一応、 nadoka さん起動 -> ssh 起動という順番で操作する必要があるっぽい。

いくつか気になった点。

  • /nadoka reload しても basicconfig の変更は反映されない?
  • pid ファイルを指定出来ないので終了がめんどい

後者については bitclust の standalone.rb を参考に適当にオプション追加してみた。

diff --git a/nadoka.rb b/nadoka.rb
index 2eeca7e..8627ee6 100644
--- a/nadoka.rb
+++ b/nadoka.rb
@@ -31,6 +31,7 @@ $stdout.sync=true
$NDK_Debug = false rcfile = nil
+pid_file = nil
optparse = OptionParser.new{|opts| opts.banner = "Usage: ruby #{$0} [options]"
@@ -53,6 +54,11 @@ optparse = OptionParser.new{|opts|
puts 'Enter Nadoka Debug mode' }
+ opts.on("-p PATH", "--pid-file=PATH",
+ "Write pid of the daemon to the specified file."){|path|
+ pid_file = path
+ }
+
opts.separator "" opts.separator "Common options:"
@@ -72,12 +78,25 @@ unless rcfile
puts optparse exit end
+if pid_file
+ if File.exist?(pid_file)
+ $stderr.puts "There is still #{pid_file}. Is another process running?"
+ exit 1
+ end
+ pid_file = File.expand_path(pid_file)
+ File.open(pid_file, 'w'){|f| f.write(Process.pid) }
+end
begin GC.start Nadoka::NDK_Server.new(rcfile).start rescue Nadoka::NDK_QuitProgram #
+ begin
+ File.unlink(pid_file) if pid_file
+ rescue Errno::ENOENT
+ # do nothing
+ end
rescue Nadoka::NDK_RestartProgram retry rescue Exception => e
@@ -85,6 +104,11 @@ rescue Exception => e
f.puts e f.puts e.backtrace.join("\n") }
+ begin
+ File.unlink(pid_file) if pid_file
+ rescue Errno::ENOENT
+ # do nothing
+ end
end end

追記

friendfeed 経由で knu さんに指摘してもらった。 ssh コネクションは一本でいけるそうだ。

ssh -N -f -L 6661:localhost:6661  \
                -L 6662:localhost:6662  \
                -L 6663:localhost:6663 foo@example.com

これでコネクション切るときも kill 一回で済むようになった。

カテゴリ , ,  | コメントなし | トラックバックなし

Let's note + Linux Kernel 2.6.29

投稿者 okkez 2009-03-30 15:28:00 GMT

Kernel を上げてから、ハイバネートとかできなくて不便だなぁと思って最新のドライバを入れようと思って上記サイトをチェックしたら、2.6.28 から Kernel のソースコードに入ったと書いてあった。

まあ、試してみたらいけたのでこれでいいのだと思う。

$ sudo modprobe panasonic-laptop

できるようになったのは以下。

  • 音量調整
  • ミュートの切り替え
  • サスペンド
  • ハイバネート

できないのは以下。

  • 明るさ調整

いい時代になったもんです。

カテゴリ ,  | タグ  | コメントなし | トラックバックなし

update backend of doc.okkez.net (webrick -> mongrel)

投稿者 okkez 2009-03-15 07:32:00 GMT

doc.okkez.net のバックエンドを更新しました。 今回の更新内容は以下のとおり。

  • 以前、znz さんが Rack 対応にしてくれたのでそれを使用して Rack 対応にしてみました。
  • AP サーバは Mongrel 一個
  • 静的なファイルは nginx から返すようにしたつもり。(といっても CSS くらいしか無いですが。。。)

速くなってるといいんですが、遅いようなら thin cluster か mongrel cluster にしてみる予定。

カテゴリ ,  | タグ ,  | コメントなし | トラックバックなし

zen x-fi with Debian

投稿者 okkez 2008-12-25 23:35:00 GMT

どうせ簡単に動くだろうとタカをくくって買ったら意外と苦労したのでメモ。

以下をインストール。

  • libmtp7
  • gnomad2
  • mtpfs
  • mtp-tools
  • libnjb5
  • mencoder

udev の設定ファイルを編集。自分の場合は以下のとおり

/etc/udev/libnjb.rules
# Creative Zen X-fi SYSFS{idVendor}=="041e", SYSFS{idProduct}=="4162", GROUP="plugdev", MODE="0770"
/etc/udev/libmtp7.rules
# Creative Zen X-fi ATTR{idVendor}=="041e", ATTR{idProduct}=="4162", SYMLINK+="libmtp-%k", MODE="770", GROUP="audio"

これで gnomad2 を起動してから zen x-fi を接続すれば認識するはず。 ただし、自分の環境では動画を一つコピーしたあと gnomad2 がフリーズした。

動画を見るには、必ず 320x240 に変換する必要がある(はず)。 YouTube から DL した動画は変換が必要だった。以下の方法ではリストに動画の時間が表示されなかった。

$ mencoder input.avi -o output.avi \
                -vf scale=320:240 -oac mp3lame -ovc xvid -xvidencopts bitrate=800

ffmpeg でも同じようにすれば出来るはずだけど、まだ試していないのでわからない。

あと mtpfs を使ってもほぼ同じようにファイルのコピーは出来る。

$ mkdir zen
$ sudo mtpfs -o allow_other ./zen
$ ls zen
$ cp sample.avi ./zen/Video/

これを活用して英語の勉強をしたい。

参考

カテゴリ  | タグ  | コメントなし | トラックバックなし

Debian と最新ハードウェア事情

投稿者 okkez 2008-12-09 02:16:00 GMT

主に、自分が以前組んだマシンについて。Debian の sid 前提で。

上記で組んだマシンはサーバーにしてしまったので X も入れてないのですが、LiveCD でブートしてみたら ちゃんと X も動いた。 SATA HDD なんて私の記憶では 6 年くらい前から Debian で動いてたはず。(ASUS の K8V SE Deluxe あたりで組んだときに確認) なので、M/B に SATA コネクタがあれば問題無し。拡張ボードでどうかは試してないのでわからない。(メジャーなチップを載せているものなら動く可能性はすごく高いと思う) nVidia なら最新のグラフィックボードも対応してるはず。少し前の世代ならほぼ確実に対応してる。(これは調べればすぐにわかる)

プリンタは正直言ってよくわからないんだけど、多分、変なプリンタじゃなければ普通に使えると思う。 印刷コストの安いプリンタは欲しいと思っているので、なんかいいの無いかなぁと思ってる。

Debian のインストーラもすごいよ。(以下は lenny のインストーラで作業したはず) 最近、機会があっていろいろなマシンにインストールしたけど、インストールでのトラブルは全くなかった。

  • 上記の自作機 (lenny -> sid)
  • 別の自作機(HW構成は上のとは異なる) (lenny)
  • 某 BTO メーカのノートPC1 (lenny -> sid)
  • 某 BTO メーカのノートPC2 (lenny)

三つ目のマシンでは、特になにも設定していないのに compiz を入れてコマンドをちょっと叩くだけで 3D デスクトップまで 可能だった。以下三つ目のマシンで設定無しで出来たこと。

  • GTK ベースの GUI インストーラがトラブル無く動いた
  • 日本語入力 -> OK (uim-anthy を入れた気がする。デフォルトは scim-anthy)
  • ネットワーク -> DHCP で OK (設定してない。無線LANも設定無しでいけた気がする)
  • 自動アップデート -> 無効にしてたが、アップデートマネージャが教えてくれた
  • タッチパッドやらトラックポイントなんかも無設定で動いた
  • USBキーボード、USBマウス の自動認識
  • USB メモリの自動認識と自動マウント
  • プリンタは試してない
  • 暗号化LVM がインストーラで選択可能とか。

こんな感じ。 ついカッとなって書いた。公開しようと思う。

カテゴリ  | タグ  | コメントなし | トラックバックなし

uvc driver with Qcam communicate STX

投稿者 okkez 2008-12-03 03:00:00 GMT

しばらく前に webcam を新しく買ったのだけど、うまく動かなかった。 lurdan さんに相談したところパッチをあてたら動くらしいことが分かったので挑戦してみた記録。

参考にしたのは以下のサイト。

まずは、前者のサイトからたどった先でパッチをゲットしてあてる。reject されたら手でパッチをあてる。私がやったときは 一ヶ所だけ reject された。

パッチをあてるときは該当のソースコードを適当な場所にコピーしてから行うとよさそう。

後者のサイトを参考に必要なパッケージをインストールして、Makefile を作成する。 このとき、オリジナルの Makefile から必要そうな記述をコピーするのがポイント。 あと、インデントはハードタブ。

Makefile
uvcvideo-objs := uvc_driver.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_ctrl.o \ uvc_status.o uvc_isight.o obj-$(CONFIG_USB_VIDEO_CLASS) += uvcvideo.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

できたら make するだけ。 その後は、元の uvcdriver.ko と置き換えて再起動すればよい。

カテゴリ  | タグ  | コメントなし | トラックバックなし

Dom0 Debian and DomU CentOS5

投稿者 okkez 2008-11-18 13:30:00 GMT

色々やってなんとかなりそう。

DomU に Debian を使うのはすぐにできたけど、 CentOS5 を動く状態にするのがなかなかできなかったのでメモ。

ダメだったやり方を書いているので、参考にしない方がいいと思います。

以下でやるとエラーになってダメだった。

xen-create-image --install-method rinse \
                 --dist centos5 --arch i386 \
                 --dhcp --passwd \
                 --hostname centos5

以下のように修正すると、一応エラーが出ないけどその後がダメだった。

--- centos-4.packages 2008-06-29 05:25:58.000000000 +0900
+++ centos-5.packages 2008-11-18 21:05:32.000000000 +0900
@@ -1,12 +1,13 @@
# # Packages which we'll need to download for a minimal installation
-# of CentOS 4.6
+# CentOS 5.0
# MAKEDEV SysVinit audit-libs
+authconfig
basesystem bash beecrypt
@@ -18,6 +19,7 @@
db4 device-mapper e2fsprogs
+e2fsprogs-libs
elfutils-libelf ethtool expat
@@ -33,6 +35,7 @@
initscripts iproute iputils
+keyutils-libs
krb5-libs libacl libattr
@@ -44,6 +47,7 @@
libstdc++ libsysfs libtermcap
+libuser
libxml2 libxml2-python mcstrans
@@ -54,6 +58,7 @@
neon net-tools openssl
+passwd
pam pcre popt

ダメだった点は以下。

  • rinse の要求するファイルが、 centos5.packages で実際に存在するファイルが centos-5.packages だった -> シンボリックリンクで回避できた
  • root のパスワードを設定していないのに、ログインできない -> シングルユーザモードで起動してから pwconv; passwd で。
  • なんか色々パッケージが足りなくて、まともに動かない -> 諦めた

で、Xen 徹底入門に載ってたやり方で yum を使ってパッケージをインストールした。 ここでも gpg のエラーが出たので、gpg のチェックを無効にしたらとりあえず最後まで行った。

その後、yum groupinstall Base しかしてないので色々入ってないけど、ネットワークもつながるし yum update や yum install も動いているので、問題なく使えそうな状態にできました。

カテゴリ  | タグ  | コメントなし | トラックバックなし