Pyon's Diary
2002-11-07 舊 平成拾肆年神無月參日 (曇) [更]
Apache でゴミログを別にする。
(ZDNet デベロッパー Linux Tips 經由) Nimda とかの所爲でログが太つて仕樣が無いので、其等のログは worm.log と云ふ別のファイルに保存する事にした。httpd.conf に以下の記述を追加する。
<IfModule mod_setenvif.c> # # for wrom log # SetEnvIf Request_URI "default\.ida" worm SetEnvIf Request_URI "cmd\.exe" worm SetEnvIf Request_URI "root\.exe" worm </IfModule> CustomLog /var/log/apache/access.log combined env=!worm CustomLog /var/log/apache/worm.log combined env=worm
【朝日新聞】誕生日が2つ!定年はいつ? へその緒桐箱が決め手に。
大晦日に生まれた人は次の日は既に二歳。でも馬は今でも數え年だよね。
晩御飯。
- アップルパイ(らぽっぽ)。
2003-11-07 舊 平成拾伍年神無月拾肆日 (晴) [更]
さ○う先生とき○先生と飲み。
出掛けに營業の人に捕まつて十五分程遅れる。さ○う先生御免なさい。會社を出て電話をしたら、銀座では無く八丁堀の方へ向かへとの事だつたので地下鐵に乘つて八丁堀へ向かふ。改札を出るとさ○う先生が待つてゐた。申し譯無い。
續いてき○先生が來た。だうやら同じ列車に乗つてゐたみたい。地上へ上がつて、先生を先導にてくゝゝ歩いて着いたのが小綺麗な飲み屋さん。金曜の夜だと云ふに客が自分達を入れて二組しかゐない。
まあ驛から可成り離れてゐるし、茅場町近邊の勤め人なら金曜は銀座の方へ出るだらうし、混んで無いからゆるり出來るし。
先に鮪の刺身を食べた。中トロ。下の上で融ける。美味しい。酒はさ○う先生とき○先生が好きな銘柄を交互に頼んでゐた。
樂しかつたけど、ちと飲過ぎて羽目を外したかも。御免なさい。>御二方。
ち○っ○ [ひさしぶりに書き込める。ふぅ。]
2004-11-07 舊 平成拾陸年長月廿伍日 (晴) [更]
銀の月 (銀座)
仕事が速く片付いたので同僚と飲みに行つた。
けふ購つた本。
- あの山越えて 5
- 醫龍 - Team Medical Dragon (3)
- 醫龍 - Team Medical Dragon (4)
- 醫龍 - Team Medical Dragon (5)
- ONE PIECE 卷35
- Linuxのブートプロセスをみる
- 論理學をつくる
Linuxのブートプロセスをみるは UNIX MAGAZINE で連載されてゐた物を一冊に纏め上げた物。毎號買つてゐた譯では無いので本に成らないかなと思つてゐたら何時の間にか出版されてゐた。
論理學をつくるは出た時から欲しいなとは思つてゐたけど、今一買は無かつた本。何故か欲しく成つたので購入した。論理學據りも細かく説明が有り然う、且つ面白然うだつたので。
然う云へば今月は夢路行全集の月だ。注文し無くては。
2007-11-07 舊 平成拾玖年丁亥長月廿捌日乙巳 (水・雨) [更]
KURO-BOX/PRO (No.29) NAS-Central の ARM9 用 2.6.20 カーネル・ソースではハードウェアの MAC を讀み取つてゐ無いのでは、と云ふ疑問。
(2007-11-09 2.6.23 カーネルのコンパイル・起動に成功した。)
(2008-02-17 2.6.25-rc1 に於いて shutdown -hP で電源が落とせる樣に成つた)
KURO-BOX/PRO 附屬の CD-ROM に入つてゐるカーネル・ソース(linux-2.6.12_lsp.1.10.3.src.tar.gz)で調べた事の備忘録。
- include/asm-arm/setup.h
の 145 行目で ATAG_MV_UBOOT が以下の樣に定義されてゐる。
145 /* Marvell uboot parameters */ 146 #define ATAG_MV_UBOOT 0x41000403
其乃直後(148 行目)で構造體 tag_mv_uboot が、
148 struct tag_mv_uboot {
149 u32 uboot_version;
150 u32 tclk;
151 u32 sysclk;
152 u32 isUsbHost;
153 u32 overEthAddr;
154 u8 macAddr[6];
155 };
更に 157 行目で構造體 tag が、
157 struct tag {
158 struct tag_header hdr;
159 union {
160 struct tag_core core;
161 struct tag_mem32 mem;
162 struct tag_videotext videotext;
163 struct tag_ramdisk ramdisk;
164 struct tag_initrd initrd;
165 struct tag_serialnr serialnr;
166 struct tag_revision revision;
167 struct tag_videolfb videolfb;
168 struct tag_cmdline cmdline;
169
170 /*
171 * Acorn specific
172 */
173 struct tag_acorn acorn;
174
175 /*
176 * DC21285 specific
177 */
178 struct tag_memclk memclk;
179
180 /*
181 * Marvell specific
182 */
183 struct tag_mv_uboot mv_uboot;
184 } u;
185 };
が定義されてゐる。
亦同じファイルの 193 行目ではマクロ __tagtable が定義されてゐる。
193 #define __tagtable(tag, fn) \
194 static struct tagtable __tagtable_##fn __tag = { tag, fn }
此乃マクロを使用して ATAG_MV_UBOOT が示すアドレスからデータを讀込んで(夛分)構造體 tag, tag_mv_uboot のインスタンスを作成してゐるのが
- arch/arm/mach-mv88fxx81/LSP/core.c
の 80 〜 154 行目。
142 行目附近で U-Boot の版が 1.4.2 以降(mvUbootVer > 0x01040100)で有れば廣域變數 overEthAddr が設定されてゐる。
140 if( mvUbootVer > 0x01040100 ) /* releases after 1.4.2 */
141 {
142 overEthAddr = tag->u.mv_uboot.overEthAddr;
143 #if defined (MV_88W8660)
144 /*U-boot version => 1.9.2*/
145 if (mvUbootVer >= 0x01090200)
146 {
147 memcpy(mvMacAddr, tag->u.mv_uboot.macAddr, 6);
148 }
149 #endif
150 }
其れで此乃廣域變數 overEthAddr の値に據つて MAC アドレスを設定してゐるのが、
- arch/arm/mach-mv88fxx81/LSP/egiga/mv_e_main.c
の 502 〜 512 行目。
502 /* init device mac addr */
503 if(!overEthAddr)
504 {
505 mvEthMacAddrGet(port, dev->dev_addr);
506 BUF_DEBUG(printk("%s (Debug): dev->dev_addr = %s (by mvEthMacAddrGet)\n", __FUNCTION__, dev->dev_addr));
507 }
508 else
509 {
510 egiga_convert_str_to_mac( mac_addr, dev->dev_addr );
511 BUF_DEBUG(printk("%s (Debug): dev->dev_addr = %s (by egiga_convert_str_to_mac)\n", __FUNCTION__, dev->dev_addr));
512 }
此處で overEthAddr の値が僞の時、
- arch/arm/mach-mv88fxx81/Soc/eth/mvEth.c
の 1794 〜 1815 行目で定義されてゐる凾數 mvEthMacAddrGet() でハードウェアから MAC アドレスを讀み取つてゐる。
1794 MV_STATUS mvEthMacAddrGet(int portNo, unsigned char *pAddr)
1795 {
1796 unsigned int macH;
1797 unsigned int macL;
1798
1799 if(pAddr == NULL)
1800 {
1801 mvOsPrintf("mvEthMacAddrGet: NULL pointer.\n");
1802 return MV_BAD_PARAM;
1803 }
1804
1805 macH = MV_REG_READ(ETH_MAC_ADDR_HIGH_REG(portNo));
1806 macL = MV_REG_READ(ETH_MAC_ADDR_LOW_REG(portNo));
1807 pAddr[0] = (macH >> 24) & 0xff;
1808 pAddr[1] = (macH >> 16) & 0xff;
1809 pAddr[2] = (macH >> 8) & 0xff;
1810 pAddr[3] = macH & 0xff;
1811 pAddr[4] = (macL >> 8) & 0xff;
1812 pAddr[5] = macL & 0xff;
1813
1814 return MV_OK;
1815 }
此に據つてオリジナルのカーネルを使用してゐる KURO-BOX/PRO (今は HDD 起動環境)はハードウェアから MAC アドレスを讀み取れてゐると思はれる。
NAS-Central の ARM9 用 2.6.20 カーネル・ソースは?。
處で NAS-Central の ARM9 用 2.6.20 カーネル・ソースでは上と同樣に、
- arch/arm/mach-mv88fxx81/Soc/eth/mvEth.c
の 1794 〜 1815 行目に凾數 mvEthMacAddrGet() が定義されてゐる
1794 MV_STATUS mvEthMacAddrGet(int portNo, unsigned char *pAddr)
1795 {
1796 unsigned int macH;
1797 unsigned int macL;
1798
1799 if(pAddr == NULL)
1800 {
1801 mvOsPrintf("mvEthMacAddrGet: NULL pointer.\n");
1802 return MV_BAD_PARAM;
1803 }
1804
1805 macH = MV_REG_READ(ETH_MAC_ADDR_HIGH_REG(portNo));
1806 macL = MV_REG_READ(ETH_MAC_ADDR_LOW_REG(portNo));
1807 pAddr[0] = (macH >> 24) & 0xff;
1808 pAddr[1] = (macH >> 16) & 0xff;
1809 pAddr[2] = (macH >> 8) & 0xff;
1810 pAddr[3] = macH & 0xff;
1811 pAddr[4] = (macL >> 8) & 0xff;
1812 pAddr[5] = macL & 0xff;
1813
1814 return MV_OK;
1815 }
が find & grep した結果、此乃凾數は使用されてゐ無い。
% cd ${WORL}/linux-2.6.20
% find ./ -type f | grep -v '\.svn' | xargs grep 'mvEthMacAddrGet'
バイナリー・ファイル./arch/arm/mach-mv88fxx81/mv88f5181/built-in.oは一致しました
バイナリー・ファイル./arch/arm/mach-mv88fxx81/mv88f5181/mv88f5181.oは一致しました
./arch/arm/mach-mv88fxx81/Soc/eth/mvEth.h:MV_STATUS mvEthMacAddrGet(int portNo, unsigned char *pAddr);
./arch/arm/mach-mv88fxx81/Soc/eth/mvEth.c:* mvEthMacAddrGet - This function returns the port Unicast address.
./arch/arm/mach-mv88fxx81/Soc/eth/mvEth.c:MV_STATUS mvEthMacAddrGet(int portNo, unsigned char *pAddr)
./arch/arm/mach-mv88fxx81/Soc/eth/mvEth.c: mvOsPrintf("mvEthMacAddrGet: NULL pointer.\n");
バイナリー・ファイル./arch/arm/mach-mv88fxx81/Soc/eth/mvEth.oは一致しました
バイナリー・ファイル./arch/arm/boot/Imageは一致しました
バイナリー・ファイル./.tmp_vmlinux2は一致しました
バイナリー・ファイル./.tmp_vmlinux1は一致しました
./.tmp_System.map:c003fe3c T mvEthMacAddrGet
./System.map:c003fe3c T mvEthMacAddrGet
バイナリー・ファイル./vmlinuxは一致しました
と云ふ事は此乃カーネル・ソースではハードウェアから MAC アドレスを讀み取る機會が無いのでは無かろうか。
だから .config で指定された「000000000051」と云ふ變な値に成つて了つてゐるのでは無かろうか。
追記: 變更してみた。
其處で NAS-Central に在る ARM9 用 2.6.20 カーネル・ソース の
- drivers/net/egiga/mv_e_main.c
を以下の樣に變更した。
@@ -248,6 +248,8 @@
u32 egiga_stat = EGIGA_DBG_LOAD | EGIGA_DBG_INT | EGIGA_DBG_TX | EGIGA_DBG_TX_DONE | EGIGA_DBG_RX | EGIGA_DBG_RX_FILL | EGIGA_DBG_STATS;
+extern u32 overEthAddr;
+
#ifdef CONFIG_BUFFALO_PLATFORM
// only 1 device
static struct {
@@ -774,7 +776,14 @@
memset( priv , 0, sizeof(egiga_priv) );
/* init device mac addr */
+ if(!overEthAddr)
+ {
+ mvEthMacAddrGet(port, dev->dev_addr);
+ }
+ else
+ {
egiga_convert_str_to_mac( mac_addr, dev->dev_addr );
+ }
/* init device methods */
strcpy( dev->name, name );
斯うして置いて .config の CONFIG_ETH_0_MACADDR の値を
CONFIG_ETH_0_MACADDR="000000000051"
に戻してコンパイルした。
カーネル・イメージ・ファイルとモジュール・ファイルとを KURO-BOX/PRO に持つて行き再起動した。
MAC アドレスが筐體の其處に書かれてゐるものと同じに成つた。
追記: 2.6.23 カーネルのコンパイルに成功した。(2007-11-09)
私を見て?。
404 Blog Not Found が以下の頁に言及してゐた。
其處で以下の項目が擧げられてゐた。
- 自分は「特別」ではない。
- バカはいかなる理由があらうと優遇されない。
- 情報はまずは疑へ。
- 言ひ譯・屁理屈は通じない。
- 大人が皆見習ふべき存在とは限らない。
- 法律を知りなさい。
- 本を讀みなさい。
當たり前の事が書いて有つた。なのに何で此に惹かれたかと云ふとけふの日經の夕刊に一番目の項目と似た樣な話が載つてゐた爲。けふの夕刊に同志社大學教授の佐伯順子といふ人が「「注目されたい」セレブブーム」と云ふ題で寄稿してゐた。
今の若い人の間では、人から注目されたいといふ感情が子供のころから育まれてゐると考へられる。少子化で大切にされ、(中略)自分はいつも畫面の中央にゐる存在だつた。しかし成長してみると、親以外の他人は自分に注目してくれるわけではないと氣附く。
[日本經濟新聞 2007年11月7日(夕刊) 第4版 第22面 「夕刊文化」より引用]
今の「若い人」がどれ位の年齢層を指すのかは不明だが、自分が子供の頃から既に「一人つ子は云々」と云はれてゐた。其れから廿數年經つてゐるが未だに人間と云ふのは進歩が無いらしい。
2008-11-07 舊 平成廿年戊子神無月拾日辛亥 (金・晴・立冬) [更]
後期高齢者の轍を踏む。
マスコミは何をやつてゐるのだらう。何で斯樣な法律が提出された時にきちんと報道しないのか。
経済産業省のサイトを辿つて法案を見た。
改正割賦販賣法の30条の2が問題の條文。
此乃條文によるとカードの交付・増額の場合には、
年収、預貯金、信用購入あつせん(包括信用購入あつせん及び個別信用購入あつせんをいう。以下同じ。)に係る債務の支拂ひ状況、借入れの状況その他の當該利用者の包括支拂可能見込額を算定するために必要な事項として經濟産業省令で定めるものを調査しなければならない。
カード會社は私らの収入・信用を調査して「包括支拂可能見込額」とやらを算定するらしい。處が、
「包括支拂可能見込額」とは、主として自己の居住の用に供する住宅その他の經濟産業省令で定める資産を讓渡し、又は擔保に供することなく、かつ、生活維持費(最低限度の生活を維持するために必要な一年分の費用として經濟産業省令で定める額をいふ。第三十五条の三の三において同じ。)に充てるべき金錢を使用することなく、利用者が包括信用購入あつせんに係る購入又は受領の方法により購入しやうとする商品若しくは指定權利の代金又は受領しやうとする役務の對價に相當する額の支拂に充てることができると見込まれる一年間当たりの額をいふ
に在る樣に収入から借入金・生活維持費を除いたものが「支拂可能額」となるらしいが、自分は家賃と晝飯代以外は現金を使つてゐないのだが。
ましてや嫁はライフラインをカードで支拂つてゐるのだが、生活維持費を除かれたら今迄カードで支拂へてポイントを貯めれたものがおじやんになるじやなまいか。
後期高齢者が施行された時も思つたが、何で斯樣な法案が提出された時に問題にせず、後で施行されてからマスコミは騒ぐのか。
て、いふか困る。
もう寢る。