トップ 最新 追記
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2005年09月01日

SH-Linux (SH3 perl)

夜なべビルドでperlの _sh3.deb パッケージ生成に成功した。
real    485m25.799s      (8時間5分)
user    461m1.040s
sys     15m13.140s
kogiidenaさんのdebian26上に dodes版のsh3 base.tgz をほどいてchroot出来ることが分かったので\(^^)/ 作業速度は2倍になりました。dpkg-architecture は勝手にsh3だと思いこんでくれるし(あたりまえか)。

2005年09月02日

夏の終わり


うろこ雲。この雲がでたら、夏も終わりですね。今年の夏は暑くて短かったな。

2005年09月05日

サルサ

土曜日のエルココは時間が遅くなっても出かけるようにしている。仲間が集まってるからね。土曜日は3,4曲しか踊らなかったかもしれないけど、楽しかった。

Salsa場に通うようになって良かったなと思う瞬間(^-^)。

SH-Linux (SH3 Sarge)

う〜ん。gcc-3.4.3はまだ問題があるみたい。jadeのコンパイルでgccがSegmentationFaultする。i386上のクロスのsh3-linux-gccでも全く同じ問題が発生した。
make[2]: Entering directory `/root/build/jade/jade-1.2.1/jade'
distcc g++ -g -pipe -D_REENTRANT -O2 -fno-implicit-templates -I. -I./../include -I./../grove -I./../spgrove -
I./../style  -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAG
E_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=
1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_
H=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 -DHAVE_ST_BLKSIZE=1 -DSP_HAVE_BOOL=1 -DSP_HAVE_LOCALE=1 -DSP_ANSI_CLASS_I
NST=1 -DSP_HAVE_SOCKET=1 -DJADE_MIF=1 -DJADE_HTML=1 -DSP_MULTI_BYTE=1 -DSGML_CATALOG_FILES_DEFAULT=\"/etc/sgm
l/catalog\" -DSGML_SEARCH_PATH_DEFAULT=\"/usr/local/share/sgml:/usr/share/sgml\" -DHAVE_DLFCN_H=1  -c jade.cx
x
jade.cxx: In member function `void JadeApp::_ZThn328_N7JadeAppD0Ev()':
jade.cxx:194: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see .
distcc[26618] ERROR: compile jade.cxx on susa:3633 failed
make[2]: *** [jade.o] Error 1
make[2]: Leaving directory `/root/build/jade/jade-1.2.1/jade'
make[1]: *** [jade] Error 2
make[1]: Leaving directory `/root/build/jade/jade-1.2.1'
make: *** [all] Error 2
C++プログラムで、コンストラクタにconst指定があると死ぬ?のかもしれない。(よく分かってないけど)
# export DEB_BUILD_OPTIONS=noopt       (gcc -O0になる)
# dpkg-buildpackage           
したらとりあえず通った。

SH-Linux (SH3 Sarge)

*_all.deb は Sarge からそのまま移管すればいいかなと。
$ wget -r -np ftp://ftp.---.debian.org/debian/pool/main/ -A *_all.deb -R *.html
$ du -hs
10G
う〜ん、結構たくさんありました。。。pool/からもってきたので woody や sid のバージョンも混ざったと思われる。

nya

気持ちがすさんでしまったのでとりあえずpyaでnyaを見て和む。
http://pya.cc/pyaimg/pimg.php?imgid=17546
http://pya.cc/pyaimg/pimg.php?imgid=17404
にゃー

2005年09月06日

天空写真

九州地方に台風14号が接近するも、午前中名古屋は晴れ間が見えてた。台風にともなって天空の水分も活発な動きをしているみたい。何か見えないかなと空を見上げると、きれないな七色のハロが見えた。

撮影日時 2005/9/6 11:30 愛知県春日井市(IXY 50で撮影。補正かけてません)

(ガンマ補正マイナス)

2005年09月07日

太陽電池


先日ショップをうろついていたら1.5V 250mAと唱った太陽電池パネルが650円で売られていた。250mAなんて大げさでしょう。
地球上では無理です
とか言うなよと独りツッコミを入れながら2個買ってきた。ついでにスーパーキャパとショットキ・ダイオード(SB0030-04A)も。あとでネットで調べたらサンヨー製で、耐圧60V 40mAだそうだ。

ほら、やっぱり0.5mAとかそんなもんだ。けど0.5mAあればキャパで補助してやればみはるぞうセンサーは余裕で動くはずだ。あす実験してみよう。というわけで翌日のまぁまぁ晴れた日、太陽電池パネルの特性調査。

びっくり。解放端電圧1.68V、短絡電流213mAも流れてやがる。へぇぇ結構実力あるじゃん。

2005年09月08日

CAT760 (SH4 Linux , FrameBuffer)

いろいろやってたらLCDに画像がでるようになった。

よっしゃぁっ!!。ああここまでが長かった。。。RGBが出るようになったら勝ったも同然。Linuxドライバをこしょこしょと書いてrawイメージファイルが貼り付ければよいのだ。このへんはlinuxの便利なところだ。

左のWindowsの絵を液晶に映し出しているところ。ちなみにこれは過去めもの写真。こうやってデジタルの相手して遊ぶと面白い。でもなぁ、ある意味ではこれは出来て当たり前なんだよな。こういう当たり前じゃないことにチャレンジしている人達って尊敬できるよなぁ。

2005年09月10日

SH-Linux (SH3

debian/MANIFEST.sh3.in ファイルが無いというエラー。対策方法はよく分からなかったので場当たり的に以下を実施
一番近そうなMANIFEST.mips.in をコピーして修正
$ cd debian
$ cp MANIFEST.mips.in MANIFEST.sh3.in
$ cd ..
$ ./debian/rules binary       ← ビルド再開
--- debian/MANIFEST.sh3 2005-09-11 17:00:30.000000000 +0000
+++ debian/MANIFEST.sh3.new     2005-09-11 17:00:29.000000000 +0000
@@ -994 +993,0 @@
-usr/X11R6/lib/X11/XF86Config.indy
@@ -7684 +7682,0 @@
-usr/X11R6/man/man4/chips.4x
@@ -7692 +7689,0 @@
-usr/X11R6/man/man4/glint.4x
@@ -7696 +7692,0 @@
-usr/X11R6/man/man4/mga.4x
@@ -7700,2 +7695,0 @@
-usr/X11R6/man/man4/newport.4x
-usr/X11R6/man/man4/nv.4x
@@ -7704,6 +7697,0 @@
-usr/X11R6/man/man4/r128.4x
-usr/X11R6/man/man4/radeon.4x
-usr/X11R6/man/man4/s3virge.4x
-usr/X11R6/man/man4/savage.4x
-usr/X11R6/man/man4/sis.4x
-usr/X11R6/man/man4/tdfx.4x
@@ -7711 +7698,0 @@
-usr/X11R6/man/man4/trident.4x
上記でエラーになった行(diffでマイナス差分行)をMANIFEST.sh3.inから削除。
再度ビルド実行。。。。よっしゃぁ成功!!
$ cd ../
$ ls *.deb
lbxproxy_4.3.0.dfsg.1-14_sh3.deb      libxp-dev_4.3.0.dfsg.1-14_sh3.deb                 xfonts-75dpi_4.3.0.dfsg.1-14_all.deb
libdps-dev_4.3.0.dfsg.1-14_sh3.deb    libxp6-dbg_4.3.0.dfsg.1-14_sh3.deb                xfonts-base-transcoded_4.3.0.dfsg.1-14_all.deb
libdps1-dbg_4.3.0.dfsg.1-14_sh3.deb   libxp6_4.3.0.dfsg.1-14_sh3.deb                    xfonts-base_4.3.0.dfsg.1-14_all.deb
libdps1_4.3.0.dfsg.1-14_sh3.deb       libxpm-dev_4.3.0.dfsg.1-14_sh3.deb                xfonts-cyrillic_4.3.0.dfsg.1-14_all.deb
libice-dev_4.3.0.dfsg.1-14_sh3.deb    libxpm4-dbg_4.3.0.dfsg.1-14_sh3.deb               xfonts-scalable_4.3.0.dfsg.1-14_all.deb
libice6-dbg_4.3.0.dfsg.1-14_sh3.deb   libxpm4_4.3.0.dfsg.1-14_sh3.deb                   xfree86-common_4.3.0.dfsg.1-14_all.deb
libice6_4.3.0.dfsg.1-14_sh3.deb       libxrandr-dev_4.3.0.dfsg.1-14_sh3.deb             xfs_4.3.0.dfsg.1-14_sh3.deb
libsm-dev_4.3.0.dfsg.1-14_sh3.deb     libxrandr2-dbg_4.3.0.dfsg.1-14_sh3.deb            xfwp_4.3.0.dfsg.1-14_sh3.deb
libsm6-dbg_4.3.0.dfsg.1-14_sh3.deb    libxrandr2_4.3.0.dfsg.1-14_sh3.deb                xlibmesa-dev_4.3.0.dfsg.1-14_all.deb
libsm6_4.3.0.dfsg.1-14_sh3.deb        libxt-dev_4.3.0.dfsg.1-14_sh3.deb                 xlibmesa-gl-dbg_4.3.0.dfsg.1-14_sh3.deb
libx11-6-dbg_4.3.0.dfsg.1-14_sh3.deb  libxt6-dbg_4.3.0.dfsg.1-14_sh3.deb                xlibmesa-gl-dev_4.3.0.dfsg.1-14_sh3.deb
libx11-6_4.3.0.dfsg.1-14_sh3.deb      libxt6_4.3.0.dfsg.1-14_sh3.deb                    xlibmesa-gl_4.3.0.dfsg.1-14_sh3.deb
libx11-dev_4.3.0.dfsg.1-14_sh3.deb    libxtrap-dev_4.3.0.dfsg.1-14_sh3.deb              xlibmesa-glu-dbg_4.3.0.dfsg.1-14_sh3.deb
libxaw6-dbg_4.3.0.dfsg.1-14_sh3.deb   libxtrap6-dbg_4.3.0.dfsg.1-14_sh3.deb             xlibmesa-glu-dev_4.3.0.dfsg.1-14_sh3.deb
libxaw6-dev_4.3.0.dfsg.1-14_sh3.deb   libxtrap6_4.3.0.dfsg.1-14_sh3.deb                 xlibmesa-glu_4.3.0.dfsg.1-14_sh3.deb
libxaw6_4.3.0.dfsg.1-14_sh3.deb       libxtst-dev_4.3.0.dfsg.1-14_sh3.deb               xlibmesa3-dbg_4.3.0.dfsg.1-14_all.deb
libxaw7-dbg_4.3.0.dfsg.1-14_sh3.deb   libxtst6-dbg_4.3.0.dfsg.1-14_sh3.deb              xlibmesa3_4.3.0.dfsg.1-14_sh3.deb
libxaw7-dev_4.3.0.dfsg.1-14_sh3.deb   libxtst6_4.3.0.dfsg.1-14_sh3.deb                  xlibs-data_4.3.0.dfsg.1-14_all.deb
libxaw7_4.3.0.dfsg.1-14_sh3.deb       libxv-dev_4.3.0.dfsg.1-14_sh3.deb                 xlibs-dbg_4.3.0.dfsg.1-14_all.deb
libxext-dev_4.3.0.dfsg.1-14_sh3.deb   libxv1-dbg_4.3.0.dfsg.1-14_sh3.deb                xlibs-dev_4.3.0.dfsg.1-14_all.deb
libxext6-dbg_4.3.0.dfsg.1-14_sh3.deb  libxv1_4.3.0.dfsg.1-14_sh3.deb                    xlibs-pic_4.3.0.dfsg.1-14_all.deb
libxext6_4.3.0.dfsg.1-14_sh3.deb      pm-dev_4.3.0.dfsg.1-14_all.deb                    xlibs-static-dev_4.3.0.dfsg.1-14_sh3.deb
libxft1-dbg_4.3.0.dfsg.1-14_sh3.deb   proxymngr_4.3.0.dfsg.1-14_sh3.deb                 xlibs-static-pic_4.3.0.dfsg.1-14_sh3.deb
libxft1_4.3.0.dfsg.1-14_sh3.deb       twm_4.3.0.dfsg.1-14_sh3.deb                       xlibs_4.3.0.dfsg.1-14_all.deb
libxi-dev_4.3.0.dfsg.1-14_sh3.deb     x-dev_4.3.0.dfsg.1-14_all.deb                     xmh_4.3.0.dfsg.1-14_sh3.deb
libxi6-dbg_4.3.0.dfsg.1-14_sh3.deb    x-window-system-core_4.3.0.dfsg.1-14_sh3.deb      xnest_4.3.0.dfsg.1-14_sh3.deb
libxi6_4.3.0.dfsg.1-14_sh3.deb        x-window-system-dev_4.3.0.dfsg.1-14_sh3.deb       xserver-common_4.3.0.dfsg.1-14_sh3.deb
libxmu-dev_4.3.0.dfsg.1-14_sh3.deb    x-window-system_4.3.0.dfsg.1-14_all.deb           xserver-xfree86-dbg_4.3.0.dfsg.1-14_sh3.deb
libxmu6-dbg_4.3.0.dfsg.1-14_sh3.deb   xbase-clients_4.3.0.dfsg.1-14_sh3.deb             xserver-xfree86_4.3.0.dfsg.1-14_sh3.deb
libxmu6_4.3.0.dfsg.1-14_sh3.deb       xdm_4.3.0.dfsg.1-14_sh3.deb                       xspecs_4.3.0.dfsg.1-14_all.deb
libxmuu-dev_4.3.0.dfsg.1-14_sh3.deb   xfonts-100dpi-transcoded_4.3.0.dfsg.1-14_all.deb  xterm_4.3.0.dfsg.1-14_sh3.deb
libxmuu1-dbg_4.3.0.dfsg.1-14_sh3.deb  xfonts-100dpi_4.3.0.dfsg.1-14_all.deb             xutils_4.3.0.dfsg.1-14_sh3.deb
libxmuu1_4.3.0.dfsg.1-14_sh3.deb      xfonts-75dpi-transcoded_4.3.0.dfsg.1-14_all.deb   xvfb_4.3.0.dfsg.1-14_sh3.deb
こちらのiWAさんのページ大変参考にさせていただきました。ありがとうございました。
http://vmi.jp/diary/200410-200503.html

dpatchの利用方法

dancerさん。いつもお世話になっています。
http://www.netfort.gr.jp/~dancer/column/dpatch.html.ja

2005年09月12日

友達

あめりかの「めろん学園」に留学しているK君からWebアドレスが届いた。
http://www.andrew.cmu.edu/user/tkobayas/jpn/index.html
いいなぁ、充実してそうだ。俺もがんばろう。

2005年09月13日

Debian Sarge (i386)

Linux-2.6でDVD-Rを焼くのは今回が初めてだ。今までは mkisofs + cdrecord を使っていたが、cdrecordを使うと
Found DVD media but DVD-R/DVD-RW support code is missing.
If you need DVD-R/DVD-RW support, ask the Author for cdrecord-ProDVD.
Free test versions and free keys for personal use are at ftp://ftp.berlios.de/pub/cdrecord/ProDVD/
This version of cdrecord does not include DVD-R/DVD-RW support code.
See /usr/share/doc/cdrecord/README.DVD.Debian for details on DVD support.
Using generic SCSI-3/mmc   CD/DVD driver (checks media) (mmc_cd_dvd).
Driver flags   : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Unspecified command not implemented for this drive.
Data will not fit on any disk.
うむ?cdrecord-ProDVDなるものを使えと。README.DVD.Debianにディテイルインフォがあるということで読んでみると
* cdrecord-ProDVD: Joerg Schilling is also author of cdrecord-ProDVD. This
  software is free for personal use but not free software according to the
  DFSG and therefore not part of Debian GNU/Linux.
  ftp://ftp.berlios.de/pub/cdrecord/ProDVD
 
* dvd+rw-tools: http://fy.chalmers.se/~appro/linux/DVD+RW/
  Although the name suggests otherwise, recent versions support
  DVD-R(W) and DVD+R(W).
 
* dvdrtools (Formerly known as dvdrecord): http://www.nongnu.org/dvdrtools/
  A fork of an older version of cdrecord (1.11a15) with DVD-R(W) support.
 
* Apply the dvdrecord-patch to cdrecord and compile it yourself:
    apt-get source cdrtools
    cd cdrtools-
    fakeroot debian/rules dvd=yes cdrecord
 
    Be aware that we will probably ignore bugreports for cdrecord+dvdpatch
    unless they can be reproduced without the patch.
ということは dvd=yesパッチを当てて再コンパイルが必要か。面倒だ。cdrecordを愛してやまないということはないので、さくっとdvd+rw-tools に乗り移ることにする。

dvd+rw-tools

growisofs コマンドが内部でmkisofsを呼び出し、書き込みを行ってくれるらしい。マニュアルの意訳メモ
 growisofs [-dry-run] [-dvd-compat] [-overburn] [-speed=1] -[Z|M] /dev/dvd 
 
 -Z /dev/dvd
    イニシャルセッションの書き込み
 -M /dev/dvd
    セッションのマージ
 
 .isoイメージを書き込むときは=を使う
  /dev/dvd=何とか.iso
      # growisofs -Z /dev/dvd=someone.iso
 
 ファイルをいきなり書き込むときは
      # growisofs -Z /dev/dvd -R -J /some/files
 
 ファイルの追記は(-M)
      # growisofs -M /dev/dvd -R -J /more/files
うわぁ -M が使えるのは便利かも。今まではセッション追記はかなり面倒かった。

2005年09月14日

何がすごいって

iPod nano ってすげーよ。何がすげぇって、
要らないのに、欲しくなる
んだよ。現物見て触ってきたらなおさら気持ちが高まった。iPodは重いし容量的にはおいらはnanoで十分なんだろう。てか、おいらは高校出てから(笑)ウォークマンの類は持ってないので実生活ではさして必要としていないのだろうな。それでも欲しくなるってのがすごい。Apple恐るべし。

2005年09月15日

SH-Linux (sh3 sarge)

そろそろ pool を準備しなくてはいけない。kinneko氏が下調べしたlink
http://d.hatena.ne.jp/kinneko/20050729/p8
http://d.hatena.ne.jp/kinneko/20050810/p8

SH-Linux (sh3 sarge)

結局 pool化はrepreproを使ったらうまくいきました。


2005年09月19日

コメントSPAM攻撃

ここんとこツッコミ欄へのSPAM攻撃が増えた。ひどいときは一日200件だ。今まではIPアドレスを控えて.htaccessではじいてたけど面倒になったので対策を施した。
http://www.tdiary.org/20050808.html
3個以上のURLがあると書き込めないようにした。

2005年09月20日

花粉症

数日前から秋の花粉症が始まってしまった。つらい。同業の(?)皆さんがんばりましょう。

SH-Linux (SH3 sarge)

bash-2.05b-2のビルドがコケる。builtin(libcサブセットの内蔵版なのかな)でシンボルがぶつかる(?)みたい。まだよく調べてないけど。builtinをはずせばよいのかな。


2005年09月21日

SH-Linux

カーネルサイズ(linux-2.6.13)
普通に -O2 でビルド
  -rwxr-xr-x  1 ebihara ebihara 925180 2005-09-21 21:32 arch/sh/boot/zImage
サイズ優先 -Os でビルド
  -rwxr-xr-x  1 ebihara ebihara 880640 2005-09-21 22:51 arch/sh/boot/zImage

SH-Linux (sh3 sarge)

bashの問題は rules から -static をはずすことで解決しました。ありがとうございました。

SH-Linux (sh3 sarge)

base.tgzが出来た!
# debootstrap --arch sh3 \
  --exclude=gcc-3.0-base,gcc-3.3-base,libstdc++3,libstdc++5,exim4,exim4-base,exim4-config,exim4-daemon-light \
  --include=gcc-3.4-base,ssmtp,libstdc++6 \
  sarge base-sarge-sh-20050921 http://localhost/debian-sh
 :  待つこと数分 
I: Base system installed successfully.
umount: /root/base/base-sarge-sh-20050921/dev/pts: not mounted
umount: /root/base/base-sarge-sh-20050921/dev/shm: not mounted
umount: /root/base/base-sarge-sh-20050921/proc/bus/usb: not found
# ls base-sarge-sh-20050921/
bin/   dev/  home/    lib/    mnt/  proc/  sbin/  sys/  usr/
boot/  etc/  initrd/  media/  opt/  root/  srv/   tmp/  var/
よっしゃぁ!successfully のメッセージが輝かしいぜ。さっそく起動してみる。

2005年09月22日

廃品利用

レシピ
・ 廃棄PCからケース用12Vファンを取り出す
・ よく水洗いして埃を洗い流し、乾くまで待つ
・ 余ってたUSBケーブル(5V)に直結
・ 静かにゆるりと回るファンの完成

ちゃんと水洗いしたのでぴかぴかだ。何に使うかというと

LANDISKを冷やす。ゆるりファンでもあるとないではだいぶ違う。一番右の横置き機はCAT709(sh3)。

CAT709君の中身。手作りIDEインターフェース回路に2.5"HDDを接続している。こんなんでdebian sargeのビルドを任されているのだから頑張ってるとしか言いようがない(A^^;;

2005年09月23日

歩いてて見かけた変な物シリーズ

小ネタ集

肝心の曜日が消えてしまっているゴミ捨て案内の看板。

土を入れるんじゃなく土に入ってるプランター

ここで靴を脱げ?(出かける前にかっ?)

ブタさん、パンダさん、ワニさん

゜□゜
な顔

2005年09月26日

私たちの世界の将来の姿? — 銀河の衝突、星の誕生

http://www.astroarts.co.jp/news/2005/09/07ngc520/index-j.shtml
銀河の衝突の話。この地球がある銀河も30億年後にはおとなりのアンドロメダ銀河と衝突してしまうのだそうだ。プロの天文学者でさえも、この写真を見て「ぞっとした」らしい。長生きしたら大変だ。

2005年09月27日

今日のオコトバ。

kinnekoさめ日記経由mhattaさめblogより。
自分で自分を無能だと言えるだけの心の余裕がある人は、
多くの場合すでに無能ではない。
http://blog.japan.zdnet.com/mhatta/a/000156.html
blogで述べられている要はまったく別でOSSへのリクルートなんだけど、本旨じゃないくだりに引っかかった。私の周りを見渡すと自分を無能だと言っている人種は「心の余裕」とはちょっとちがうかな。悪く言えばタヌキ、よく言えば策略家。自分を無能だという人間に無能者はいないですね。

過去のオコトバ

界という名の付くところはロクな所じゃないよ
zai界、kaku界、kyuu界、gyou界。x界って慣習・伝統・既得権益と魑魅魍魎が住み着くど〜んよりとしたイメージがある。Linux界とかOSS界なんていうのは嫌だなぁ。界ってのはマイナス面を伝えるときに使ったりするもんで、「サルサ界は狭いからね」てな用い方なら正しい?けど、イイ話をするときには別な単語を見つけようと思います。

早起きを継続するコツ

http://cyblog.jp/modules/weblog/details.php?blog_id=93
ダイエットしている人が体重を記録しグラフ化するのと同じで早起きの記録を取ろうという話。なるほど。これは代表的なセルフ・メンタルコントロール手法の一つですね。ダイエットという目標を、記録を取ることという風に見かけ上の目標をすり替えてしまうことで継続させていこうっていう暗示ですよね。これで最終的にやりたかったことが達成できればいいわけで。面白いな。続いてblogには生活全般を改善するためには『繰り返しやりたくなる仕掛けを組み込む』のが大切と述べられています。おいらもいくつか工夫してみようかな。何事もカイゼン。現状がベストだと思ったら最期、明日からは落ちぶれていきますからね。

2005年09月29日

CAT709 kernel-2.6+sarge 完成

CAT709(sh3)でカーネル2.6+debian sargeが動くようになった(^_^)/。ちゃんとまとめたらupgradekitとして配布できるようにします。

CAT709 kernel-2.6 extide

拡張IDEインターフェースのcat709_register_ioport_map()の部分を忘れないように自分メモ。回路と工作物は2年前に作ったやつ。回路図はこれ→pdf
アドレスデコーダ部分を取り出すと

ベースアドレス0xba00c000
コマンドブロックレジスタのオフセットは0x000
コントロールブロックレジスタのオフセットは0x100
バス幅の関係上DA0をA1に、DA1をA2に、DA2をA3に接続して偶数アドレスのみにマップさせている。
デバッガでメモリイメージを表示するとこのように見える

i386用に書かれたIDEドライバがそのまま認識できるようにするため、次のようにする。
CAT709でのメモリアドレス PCでのI/Oアドレス
コマンドブロックレジスタ 0xba00c000 0x1f0〜0x1f7
コントロールブロックレジスタ 0xba00c100 0x3f0〜0x3f7(実際には0x3f6のみ)
書き直すとこう
PCでのI/Oアドレス CAT709でのメモリアドレス
0x1f0 0xba00c000
0x1f1 0xba00c002
0x1f2 0xba00c004
0x1f3 0xba00c006
0x1f4 0xba00c008
0x1f5 0xba00c00a
0x1f6 0xba00c00c
0x1f7 0xba00c00e
0x3f6 0xba00c10c
arch/sh/boards/cat709/setup.cに記述する
 
#define CAT709_EXTIDEBASE 0xba00c000
 
void __init platform_setup(void)
{
中略
#if defined(CAT709_EXTIDEBASE)
  /* extention ide */
  cat709_register_ioport_map(0x1f0,0x1f7,CAT709_EXTIDEBASE+0,1);
  cat709_register_ioport_map(0x3f6,0x3f6,CAT709_EXTIDEBASE+0x10c,1);
#endif
次に割り込みであるが、今回もPINT11を使うのでirq75となる。SH7709CPUのINTC_PCINTERレジスタを操作してPINT11をイネーブルする。
arch/sh/boards/cat709/setup.c
void __init init_cat709_IRQ(void)
{
  printk("init_cat709_IRQ()\n");
 
  ctrl_outb(0x0,   INTC_IRR0); /* clear interrupt request */
  ctrl_outw(0xaaaa,INTC_ICR1);
  ctrl_outb(0x0,   INTC_IRR0); /* clear interrupt request */
 
#if defined(CAT709_EXTIDEBASE)
  /* extention ide */
  const unsigned long intc_pcinter=0xa4000014;
  ctrl_outw(ctrl_inw(intc_pcinter)|0x0800,intc_pcinter);
#endif
少々かっこわるいが include/asm/ide.h を書き換える。
static __inline__ int ide_default_irq(unsigned long base)
{
  switch (base) {
#if defined(CONFIG_SH_CAT709)
  case 0x1f0: return PINT_IRQ_BASE+11; // CAT709 ext-ide PINT11
最後にカーネル起動パラメータを root=0301 (すなわち/dev/hda1)として起動する。動いた。画面ダンプ。

・・・と、ここまでやっておいて気が変わって
/dev/hda を CF0 microdrive
/dev/hdc を 自作拡張ide (2.5" IDE)
にすることに方針転換。セカンダリIDEにするためには上記の表で0x1fxだったところを0x17x、0x3f6を0x376に置き換えればokなので、最終的には以下のようにした。
arch/sh/boards/cat709/setup.c
void __init platform_setup(void)
{
  printk("setup_cat709\n");
 
  /* software init */
  cat709_ioport_map_init();
 
  /* AX88796 mapped 0x300-0x31f to 0xba004000 */
  cat709_register_ioport_map(0x300,0x31f,0xba004000,0);
 
  /* CF0 /dev/hda */
  ctrl_outw(0x0042,0xb8000000+0x200); /* enable cf */
  cat709_register_ioport_map(0x1f0,0x1f7,CF_STATIC_IDE+0x1f0,0);
  cat709_register_ioport_map(0x3f6,0x3f6,CF_STATIC_IDE+0x3f6,0);
#if defined(CAT709_EXTIDEBASE)
  /* extention ide /dev/hdc */
  cat709_register_ioport_map(0x170,0x177,CAT709_EXTIDEBASE+0,1);
  cat709_register_ioport_map(0x376,0x376,CAT709_EXTIDEBASE+0x10c,1);
#endif
include/asm/ide.h
#ifndef MAX_HWIFS
#define MAX_HWIFS       2
#endif
 
#define IDE_ARCH_OBSOLETE_DEFAULTS
 
static __inline__ int ide_default_irq(unsigned long base)
{
  switch (base) {
  case 0x1f0:
#if defined(CONFIG_SH_CAT709)
    return 34; // CAT709 CF0
#elif defined(CONFIG_SH_CAT760)
    return 11;
#else
    return 14;
#endif
 
  case 0x170:
#if defined(CONFIG_SH_CAT709)
    return PINT_IRQ_BASE+11; // CAT709 ext-ide PINT11
#else
    return 15;
#endif
make menuconfig
Boot options  --->
  [*] Default bootloader kernel arguments
  (console=ttySC0,115200 rootfstype=ext2 root=/dev/hdc1 ro)
Device Drivers  --->
  ATA/ATAPI/MFM/RLL support  --->
    (2)   Max IDE interfaces

完成。以下にdebian sarge sh3_base.tgzの起動メッセージ
Linux version 2.6.12-sh (ebihara@susa) (gcc version 3.4.4 20050314 (prerelease) (Debian 3.4.
3-13)) #37 Fri Sep30 02:07:39 JST 2005
setup_cat709
cat709_ioport_map (0x300 - 0x31f) => 0xba004000
cat709_ioport_map (0x1f0 - 0x1f7) => 0xba0001f0
cat709_ioport_map (0x3f6 - 0x3f6) => 0xba0003f6
cat709_ioport_map (0x170 - 0x177) => 0xba00c000
cat709_ioport_map (0x376 - 0x376) => 0xba00c10c
Built 1 zonelists
Kernel command line: console=ttySC0,115200 rootfstype=ext2 root=/dev/hdc1 ro
Setting GDB trap vector to 0x80000100
init_cat709_IRQ()
PID hash table entries: 256 (order: 8, 4096 bytes)
SH RTC: invalid value, resetting to 1 Jan 2000
Interval = 73728
Using tmu for system timer
Console: colour dummy device 80x25
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 30720k/32768k available (1318k kernel code, 2000k reserved, 204k data, 44k init)
Mount-cache hash table entries: 512
CPU: SH7729
NET: Registered protocol family 16
SH Virtual Bus initialized
Initializing Cryptographic API
SuperH SCI(F) driver initialized
ttySC0 at MMIO 0xfffffe80 (irq = 25) is a sci
ttySC1 at MMIO 0xa4000150 (irq = 59) is a scif
ttySC2 at MMIO 0xa4000140 (irq = 55) is a irda
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
ide: SuperH generic IDE interface
hda: HMS360402D5CF00, CFA DISK drive
hdc: HTS541040G9AT00, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 34
ide0: probed IRQ 34 failed, using default.
ide1 at 0x170-0x177,0x376 on irq 75
ide1: probed IRQ 75 failed, using default.
hda: max request size: 128KiB
hda: 3999744 sectors (2047 MB) w/128KiB Cache, CHS=3968/16/63
hda: cache flushes supported
 hda: hda1 hda2
hdc: max request size: 1024KiB
hdc: 78140160 sectors (40007 MB) w/7539KiB Cache, CHS=16383/255/63
hdc: cache flushes supported
 hdc: hdc1 hdc2
mice: PS/2 mouse device common for all mice
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
NET: Registered protocol family 1
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 44k freed
 
INIT:  version 2.86 bootingg
 
Activating swap.
Adding 163832k swap on /dev/hdc2.  Priority:-1 extents:1
Checking root file system...
fsck 1.37 (21-Mar-2005)
/dev/hdc1: clean, 7962/4866048 files, 178100/9726460 blocks
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
System time was Sat Jan  1 00:00:09 UTC 2000.
Setting the System Clock using the Hardware Clock as reference...
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
System Clock set. System local time is now Sat Jan  1 00:00:09 UTC 2000.
Cleaning up ifupdown...done.
Calculating module dependencies... done.
Loading modules...
    ne
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0xba004000: 10 20 30 40 50 60
eth%d: NE2000 found at 0xba004000, using IRQ 35.
All modules loaded.
Checking all file systems...
fsck 1.37 (21-Mar-2005)
Setting kernel variables ...
... done.
Mounting local filesystems...
Cleaning /tmp /var/run /var/lock.
Running 0dns-down to make sure resolv.conf is ok...done.
Setting up networking...done.
Setting up IP spoofing protection: rp_filter.
Configuring network interfaces...done.
 
Setting the System Clock using the Hardware Clock as reference...
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
System Clock set. Local time: Sat Jan  1 00:00:15 UTC 2000
 
Initializing random number generator...done.
 
INIT:  Entering runlevel: 22
 
Starting system log daemon: syslogd.
Starting kernel log daemon: klogd.
Starting internet superserver: inetd.
Starting deferred execution scheduler: atd.
Starting periodic command scheduler: cron.
 
Debian GNU/Linux 3.1 ultracat2 ttySC0
 
ultracat2 login: root
Last login: Sat Jan  1 00:00:21 2000 on ttySC0
Linux ultracat2 2.6.12-sh #37 Fri Sep 30 02:07:39 JST 2005 sh3 GNU/Linux
 
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
 
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
ultracat2:~#

2005年09月30日

Debian Sarge SH3/SH4

sh3/sh4両方ともdebootstarpでbaseができるようになったので暫定公開します。sh3/sh4両方ともネイティブでpbuilddが24時間365日走っていますのでパッケージは少しずつ増えています。
http://www.si-linux.co.jp/pub/debian-sh/
あなたのSH3/SH4マシンのaptラインを
deb http://www.si-linux.co.jp/pub/debian-sh/ sarge main non-free contrib
として
# apt-get update
# apt-get upgrade
するとsarge化できます。landiskでkogiidenaさんのdebian26環境なら対応できるはずです(ていうか同じものです)。既存のCAT709ユーザー様は少し待ってください。カーネル2.4ではbashがうまく動作しないようです。