2005年12月11日(日) [過去の今日]
おお、lspci -nの結果を張ったら、わらわらとデバドラ情報が。
さっそくうちのlspic -nも突っ込んで、Linuxにまだ取り込まれてないNICのドライバ情報も書き込んで来た。こういう情報が集まると、自動認識機構なんかに役立つんだろうなあ。
(@396)
#2 64bit kernel with 32bit userland
せっかくAthlon64を買ったのに32bitのままで使い続けるのももったいない、というか、違いを確認するための64bitバイナリ実行環境が欲しいというのもあって、いろいろ試行錯誤してみた。
debianのi386 portにも実はlib64*とかlibc6-amd64とかがあって、userland的には64bitバイナリが実行可能だったりする。あとはカーネルが64bit化されれば、64bitバイナリを実行できるはず。
ということでIRCでその筋のエロい人に教えてもらったり、ウェブを検索したりして実際にやってみた。
まずは
# apt-get install libc6-amd64 libc6-dev-amd64 lib64*
で、64bitライブラリを揃える。
それから64bitカーネルをコンパイルするために、クロスコンパイル環境を作る。これがいろいろと曲者だった。
$ apt-get source binutils gcc-3.4
してソースをゲットしたはいいが、これを手makeしなきゃならない。 まずはbinutilsから、gcc-3.4を使ってmakeする
$ CC=gcc-3.4 ./configure --prefix=/usr/local/cross_x86-64 \ --target=x86_64-linux --host=i686-linux --build=i686-linux $ CC=gcc-3.4 make $ make install
そしたら次にgcc-3.4をコンパイルするのだが、これがちょっとめんどう。
# cp -a /usr/include /usr/local/cross_x86-64 # cp -a /usr/src/linux/include/linux /usr/local/cross_x86-64/include/linux # cp -a /usr/src/linux/include/asm-generic /usr/local/cross_x86-64/include/linux/ # cp -a /usr/src/linux/include/asm-x86_64 /usr/local/cross_x86-64/include/linux/asm # cp -a /lib64/* /usr/local/cross_x86-64/lib/ # cp -a /usr/lib64/* /usr/local/cross_x86-64/lib/
と、このようにライブラリをまとめて置いといてやらないといけないみたい。
さて、そしてgcc-3.4のコンパイル
$ CC=gcc-3.4 PATH=$PATH:/usr/local/cross_x86-64/bin ./configure \ --prefix=/usr/local/cross_x86-64 \ --target=x86_64-linux --host=i686-linux --build=i686-linux\ --enable-languages=c --with-gnu-as --with-gnu-ld --disable-shared $ CC=gcc-3.4 PATH=$PATH:/usr/local/cross_x86-64/bin make # make install
ふう、これで準備完了。いよいよカーネルの構築。
$ make HOSTCC="gcc-3.4" ARCH=x86_64 \ CROSS_COMPILE=/usr/local/cross_x86-64/bin/x86_64-linux- oldconfig $ make HOSTCC="gcc-3.4" ARCH=x86_64 \ CROSS_COMPILE=/usr/local/cross_x86-64/bin/x86_64-linux- menuconfig $ make HOSTCC="gcc-3.4" ARCH=x86_64 \ CROSS_COMPILE=/usr/local/cross_x86-64/bin/x86_64-linux- vmlinux $ make HOSTCC="gcc-3.4" ARCH=x86_64 \ CROSS_COMPILE=/usr/local/cross_x86-64/bin/x86_64-linux- install $ make HOSTCC="gcc-3.4" ARCH=x86_64 \ CROSS_COMPILE=/usr/local/cross_x86-64/bin/x86_64-linux- modules $ make HOSTCC="gcc-3.4" ARCH=x86_64 \ CROSS_COMPILE=/usr/local/cross_x86-64/bin/x86_64-linux- modules_install
カーネルの設定でIA32 Emulationは必ず入れておくこと。考えたらmake-kpkgを使わずlinuxカーネルを作ったのってはじめてだな。こんなんでいいんだっけ?(わら
ま、とりあえずこれで再起動。すると32bitのmodprobeなんかもちゃんと動いて、モジュールもきちんと組み込まれる。適当なCのソースをcc -m64でコンパイルしても、ちゃんと動く。
よしよし、とりあえずこれで64bitバイナリ実行環境は整ったぞっと。あとはベンチマークに適したソフトを見っけて来るかなあ。
(@707)
@ む?:
一通りのデバイスが問題なく動いてるので気にならなかったが、チューナカード(saa7130)が動いてなかったようだ。
dmesgをみると、
ioctl32(tvtime:19971): Unknown cmd fd(6) cmd(80685600){00} arg(ffffb288) on /dev/video0 ioctl32(mplayer:19988): Unknown cmd fd(4) cmd(80685600){00} arg(083e98fc) on /dev/video0 ioctl32(mplayer:19998): Unknown cmd fd(4) cmd(80685600){00} arg(083e98fc) on /dev/video0 ioctl32(mplayer:20008): Unknown cmd fd(4) cmd(80685600){00} arg(083e98fc) on /dev/video0 ioctl32(v4l-conf:20011): Unknown cmd fd(4) cmd(80685600){00} arg(ffffb67c) on /dev/video0 ioctl32(xawtv:27124): Unknown cmd fd(4) cmd(80685600){00} arg(080c5188) on /dev/video0 ioctl32(v4lctl:27126): Unknown cmd fd(4) cmd(80585600){00} arg(0806a458) on /dev/video0 ioctl32(v4lctl:27126): Unknown cmd fd(4) cmd(80685600){00} arg(0806a458) on /dev/video0
むう、このへんはPure64じゃないと動かないぜって事なのかな?
(@779)
2005年12月12日(月) [過去の今日]
うはは、すっげえ無意味な商品だな。MSにすでに報告済みの欠陥情報を販売してどうするんだか。しかもMS社員に10%引きで販売、精算時に"LINUXRULEZ"と書けという指示。もう爆笑。
単なるMS嫌いでLinux支持してるような人なんだろうなあ。確かにMSは俺も嫌いだが、別にLinuxが支配するような世の中を望む必要も無いんだが *1 。
(@452)
#2 ffmpegでmp4ファイルを作る
えっと、ファイル形式がmp4で、動画codecがh264で音声がaacならいいんだっけ?
$ ffmpeg -i vipstar.avi -f mp4 -vcodec h264 -acodec aac vipstar.mp4
はて、作ってみたくて作ったのはいいが、うちにはiPodもPSPも無い。ちゃんと見れるんだろうか。
(@754)
2005年12月13日(火) [過去の今日]
ひろの日記帳 でハッケソ。
このサイトほんとおもしろいな。さっそく適当に作ってみた。
狐の王様
おはようございます
すいません。風邪をひいてしまいました。
辛くていつ会社にいけるかわかりません。あきらめてください。
飼っている猫が鼻をぐずぐずさせていたのですが、まさか人間にうつるとは思いませんでした。
仕事の件に関しては同じグループのものに聞いてもらえればわかると思います。
では、よろしく。給食のプリンは食べてけっこうです。
会社で給食あんのかよっ。
(@918)
2005年12月18日(日) [過去の今日]
#1 風邪ひきまくり
2005年12月19日(月) [過去の今日]
違う、それは淳子トラップである。テストとかで設定しておいたのを放置、そのまま忘れてるという、典型的な淳子トラップではないか。
まあ、こちらのテストに付き合わせた結果だから、申し訳ないやらありがたいやらではあるんだけども。
(@237)
Latest topics でハッケソ。
なかなかおもしろいやりとり。題材にされてる本の内容は見てないが、レビューを読む限り勘違いしまくってておもしろそうだ。
その本の著者のようなファッション系の人に、アニメやフィギュアに金突っ込む事を推奨するような本でも書いて読ませてみればいいんじゃないの。ちょっといい服を1〜2着買うこと事考えたら、DVD-BOXの一つや二つ買えるでしょ。
(@621)
Latest topics でハッケソ。
あー、なるほど、確かにたまに漫画やアニメで見るキャラだな、素直クール。Ajaxとかみたいにカテゴリを見出して命名する力って、けっこう重要だよなあ。
(@626)
Latest topics でハッケソ。
ううむ、まさか俺が十代のころから大好きな「案山子」がこういう形で使われるとは。なんかもう、いろんなイメージがダブっちゃって、涙腺ゆるみまくり。
しかし、このFlashを見て確信した。日本人は技術と技術の結晶に愛が持てる国民だ。この愛がある限り、技術立国であり続けられるだろう、きっと。
(@633)
2005年12月20日(火) [過去の今日]
ふむ、単純なXSSだけども、脆弱性と言っていいのかなあ。
ようするにMixi外でのアクセスもMixiアカウントを持っていれば、Mixiによってアクセス者が特定される、ということ。しかし、Mixiに登録してある情報は「友人まで公開」「友人の友人まで公開」と設定可能であるし、漏れたところで被害と言えるようなものは無いんじゃないだろうか。
まあ、この手の手法は被害者がアクセス者なので、refererを見ることで対策が可能ではあろう。自分以外にrefererを書き換えられる人がいない、という前提なので、UAの脆弱性を利用されて書き換えられた場合はダメダメだけども。ま、複数の脆弱性を利用されるというのはよくあることとはいえ、そこまで考慮する必要もあるまい。ただ、外部からのリンクが不便になってしまうので、そこらへんは考慮したいものである。
(@141)