EeePCの最近のブログ記事

090205_191944.JPGインフルエンザで寝たきりなので、漫画三昧の時間を過ごしていたのだがさすがに飽きてきたので、今までにパソコンで録り溜めているTV番組でも消化するか・・・と思って EeePC で再生しようとしたら、MPEG2 のコーデックが無くて Windows Media Player で再生できねえでやんの・・・。

そうか・・・いつもなら WinDVD か PowerDVD インストールするからな。そのときコーデックもインストールされていたんだよな。
EeePC はディスク容量に限りがあるので、WinDVD も PowerDVD も入れてなかったんだ。

ということで、フリーの MPEG2 コーデック「GPL MPEG-2 Decoder」をインストールした。

http://sourceforge.net/project/showfiles.php?group_id=98765&package_id=105790

しかし、映像は再生されるのだが音が出ない。
うーん・・・

今度は、様々なコーデックをサポートしている ffdshow を入れてみた。

http://sourceforge.net/project/showfiles.php?group_id=173941&package_id=199421

ばっちり!
これで、暇な病床生活が充実するってもんだ。:-)

winup20090128.jpgEeePC 4G-X で、久しぶりに Windows Update を実施した。

C ドライブを空けるために、リバースポイントを作ったり、レジストリを書き換えたり、あれやこれや裏技的対応をして以降、何度やっても Windows Update に失敗してたので、ああ、何か、やっちゃあいかんことをやってしまったかな・・・と鬱ってたんだが、なんだ、どうやら Windows Update のファイルに問題があったようだ。

以前、「Windows Update が出来ない」に書いた Update も、2日後くらいに自動 Update されてたよ・・・(^^;

久しぶりだったので、今回は大量に Update ファイルがあったが、全て問題なく終了した。

・Windows XP 悪意のあるソフトウェアの削除ツール - 2009 年 1 月 (KB890830)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB958687)
・Windows XP Windows XP Service Pack 2 用セキュリティ更新プログラム (KB952069)
・Windows XP Windows XP 用 Internet Explorer 6 のセキュリティ更新プログラム (KB960714)
・Windows XP Windows XP 用の更新プログラム (KB955839) 
・Windows XP Windows XP 用 Internet Explorer 6 の累積的なセキュリティ更新プログラム
・Windows XP Windows XP 用セキュリティ更新プログラム (KB956802)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB954600)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB957097)
・Windows XP Microsoft XML コア サービス 6.0 Service Pack 2 用セキュリティ更新プログラム(KB954459)
・Windows XP Microsoft XML コア サービス 4.0 Service Pack 2 用セキュリティ更新プログラム(KB954430)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB955069)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB927779)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB911562)

しかーし、Windows XP Service Pack 3 (KB936929) はうまく当たらないね。
INS64 で、しこしこダウンロードしてる最中に処理がキャンセルされちゃう。回線遅いからタイムアウトかなんかになってんのかね?

ま、そのうちポロっと上手くいっちゃうんだろうけどなあ。

winuperr.JPG  winuperr2.JPG

どうも、ディスクスペースを空けるためにあれこれやった後遺症で、Windows Update がうまく動かない。
しかも、Microsoft の「あんまり詳しいエラー原因は利用者に教えたくないんだ。だって、Windows の利用者って馬鹿な愚民でしょ?愚民に情報与えるとよくない結果を起こしたりするから」という普遍で不変なポリシーのおかげで、何が問題なのか全然わかりません。(^^;

誰か助けて。(^^;

<状況>
Windows Update をかけた後に再起動すると再び同じ Windows Update が実行される。延々と・・・(終了判定が正しく行なわれていない)

<原因の推測>
A.Program Files フォルダの移動と、元のパスへのリバースポイントの作成。
B.WINDOWS\Temp フォルダの移動と、元のパスへのリバースポイントの作成。
C.「システムの復元」の容量を最小値の 200MB まで減らす。
D.Windows Update でダウンロードしたファイルを全て削除。
E.Documents and Settings の移動と、元のパスへのリバースポイントの作成。
 (レジストリ操作あり。但し、リバースポイント作成後に元の設定に戻している・・・つもり)

・・・という作業を EeePC 上で行なったわけだが、A~B の作業後には正しく Windows Update は行なわれていたので、C 以降の作業が(全然問題ないと思うけど)Windows 的にはお気に召さなかったということか・・・

ただ、D の処理は、Microsoft のサイトでも「Windows Update がうまくいかないときに、ダウンロードした古いファイルを消して再度試してみよ」という記述があるくらいだから、やっちゃいけない操作ではないだろう。

つーと、C か E の作業がいかんかったのか???

C に関しては、今夜にでも大きめの数字に戻してみよう。
それで駄目なら E が原因ということか。(何か、Documents and Settings フォルダを移動すると、色々問題がある OS のようなので。それってどうなのよ・・・(--;)
そうなったらお手上げだなあ・・・(ま、とりあえず Windows Update しなくても困らないわけですが・・・)

たまたまここに辿り着いた「実は俺、原因わかるよ」という神がいらっしゃったら、是非お慈悲を。:-)

よもや、ドキュメントフォルダの移動がこれほど大変とは・・・
やっぱどこか病んでるなあ・・・Windows・・・
ここまで「使用者の勝手にはさせんけんね!」という態度を貫いているくせに、不正な攻撃にはからっきし弱い・・・どうしようもないな Windows ・・・
でも、各種ドライバ類が Windows 用しか提供されていない現状では、どんな糞OSでもそれを使うしかないのだ・・・あ~あ。やだ、やだ。

・・・と、定番の Windows 批判をして、さっそく作業。

まえすとろさんのブログが大変参考になった。
http://maestro.cocolog-nifty.com/maestro/2008/01/cdocuments_and__e737.html

何せ、C:\Documents and Settings の実体を D ドライブに動かそうにも、その中にある、「HKEY_CURRENT_USER」レジストリ以下の内容がそのまま入っているユーザプロファイルデータ(NTUSER.DAT)がガチガチにロックされてて、Unlocker を使っても移動できない。

なので、セーフモードのコマンドプロンプトで xcopy コマンドを使ってディレクトリ丸ごと D:\dovuments 等にコピー。再起動後、regedit で HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 以下の %SystemDrive%\Documents and Settings の部分を D:\dovuments に修正していく。
そして再起動。

これで、C:\Documents and Settings の中がからっぽに出来る。
C:\Documents and Settings の中を全て削除したら、NTFS Utils を使って D:\dovuments を C:\Documents and Settings にマウント。

再度、regedit を使って、今度は D:\dovuments の部分を %SystemDrive%\Documents and Settings に戻していく。

で、再起動。

これにて、やっとこさ C:\Documents and Settings の実体を D ドライブに置いた状態で運用可能となる。

ああ・・・面倒くさ・・・(^^;
でも、おかげで EeePC 4G-X の C ドライブの空きが、1.7GB になりました。:-)

いやあ、でも、ほんと利用者をナメた OS だよね。Windows。
UNIX なら、ユーザプロファイルの入ったドットファイルを本人や root であればなんぼでも消せるし、ディレクトリを移動することだって可能だぜ。
「誤操作を防ぐため」とか言うんだろうけど、中途半端なんだよ、やることが。
でも、あまりにガチガチにシステムを見えない状態にしちゃうと、今度は業務端末として使えないからな。
で、中途半端でしょうもない実装になっちゃってるんだ。
OS が「わかってないヤツの誤操作」を考慮してどうすんの。つか、考慮しきれないだろ?どうせ。
なら、最初から中途半端なことすんなってんだよな。

hdd2oo81103.jpg

しかし、本当に Windows というのは無駄にディスクを喰う OS じゃねえ。
しかも「無駄なファイルを隠す」し。
ほんま、Microsoft が「神」である立場というか、利用者は「愚民」だという思想が見え見えで気色悪いわ。

Program Files フォルダとか移動して、1GB ちょっとくらい C ドライブの空きを作ってたのに、Windows Update を何度かかけたら、もう残り 540MB ですよ。

何なの?それ?
OS のアップデートで 500~600MB も使用量が増えるのって何?

で、ディスクのクリーンアップを行ってみたんだけど、「古いファイルの圧縮」が 420MB 以上あるなんて出てるのに、それを削除するファイルとして指定しても、100MB ちょっとしか使用量減らないんでやんの・・・

Windows って・・・Windows って・・・

結局、裏技的な、

(1) 「システムの復元」の容量を最小値の 200MB まで減らす。

(2) C:\WINDOWS\SoftwareDistribution\Download の下のファイル(Windows Update でダウンロードしたファイル)を全て削除。

という対応で、未使用領域を 1.7GB まで増やした。

Windows って・・・Windows って・・・

色々あって(それはまた別のエントリで書くけど)、ASUS EeePC 4G-X を Windows XP Home Edition に戻すことにした。

XP に戻すのはリカバリCDからすぐなのだが、それだと C ドライブの残りが 800MB くらいしかないので、さすがにそれはちょっと・・・
ということで、Program Files と、Documents and Settings と WINDOWS\Temp の3つのフォルダを SDHC 16GB カードに移動することにした。

以前から、C ドライブの容量の少ない PC を使うときは、後で追加するプログラムは D ドライブ上に作った Program Files にインストールし、そもそも Documents and Settings はあまり使わない質だったので、丸ごとこれらのフォルダを移動したことはなかった。

予想していたとはいえ、「神(root)は Microsoft であり、OS の上に神(root)は必要無い」という思想の(としか思えない(^^;)Microsoft 製 OS では、ドキュメントフォルダひとつ移動するにも大変な知恵と労力を要した。

つーことで、まずは Program Files と WINDOWS\Temp の移動について。

おおざっぱな手順としては、

(1) SDHC を NTFS でフォーマット
 (正確には、コマンド convert d: /fs:ntfs で、FAT32 を NTFS にコンバート)

(2) Program Files フォルダの内容を D ドライブにコピー

(3) WINDOWS\Temp フォルダの内容を D ドライブにコピー

(4) C ドライブの Program Files を丸ごと削除
 (システムがロックしていて消せないファイルがあるので、フリーソフトの Unlocker が必要)

(5) C ドライブの WINDOWS\Temp を削除

(6) C ドライブに、空の Program Files フォルダを作成

(7) フリーソフトの NTFS Utils を使用して、C ドライブの Program Files フォルダに D ドライブの Program Files フォルダをマウント
 (C ドライブの Program Files フォルダの上で右ボタンメニューから「リバースポイントの作成」を選択し、実体として、D ドライブの Program Files フォルダを選択する)

(8) C ドライブに、空の WINDOWS\Temp フォルダを作成

(9) フリーソフトの NTFS Utils を使用して、C ドライブの WINDOWS\Temp に D ドライブの Temp フォルダをマウント
 (C ドライブの WINDOWS\Temp フォルダの上で右ボタンメニューから「リバースポイントの作成」を選択し、実体として、D ドライブの Temp フォルダを選択する)

これでOK!

Program Files と WINDOWS\Temp は今までどおり C ドライブに存在しているが、実体は D ドライブに置かれているため、C ドライブの容量は大幅減。

Documents and Settings フォルダの移動はもっと面倒くさいので、また別のエントリーにて説明。

つーか、Program Files を移動するより Documents and Settings フォルダを移動する方が大変なんて・・・どうなの?(^^;

<参考 URL>
http://cowscorpion.com/file/Unlocker.html
http://www.geocities.co.jp/SiliconValley-SanJose/6898/soft.html

Screenshot20081029.gifはぁ~・・・
パッケージアップデートをして再起動したら ath0 が認識されなくなっちゃったよ。
uname でカーネルのバージョン見てみたら、

2.6.18-92.el5 #1 SMP Tue Jun 10 18:49:47 EDT 2008
 ↓
2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 19:33:52 EDT 2008

微妙にあがってんなあ・・・

こんなマイナーバージョンのアップでも、モジュール作り直しかよ?
モジュールにしてる意味があまりない気が・・・こんなんなら、カーネル組み込みでもええじゃん・・・とか思うなあ・・・

今まで、実は自動でパッケージアップデートをしたことがあまりないんで、Linux というのがそういう設計思想で作られているものなのか(カーネルのマイナーバージョンアップでもモジュールは全部作り直しね・・・と)、自動でカーネルのべージョンアップした時の弊害なのかはわかりませんが・・・

再度、無線LANのセットアップが必要ですな。
とほほ・・・

CentOS on EeePC 4G-X で無線LANは使えるようになったし、SDHCカードも ext2 のディスクとして使えるようになったし、だんだん、持ち歩きデモマシンとして形になってきたんだけど、やっぱ、有線LANは使えるようにしておきたいよなあ。
お客さんのところでデモするのに、無線LANに接続させてもらえるケースってあんまりないもんねぇ。

EeePC 4G-X の有線LANデバイスは Atheros L2 だ。
でも、Atheros AR5007EG のときほど情報が落ちてないなあ。Windows 用のドライバには行き当たるんだけど・・・

SOURCEFORGE.NET で Atheros L2 Gigabit ethernet driver ていうの見つけたけど、Download のところを見ると、No File Packages Defined になってるし・・・

で、英語のページとかを彷徨って、RedHat のページに辿り着いたんだけど・・・
http://people.redhat.com/csnook/atl2/

これで合ってんのかなあ???

最新のこれとか。
http://people.redhat.com/csnook/atl2/atl2-2.0.5.tar.bz2

試しにチャレンジしてみた。(笑)

[root@serv4 src]# wget http://people.redhat.com/csnook/atl2/atl2-2.0.5.tar.bz2
--21:57:25--  http://people.redhat.com/csnook/atl2/atl2-2.0.5.tar.bz2
people.redhat.com をDNSに問いあわせています... 66.187.233.237
people.redhat.com|66.187.233.237|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 29126 (28K) [application/x-bzip2]
Saving to: `atl2-2.0.5.tar.bz2'

100%[=======================================>] 29,126      7.52K/s   in 3.8s

21:57:31 (7.52 KB/s) - `atl2-2.0.5.tar.bz2' を保存しました [29126/29126]

[root@serv4 src]# bzcat atl2-2.0.5.tar.bz2|tar xvf -
atl2-2.0.5/
atl2-2.0.5/atl2.h
atl2-2.0.5/Makefile
atl2-2.0.5/atl2_param.c
atl2-2.0.5/atl2_hw.c
atl2-2.0.5/atl2_hw.h
atl2-2.0.5/atl2_main.c
atl2-2.0.5/atl2_ethtool.c
atl2-2.0.5/atl2_osdep.h
[root@serv4 src]# cd atl2-2.0.5/
[root@serv4 atl2-2.0.5]# make
make -C /lib/modules/2.6.18-92.el5/build
SUBDIRS=/usr/local/src/atl2-2.0.5 modules
make[1]: ディレクトリ `/usr/src/kernels/2.6.18-92.el5-i686' に入ります
 CC [M]  /usr/local/src/atl2-2.0.5/atl2_main.o
/usr/local/src/atl2-2.0.5/atl2_main.c:72: error:
'PCI_VENDOR_ID_ATTANSIC' undeclared here (not in a function)
/usr/local/src/atl2-2.0.5/atl2_main.c: In function 'atl2_request_irq':
/usr/local/src/atl2-2.0.5/atl2_main.c:712: 警告: passing argument 2 of
'request_irq' from incompatible pointer type
/usr/local/src/atl2-2.0.5/atl2_main.c:1548:49: error: マクロ "INIT_WORK"
は引数を 3 要求しますが、2 個しか与えられていません
/usr/local/src/atl2-2.0.5/atl2_main.c: In function 'atl2_probe':
/usr/local/src/atl2-2.0.5/atl2_main.c:1548: error: 'INIT_WORK'
undeclared (first use in this function)
/usr/local/src/atl2-2.0.5/atl2_main.c:1548: error: (Each undeclared
identifier is reported only once
/usr/local/src/atl2-2.0.5/atl2_main.c:1548: error: for each function
it appears in.)
/usr/local/src/atl2-2.0.5/atl2_main.c:1548: 警告: statement with no effect
/usr/local/src/atl2-2.0.5/atl2_main.c:1549:55: error: マクロ "INIT_WORK"
は引数を 3 要求しますが、2 個しか与えられていません
/usr/local/src/atl2-2.0.5/atl2_main.c:1549: 警告: statement with no effect
make[2]: *** [/usr/local/src/atl2-2.0.5/atl2_main.o] エラー 1
make[1]: *** [_module_/usr/local/src/atl2-2.0.5] エラー 2
make[1]: ディレクトリ `/usr/src/kernels/2.6.18-92.el5-i686' から出ます
make: *** [all] エラー 2

ありゃ、make 失敗。

でも、今週は大きな見積を一本作らないといけないので、とりあえずこのまま放置。
この週末にでも時間が取れれば調べてみよう。

undeclared here とか言うてるし、なんか、カーネル関係のソースが足りないとか、そういうことだろうか?(どうも、FreeBSD から流れてくると、Linux 系は「そのくらいのソース、ディフォルトで入れとけ」とか思うことが多々ありますな・・・(^^;)

Screenshot_pkg_updater.pngEeePC 4G-X(CentOS 5.2)には、SDHC 16GB を刺してるんだけど、そのままじゃ FAT32 のディスクなんで面白くないですなあ。(別に、Windows とファイル共有する気もないし。XP Home は買って速攻で消したしなあ)

何せ、メインの SSD の容量が 4GB しかないんで、SDHC カードもLinux のファイルシステムの一部として有効利用したいもんです。

ということで、ext2 でフォーマットして、ハードディスクのように使うように設定しました。

[root@serv4 src]# fdisk -l

Disk /dev/hdc: 4001 MB, 4001292288 bytes
128 heads, 63 sectors/track, 969 cylinders
Units = シリンダ数 of 8064 * 512 = 4128768 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1          25      100768+  83  Linux
/dev/hdc2              26         969     3806208   83  Linux

Disk /dev/sda: 16.4 GB, 16437477376 bytes
255 heads, 63 sectors/track, 1998 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1999    16048128    c  W95 FAT32 (LBA)

この、/dev/sda というディスクを ext2 フォーマットのディスクとして使いたいわけです。

[root@serv4 src]# fdisk /dev/sda1

このディスクのシリンダ数は 15672 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

・・・なんか、警告みたいなのが出てますが、無視して先に進みます。

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
コマンド (m でヘルプ): p
領域番号 (1-4): 1
最初 シリンダ (1-15672, default 1): 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-15672, default 15672):
Using default value 15672

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): 83

コマンド (m でヘルプ): p

Disk /dev/sda1: 16.4 GB, 16433283072 bytes
64 heads, 32 sectors/track, 15672 cylinders
Units = シリンダ数 of 2048 * 512 = 1048576 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1p1               1       15672    16048112   83  Linux

コマンド (m でヘルプ): w
領域テーブルは交換されました!


なんか、「警告: 領域テーブルの再読込みがエラー 22 で失敗しました: 無効な引数です。」とかメッセージが出たんですが、「警告」ということなので無視します。(^^;

ちゅうことで、ext2 にフォーマットを。

[root@serv4 src]# mkfs.ext2 /dev/sda1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2007360 inodes, 4012032 blocks
200601 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4110417920
123 block groups
32768 blocks per group, 32768 fragments per group
16320 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Writing inode tables: done                           
Writing superblocks and filesystem accounting information:
done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

これでお終い。

[root@serv4 src]# mount -t ext2 /dev/sda1 /vol1

としてマウント。/etc/fstab にも mount 情報を書いておく。

[root@serv4 src]# cat /etc/fstab
LABEL=/                 /                       ext2    defaults        1 1
LABEL=/boot             /boot                   ext2    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sda1               /vol1                   ext2    defaults        1 2

これで再起動時もばっちり。

/usr/share とかを /vol1/usr の下に移したら、/(ルート)のディスク使用率 76%だったのが、40% とかになりましたよ。
SDHC の方は、さすがに 16GB。まだ 9% の使用率です。

一般ユーザの home や、/usr/local 以下の諸々のディレクトリも、順次 SDHC の方に移していこうと思っています。

まあ、何はともあれ、ディスク(SSD)が空いたので、やっとパッケージアップデートが出来るでよお。