カテゴリー: Linux

  • Intel MacにDebian squeezeをインスコする

    Mac OS XとLinuxのデュアルブートを行えるようにインスコする。
    EFIを使用するシステムにDebianを入れるのは初めてなので手間取った。

    1. Mac OS Xを起動する。
    2. Boot CampアシスタントでDebianインスコ用のパーティションを調達する(パーティションいぢりは他のツールでも大丈夫かと)。
    3. rEFItをインスコする(rEFIt boot menuが表示されるようになるのは2回目の起動から)。
    4. DebianインストーラCDを起動して、インスコ。
    5. GRUBはMBRにインスコせず。
    6. 再起動する。
    7. rEFIt boot menuからDebianを起動できなかったので、インストーラからレスキューモードに入る。
    8. dpkg-reconfigure grub-pc で /dev/sda4 (自分の場合) にGRUBをインスコ。
    9. aptitude install refit し、gptsync /dev/sda を実行する。
    10. ここまでやったら、起動するようになった。

    初期インストール時にgrubのインスコ先に/dev/sda4を指定しておけば、後のステップは不要になると思われるが(gptsyncは必要かも?)、その確認のためだけにやり直すのはメンドイ。

  • Let'sNote CF-R4HでLinux(6)

    なにもしないままの Fn+F1,F2でのブライトネス上下操作が、最大か最小かの 2パターンしかないので設定を変更。
    /etc/acpi/panabright.sh の 3行目、 SPAN=30 とかなっているのを 2 に。
    設定できる値の範囲が 1~21 なので、30単位で増減させたら最大か最小にしかならないですな。

    カーネルもリビルドしますた。kernel.orgから 2.6.21.1 をダウンロードして展開、現在動いている設定を引き継がせるのに、/boot/config-2.6.18-4-686 を展開先の /usr/src/linux/.config へコピーして make oldconfig。
    そこから不要なもの外しを始めるのに make menuconfig (libncurses5-dev と kernel-package と initrd-tools が必要なので aptitude install しておくこと)。
    あとは make-kpkg –initrd buildpackage でビルド終わるのひたすら待ったら、dpkg -i で出来上がったカーネルパッケージをインスコすればOK。

  • Let'sNote CF-R4HでLinux(5)

    suspend to diskは最初から問題なかったので、suspend to ramの動作不具合のチェックから。
    s2ram だと、CF-R4Hはプログラムの方でデータベースとして持っている適切なパラメータリストに対象の機種がないってことで怒られるが、s2ram -f として機種チェックを無視させると正しくサスペンドできるのは早いうちから知っていた。それでは蓋閉じやGNOMEアプレットからのサスペンドが成功しないのは設定ファイルに問題があるのだろうと設定ファイルを探し、/etc/hibernate/ususpend-ram.conf をいぢくり始める。
    ususpend-ram.conf に s2ram -f 相当の USuspendRamForce yes を追加するとサスペンドできるようになるがレジューム時に画面が復帰しない。EnableVbetool と VbetoolPost が無指定だったのを yes にしてみたが画面復帰しない。無指定でも yes指定でも期待通りに動かないってことはこの設定ではないだろうなと思っていたら、ram.confの方で指定されてTAAAAA。
    両方コメントアウトしたら正常になりますた。

  • Let'sNote CF-R4HでLinux(4)

    Panasonic Hotkey driverをインスコ。
    カーネルモジュールとしてビルドするため Driver package の pcc-acpi の方を使用する。最初はとくに準備もせずに make しようとしたら /lib/modules/…/build がないって怒られたので、


    # aptitude install linux-kbuild
    # aptitude install linux-headers-2.6.18-4-686

    で必要なビルド環境を用意して make , make install 。
    modprobe pcc_acpi すると同サイトの hotkey handlers を入れるまでもなく Fn+F1 とかで液晶の明るさ(バックライトの明るさか)を操作できたり。pcc-acpi を入れる前からすでに Panasonic用らしき /etc/acpi/panabright.sh とかあったし acpi-supportあたりのパッケージが適当に対応していたのだろうか。
    あとはとくに問題はないので /etc/default/acpid に pcc_acpi を追加。

  • Let'sNote CF-R4HでLinux(3)

    無線LAN編。前回はDebian Baseをインストールしたところまで。
    今回はデバイスドライバやらツールやらでいろいろ面倒なんだろうなと考えていたら、Debianセットアップ時の「ラップトップ」指定で必要なものとか全部入ってた…。んで、足りない分だけをチョロチョロと設定。

    1. ipw2200のファームウェアをダウンロードして、/usr/lib/hotplug/firmware/ に *.fw をコピーして、rmmod ipw2200 → modprobe ipw2200 してカーネルモジュールをリロード。再起動してもOK。
    2. あとはインストール時にセットアップされた「デスクトップ環境」から設定できる。デフォルトのNautilusの右上にある NetworkManagerアプレットから無線LAN接続のセットアップができるので、そこで自環境に合わせて必要な情報を設定するだけ。
      自宅環境だとNintendoDSの絡みもあるので暗号方式はWEPしか選択しようがないのだけど。

    手軽すぎて拍子抜け。GUI使わなかったらiwconfigあたりで設定すればよいのかな。

  • Let'sNote CF-R4HでLinux(2)

    Debian GNU/Linux 4.0 etch の netinst CD でブート。
    Windowsとのデュアルブートのためパーティション設定だけは手動で進めてあとはデフォルト値におまかせ。ソフトウェア選択では、なにかサーバを動かすわけでないし「デスクトップ環境」、「ラップトップ」、「標準」の 3つを選んであとはひたすらインストール…これは楽ちん。
    ノートラブルでインストールから Xの起動まで出来ちゃうし、最近のLinux環境もずいぶんとよくなったものだ…。

    TODO:

    1. 無線LAN
    2. 蓋閉じでのサスペンドやハイバネーション
    3. Panasonicホットキードライバ

    デスクトップ→設定→電源管理でハイバネーションの設定したら、何の問題もなく動作。サスペンドは失敗したから調べないと。

  • Let'sNote CF-R4HでLinux(1)

    持ち運び可能なLinuxPCがあるといいよねってことで、ここはひとつノートPCへインストールしようと手順についていろいろと記録。メーカーのノンサポートOSなのでいろいろトラブルがあってもおかしくないし、備忘録として残さないと。

    1. CF-R4起動画面でF2を押してBIOS設定に入り、USBデバイスから起動できるよう、ブートデバイスの優先度を変更する。
    2. GParted Live CDから起動し、Linux+swapに11GB割り当てるためにWindowsパーティションを縮小。HDD後ろの約3GBはリカバリ領域なので、First Sectorを覚えておいて潰さないようにする。

    というわけで、今日はここまで。
    次回はDebian GNU/Linux 4.0(etch)のnetinst CDを使ってBaseを入れるところまで。

  • 時計がおかしい

    Linux/PPC の時計がどうも遅れる。
    先日初めて気付いたときはすでに数時間遅れていたし、カーネルがソフトウェアで時間をカウントしているから BogoMIPSの異常のせいだろうかと思いつつ、カーネル再構築までの間は、ひとまず ntpdate + hwclock -w で一旦正しくした後、しのぎで ntpd で時刻合わせを行うようにしておいたのだけど、会社から戻ってくると 4分遅れていたり。
    とりあえずカーネルをBogoMIPSが正しい版にしてからも状況変わらずで、同じ ntpサーバで時刻合わせている他PCと時刻の進み具合を比べててもだんだんと遅れていくし、Linux/x86のときはここまで大きく遅れるようなことはなかったんだけどなー。ハードウェア(Mac mini)の設定が悪いのか、カーネルの設定が悪いのか。

  • Linux/PPC(Debian)でkakasiが動かない原因

    ひらがな、カタカナ、英数のみ(漢字なし) → 動く
    漢字あり → 動かない
    まずはデバッガにつっこむより一連の動作の流れが手っ取り早く分かりやすい strace でシステムコールを追ってみると kanwadict の読み込みがおかしいのがすぐに分かった。
    _llseek(3, 41488384, [41488384], SEEK_SET) = 0 と、いかにも怪しい挙動が。
    事前にいくらか辞書を読んでいるので、これはインデックスを読んで飛んでいるんだろうが変なとこにいくのはエンディアンの違いのせい? と考えて、kakasiを取ってきてビルド & 新しい辞書ファイルのテストをすると、テストプログラムの動作も OK になった。

    以上、ソースを一切読まずに挙動だけで推測したけど、辞書ファイルのエンディアンのせいでFA? データ系はプラットフォームごとに分けてないのでリトルエンディアンの辞書だったんだろう…。こういう問題は deb のメンテナにメールすればいいのかな。

  • kakasi on Debian etch

    perl で Text::Kakasi::do_kakasi を実行するとCPU100%食い続けて処理が終わらない様子なのはなんだろうと思いつつ、眠いのでおやすみ。
    起きたら調べよう。