23
PCとのつきあい方 SHIMADA Hirofumi, @shimadah

謎PCとの付き合い方(LILO東海道 2015/5発表分)

Embed Size (px)

Citation preview

謎PCとのつきあい方

SHIMADA Hirofumi,@shimadah

opencoconとは

● 旧型PCをシンクライアントとして活用するためのLinuxディストリ

● 俺アップストリーム● 流行りに左右されない Matchbox + TUI メニュー

古いPC向けのカスタマイズ

● 最低メモリ:64MB (HDD起動:32MB)● 初代Pentium以降● 新旧さまざまなPCに(局所的に)対応– PC/ATは多種多様な機種があるため、フォーカスする機種を定めて対応

蓄積されている謎PC

日夜舞い込む謎PCレポート

日夜送られてくる謎PC

ここんの強みといえば

● 小回りの利くディストリなので、謎PCの報告受け次第調べてすぐ実装することができる

● そのための仕組みも(綺麗ではないが)ある● 時々upstreamに報告することもある

つまり

旧型PCはここんにお任せ!

spmachine

● ここん独自のスクリプトで、癖のある謎マシンの挙動をコントロールする仕組みを備えている– 起動スクリプトのうち、X.org が動く直前に作動

– だいたいはX.orgの画面表示に関する修正

(本来手で書く必要がある /etc/X11/xorg.conf.d/* を全自動で入れる仕組みを持っている)

– タッチパネルドライバを起こしたりするのもここ

– あと、ちょっとした修正で間に合う場合はここ

syslinuxメニュー

● どうしても spmachine で自動判定できない際に、起動時のメニューに特定機種の項目を出すことがある– といっても、今のところ強制フレームバッファモード(Force Framebuffer) と PCG-C1 のみ

– ここに入るのは、機種名を特定する手段がない場合に限られる

ドライバを修正することも...

● これも基本的には普段やらない手段● と言いつつ、近年は古いx.orgドライバは動かないケースが増えているので修正することがある– パッチは基本的に他ディストリ(Debian, Ubuntu, Arch, Gentooなど)から持ってくる

● カーネルにパッチを当てることもある– Libretto 50用のpata-legacyパッチなど

● 単にモジュールの入れ忘れということもある– Broadcomの有線LANなど

openchromeへの報告

● Openchrome MLに、日立の赤いシンクライアントのPCI IDをパッチ付けて報告

→ 1年後、遅くなってごめんというメンテナさんの言葉と共にマージされる

本日のお題

http://www.atmarkit.co.jp/news/200806/23/hp.html

HP Thin-Client 2533t

● CPU : VIA C7 1GHz● Memory : 1GB● Flash Memory : 1GB● Graphics : VIA Chrome 9● Windows XP Embedded● 頑丈らしい● 最近まれにヤフオクなどにあるらしい

最近入った報告によると

● このPCでここんを走らせると、起動途中に電源が落ちる

● 最近のディストリは同様の症状で全滅らしい– 少なくとも Ubuntu, Puppy の新しいものは動かないらしい

いろいろ調査

● VIAだとよくX.orgのopenchromeが動かない→なのでシャットダウンという流れが考えられる– デバイス名をお聞きしたうえで、そのへんをちょこっと直したビルドを作った

– しかし動かない

● 他のディストリでの調査をお願いする– 前述の通り (Puppyの古いものでは動くらしい:おそらくは2.6.1x 世代)

● ネットを調べる– 「動かねーよ」という叫びしか聞こえない

これはなにかあるんちゃう

https://www.flickr.com/photos/38449766@N03/3602195819/

ヤフオクで買って調べてみた

● 確かに落ちる、しかし状況によって落ちるポイントが違う

● debugモードで調べてみた:その結果、本番のudevが起動する段階(つまりすべてのデバイスをwakeする部分)で発生することが判った

● いろんなジャンルのドライバをblacklistしてみた:関連性がない

● もしかして、と思いついてACPIを無効にしてみた:当たり!

ACPIいうと範囲が広いので

● どこが落ちているか、ACPIのサブドライバ(ac, battery 等)ごとにblacklistして調べてみた

● → processer が当たり!

.  ____ /  ´՞  ՞`\ |   し  |(    ਊ   } \_____/  ||   //  m   m

.  ☝        ՞ _人人人人人人_ > (     ) <  ☞  ̄Y^Y^YY^Y^Y ̄

 ՞      ਊ

そんなわけで

● コードが読めなくても9割方の謎PCは対応できます

● 今回判ったことは早速取り込みます● 謎PCの報告お待ちしております● 今年もopencoconがんばります

– v10のリリースまで遠いですが...orz