2012年9月17日月曜日

systemdとサービスファイル

archlinuxは、ここ最近、大きな変更がたくさんあって、アップデート作業が大変。
2ちゃんでも話題になっていたとおり、起動の仕方がsystemdに変更、ブートローダーのGrubがいわゆるGrub2になって以前のGrub Legacyはサポートされなくなるとか。

とりあえず、systemd移行はwiki見ながらやってみた。
移行の際にカーネルパラメータの変更があるんだけれど、Grub2に変更したばかりだと「あれれ?」となるかも。

Grub2は前のmenu.lstに相当するファイル「grub.cfg」をgrubに作らせるのが作法。
なので、まず、設定用の別ファイルを調整して、自動作成用コマンドを実行してファイルを作る。
 
 設定用の別ファイルの編集
 /etc/default/grubファイルのGRUB_CMDLINE_LINUX_DEFAULT辺りを書き換え。
  GRUB_CMDLINE_LINUX_DEFAULT="init=/bin/systemd"とか

 自動生成用コマンドの実行
  # grub-mkconfig -o /boot/grub/grub.cfg

systemdへの切り替えは過渡的な状態にあるから、systemd用のデーモン起動スクリプトがパッケージによっては無いものがあり、その時は、ファイルを自分で用意しないとダメ。
そのためのページが以下のもの。

https://wiki.archlinux.org/index.php/Systemd/Services

apacheを動かそうと思ったら、いきなり無くて、探したら上のページができたのでメモ。


2012年9月6日木曜日

新しいインストールメディア


ビギナーズガイドを見てみて、新しいインストールメディアにはインストールスクリプトがなくなったらしいことを知った。
そして、手動でのインストールの仕方が丁寧に説明してあったので、 試したくなって体験中。

今まであまり、パーティションのこととかブートローダーの事に興味がなかったのでGPT?EFI?GRUB2?なんて単語が良く分からず、wikiみたり、ぐぐったりしてるとあっという間に時間が過ぎてしまう。

うちのS101は全然2Tを超えたりしないけれど、とりあえず時代はMBRからGPTなのか?という事で、採用してみましたよ。

2 MiB "BIOS Boot Partition" (EF02 type code in gdisk and bios_grub flag in GNU Parted)

S101はBIOS起動なので、grubを使うときは、この大きさ2Mのブート用パーティションが必要。

2012年9月4日火曜日

再開のテスト

3年ほどになるのかな?
使い方を忘れてしまったので、ちょっとテスト。

2009年10月30日金曜日

aweomeとluaの参考書

S101では、gnomeやkde、いわゆるデスクトップ環境(DE)を起動しない、ウインドマネージャ(WM)のみを利用している。そして、そのWMには、タイリングWMの一つ、awesomeを使っている。

以前にもメモした通り、awesomeの設定ファイルはlua言語で書かれていて、その内容は、tagやウインドウの動作に関するルール、キーバインド、ステータスバーやこれに含ませるコンテンツの動作等、awesomeの動作のほぼすべてに渡っての設定を行う事になる。

これは何も設定をしなければ、デフォルトの規定で動くというものではなく(3.4以降はフォールバック機能がありそう)、まさに、何も書かれていないという設定どおりに何もしてくれない。このため、awesomeの設定ファイルには、WMとして動作するための必要最低限の動作のための設定項目が全て書かれており、その設定の内容についても、動作の規定については、フラグ変数でオンオフを書き換えるというようなものでなく、Luaを使ったawesomeのAPIを経由するプログラムを書き換える作業が必要になるため、awesome自体を楽しもうとするならば、Lua言語の知識も多少なりとも必要になる。

以前のメモの時に購入したluaに関する入門書は、プログラミング自体が初めてという感じの初心者向けの本で、言語の事自体を体系的に述べられておらず、「こういう場合はどうなんだろう?」という好奇心が沸いた時には参考にする事が出来ないものだった。

ところが、こないだたまたま本屋に立ち寄った時に、

「Programming in Lua プログラミング言語Lua公式解説書」

という本を見つけた。新しく出版されたらしい。もともと、原文での解説は、前にも紹介したとおりweb上でも公開されている。けれどボリュームがあるので、やっぱり日本語で読めるとありがたい。特に、初めて触れる言語なら、尚更そう思う。実際にこの本を読んでみると、言語自体について、開発者が解説しているためとても分かりやすい。初めてLuaに触れる、若しくは、興味ある人にとってはお勧めの一冊だと思う(必携でもいいと思う)。

2009年10月25日日曜日

S101近況


みんな、ホスト名ってどうやって付けているんだろう??
うちのは、むかーーし、インターネットを始めた頃、今の「メル友」ってのとは、少しニュアンスの違う昔の文通友達に近いような「メールフレンド」が出来て、その人のペンネームが「madokita」だった。この、「まどきた」っていうのは、どこかの言葉で「マドンナ」と同じらしいって事を聞いた。「マドキータ」とか読むらしい。それ以来、なんかこの単語を気に入って、メインのパソコンのホスト名はいつもこれだ。で、今はこのS101がmadokitaを名乗っている。

当のまどきたさんとメールのやりとりをしていたのは、かれこれ14、5年位前になるけれど、元気にしているのかなぁ?と、たまに思い出す。

おいらをlinuxの世界に引き込んだ友達は、飼い猫の名前をホスト名にしていた。彼とも長いこと連絡をとっていないけれど、今でもそうなのかなぁ?もし、このメッセージをみたら、連絡をよこすように!!!w

さて、オークションでゲットしたintel wifi link 5300っていう無線lanデバイスをとりつけてみた。調子の方は上々。一旦つながってしまうと勝手に切断されてしまうことはないようなかんじ。ただ、サスペンド等、デバイスの電源を落とした後の、デバイスの再起動の時はいまいち動作が安定しないかんじ、、、pm-utils用のスクリプトも書いてみたけど、イマイチ。もういちど、ちゃんと動作させようと思うと、一旦、システム自体の電源を落とした後に、立ち上げなおすと、普通に動く。まぁ、、前よりは普通に使えるようになったので満足。

数日前にawesomeが3.4にアップデートされていた。
もともと、gitの方で3.4も試してみていたんだけれど、モジュールが一新されていて、3.3以前のコンフィグファイルだと立ち上がらない。書き換えるのがじゃまくさいってのは、書き換えたら済むはなしなんだけれど、別の点で困ったことに、xcompmgrとの相性が悪くなっていた。

公式リポジトリにアップデートされるまえのgitの状態では、画面表示が思いっきり重くなってて、実用レベルじゃなかった。その時点では、xcompmgr-gitは、xorgの公式リポジトリのバージョンが低くて、コンパイルが弾かれてた。

で、公式リポジトリにアップデートされた今、awesomeを3.4にして、xcompmgr-gitもコンパイルが通るようになったので、それを導入してみた。通常は普通に使えるけれど、同じタグ内に複数のウインドウを開くと、重くなる症状がでたりする。一旦タグ移動したあと、戻ると、治ったりするけれど、イマイチ不安定。

せっかく、3.4用のrc.lua書いたけど、一応3.3に戻して様子見かなぁ

あと、しばらくxorg入れてなくて、コンソールで作業してることが多かったので、バッシュのプロンプトも適当に書いてみた。acpiコマンドからバッテリーの様子を引っこ抜く関数を適当に書いて呼び出してるせいか、プロンプト表示にワンテンポかかる(^^;
っていうか、.bashrcにいろいろとかくと、ターミナル起動時にプロンプトがでるまでに1秒くらいかかってるかも、、

2009年10月12日月曜日

ヤフーオークションやってみた!

節電術のPM-Utilsのメモ書こうとおもってたんだけど、インストールするだけで動いてるからイマイチ色々試してみる気が起こらない。

唯一引っかかるところは、無線LANが繋がってる状態で、サスペンドして、リジュームすると、上手く元に戻らないんだけど、、pm-utilsには、一般的に必要になりそうな、サスペンド前処理スクリプトと、リジューム後スクリプトが用意されていて、netcfgを使っている場合には、これらの処理を上手くこなしてくれるスクリプトも用意されている。

そんで、無線LANについて、上手くいかないのは、pm-utilsの問題じゃなくて、やっぱり、S101の無線LANのデバイスなんじゃなかろうか?って感じ。acpi関連のメモを書き始めた時のカーネルバージョンでいつの間にか無線LANがまた使えるようにはなっていたんだけれど、イマイチ動作が不安定だった。だいたい、10分間、何もしないでいると勝手に回線が切れちゃうっていう症状がある。

前と違って、ifconfigでデバイスアップした後は、iwlist scanが必ず出来るようになっていたので、wpa_suplicantでの制御がおかしいのかなぁ、、と、接続にWPAを使わず、認証無し状態だと、どんな感じか試しているところなんだけれど、回線が切れない状態が続くような感じ、、でも、勝手に切断もあった。

そんなこんなしている最中に、なんとなくシステムのアップデートをしてみたら、カーネルの.31がtestingからcoreに来ていた!!カーネルのアップデートはだいたい、無線LANに影響があるからignoreしていたんだけれど、.31はやっぱり試したくなる!w

早速 pacman -Syu して、再起動してみたら、、、いつもは起動時にUDev ueventsなんとかいう処理で結構待ったんだけれど、その待ち時間があんまりなくなって、すぐにログインプロンプトが出てきた!!

おおお!!!いいぞーーー!!とか、ちょっと興奮したw

で、、問題の無線LAN。恐る恐る、Fn+F2ボタンを押してみる。こないだ、メモに書いた時は、立ち上げ後処理でnetcfgとか登録してたけれど、今は外してあって、ifconfigでのデバイスのupまでにしてある。つまり、ifconfigで確認したらwlan0があるはずなんだけど、、、ない!!

iwconfigで見ると、あるので、手動でifconfig wlan0 upとしてみると、見たこと無いエラーが出現。。。。トホホ

いつものように、archlinuxのフォーラムでath9kで検索すると、ひっかかった。
みんな、うちとまったく同じ状況らしいw結構レスがあったけど、チラッと見る感じみんな不具合の症状ばかりかいてるみたいなので、めんどくさくなって、あまり読まずに、カーネルを.30のに戻して終了(^^;

どうも、無線LANの不安定さはいつまでたってもひっかかるので、googleで「s101 無線LAN」とか何気なく検索すると、やっぱり、無線LANデバイスの換装の話題が引っかかる。あれこれ読んでいると、前に探してたintel wifi 5300とかいう、ノートに内蔵できるカードがオークションで安く手に入るらしい事が書いてあり、ヤフーオークションで見てみると、5300以外にも結構な品数があった。最近の流行はwimaxが使えるやつらしく、ニセモノとかも出回る大賑わいらしかったw

ヤフーオークション自体は、ずーーっと前に、缶コーヒーのおまけについてるミニカーコレクションをしていたら、全部集められなくて、足りないのをオークションで買ったw

だけど、だいぶん昔に1度やってみただけなので、取引のやり方とかイマイチよくわからない。まぁ、何とかなるかと思いながら、オークションに参加。ボタン押したら即決だったらしく、そのまま終了しちゃった。そっから、先がまたよくわからないので、画面の指示通りなんとなく、出品者に「落札しました」ってメッセージを送ってみたけど、それでいいのかな?

上手く取り付けられるかわからないけれど、早く試してみたいな~!!快適wireless生活になるのかな??w上手くいったらionノートにもつけてみよーっと!

2009年10月7日水曜日

CPUの節電

acpi絡みでCPUの節電ってのを始めて知ったのでメモ。

CPUの節電のために、パワーを制御することが出来る。S101のCPU、Atom N270はデフォルトで1.6GHzで駆動しているが、あまり作業をしていないときなどにクロック数を下げて節電する仕組みがある。archlinuxのWikiで見かけるこの種のユティリティは、CpuFrequtilsとPowernowdの2つ。

CpuFrequtilsの方が[Extra]リポジトリにあるので、こっちを導入してみたが、powernowdの方が設定は簡単っぽい。

パッケージ「cpufrequtils」
インストールはpacmanから。

前準備として、acpi-cpufreqモジュールをロードする。
#modprobe acpi-cpufreq

常時読み込みのため/etc/rc.confのMODULES配列に加えておく。
MODULES=(acpi-cpufreq ...)

モジュールが読み込めたら、以下のコマンドでS101のCPU情報を見ることができる。
$cpufreq-info

N270については、cpu0とcpu1の二つの情報がみれて、
そのそれぞれについてセッティング出来るクロック数や現在のクロック数がみれる。

1.cpuの設定モジュール「scaling govenor」
通常、CPUはいつも最大出力で動いている。しかし、cpufrequtilsは、あまり働かない時にはクロック数を下げる等のいくつかの決まった節電パターンで動かすためのモジュール(govenor)を提供してくれる。モジュールの種類は以下の通り

performance
 いつも最大クロックで駆動する。(カーネル付属のデフォルトモジュール)
cpufreq_ondemand
 システムロードに従って、クロック数を変化させる。(お勧めモジュール)
cpufreq_conservative
 ondemandと似ているが、保守的でクロックスピードは上品に変化する?
cpufreq_powersave
 最小クロック数で駆動させる。
cpufreq_userspace
 ユーザーがルールを定義できる。

これらのうち、好きなモジュールを(全てでも良い)ロードする。
 ※modprobe、恒常的には/etc/rc.confのMODULES配列で読み込み。

読み込んだモジュールのうち一つを選択してcpufreq-setコマンドを使い、対応したパターンでCPUを動かすことが出来る。

#cpufreq-set -g ondemand

使い方は、-gオプションでgovernor名を指定する。
ロードしていないモジュールのgovernorは選択できない。

2.しきい値の変更
ondemandモード等でCPUが動いている場合、CPUの使用率が低い時にクロック数は最小値で動いている。そしてデフォルトではこの状態からCPUの使用率が95%を越えると、クロック数が変更されるようになっている。この95%のしきい値を変更する事も出来る。

現在のしきい値は/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_thresholdファイルに記されているので、catコマンド等で確認できる。もう少し機敏に反応したい場合は50程度の数値を設定しても良いらしい。

#echo 50 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold

但し、これらはリブート時にリストアされないので、/etc/rc.local等で設定して置くと良いらしい。

3.デーモン
/etc/conf.d/cpufreqを設定ファイルとして、/etc/rc.d/cpufreqをデーモンとして動かすことが出来る。

設定ファイルでの設定は、governorパターンの選択のみでOK
governor="ondemand"

最小クロック数と最大クロック数の部分はコメントアウトして自動認識に任せる。
#min_freq="1GHz"
#max_freq="2GHz"

設定ファイルの書き換えがおわったら、rc.confのDAEMONS配列にcpufreqを加えて置く。