hns - 日記自動生成システム - Version 2.19.9

先月 2008年01月 来月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2008年01月31日(木) 旧暦 [n年日記] [更新:"2008/02/01 01:18:12"]

#1 [NetBSD] 4.0 と 3.1 での netboot

とてもこまかいことなのだけれど、忘れてしまうので、書いておく 3.1 では netboot する時の pxeboot_ia32.bin は、base.gz から手で取出す必要があった。 これに対して、4.0 では、ftp directory に初めから分離して置いてある。

#2 [NetBSD][Xen] (hvm) CDROM boot はうまく行かない

 CDROM boot failure code: 0002 
と言われているが、disk 行をいろいろ試してもずうっと同じ。 ちょっと考えて、別の disk を使って、その中に予め何かを設置しておいて、 それを指定すれば、ということを考えて見た。160GB の disk を中に追加して それを 四分割。その一番最初に NetBSD-3.1.1 を入れる。これは単独では起動 することを確認しておく。

その上で、/usr/pkg/etc/xen/hvm に、次のように書いておく。

 grep -v '^#' hvm | sed '/^$/d'
kernel = "/usr/pkg/lib/xen/boot/hvmloader"
builder='hvm'
memory = 256
name = "hvm"
vif0 = [ 'mac=00:16:3e:00:00:13, bridge=bridge0, type=ioemu' ]
device_model = '/usr/pkg/libexec/qemu-dm'
disk0 = [ 'phy:/dev/wd1a,0x01,w', 'phy:/dev/wd1a,0x02,w', 'phy:/dev/wd1a,0x03,w'] 
disk0 = [ 'phy:/dev/wd1a,ioemu:hda,w', 'phy:/dev/cd0a,0x03,r']
boot='dca'
usb=1
usbdevice='tablet'
上の記述はたまたまで、disk0 の、どちらが効いているのかは現在は不明。 しかしこれで
sudo xm create hvm boot=e
とすると一応起動する。
ttyp3:makoto@genova 12:01:24/080131(...etc/xen)> sudo xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   128     1     r-----     32.1
hvm                                          8   256     1     ------      0.0
しかし、卓を接続しようとすると、
ttyp3:makoto@genova 12:03:46/080131(...etc/xen)> sudo xm console hvm
xenconsole: Could not read tty from store: No such file or directory
どこかに ktrace して見て下さい というのがあったので ( PR/34198 ) やって見た。
ttyp4:makoto@genova 11:54:22/080131(...log/xen)> sudo ktrace -t n xm console hvm
xenconsole: Could not read tty from store: No such file or directory
ttyp4:makoto@genova 11:55:17/080131(...log/xen)> kdump ktrace.out | tail
   425      1 xenconsole NAMI  "/usr/lib/libc.so.12"
   425      1 xenconsole NAMI  "/usr/pkg/lib/python2.4/config/libpthread.so.0"
   425      1 xenconsole NAMI  "/usr/pkg/lib/libpthread.so.0"
   425      1 xenconsole NAMI  "/usr/lib/libpthread.so.0"
   425      1 xenconsole NAMI  "/etc/malloc.conf"
   425      1 xenconsole NAMI  "/var/run/xenstored/socket"
   425      1 xenconsole NAMI  "/var/run/xenstored/socket"
   425      3 xenconsole NAMI  "/usr/share/nls/nls.alias.db"
   425      3 xenconsole NAMI  "/usr/share/nls/nls.alias"
   425      3 xenconsole NAMI  "/usr/share/nls/C/libc.cat"
ttyp4:makoto@genova 11:56:55/080131(...log/xen)>
さて。 makemap って、良く使う気がするが、ない。/usr/pkg/sbin/makemap だそうだが、何を入れると入るのかな。 やはり sendmail かな。< grep makemap /export/pkgsrc/*/*/PLIST
makemap: /etc/mail/sendmail.cf: No such file or directory
..
touch /etc/mail/sendmail.cf
これで makemap して見たが、変化がない ?
 17732      1 xenconsole NAMI  "/var/run/xenstored/socket"
 17732      1 xenconsole NAMI  "/var/run/xenstored/socket"
 17732      3 xenconsole NAMI  "/usr/share/nls/nls.alias.db"
 17732      3 xenconsole NAMI  "/usr/share/nls/C/libc.cat"
alias を見に行くことはなくなっている。/dev/ptm は既にある。
       "/local/domain/8/console/tty\0"
 18046      1 xenconsole GIO   fd 3 read 16 bytes
       "\^P\0\0\0\0\0\0\0\0\0\0\0\a\0\0\0"
 18046      2 xenconsole GIO   fd 3 read 7 bytes
       "ENOENT\0"
 18046      3 xenconsole GIO   fd 2 wrote 12 bytes
       "xenconsole: "
 18046      3 xenconsole GIO   fd 2 wrote 29 bytes
       "Could not read tty from store"
 18046      3 xenconsole GIO   fd 2 wrote 2 bytes
       ": "
 18046      3 xenconsole GIO   fd 2 wrote 26 bytes
       "No such file or directory
       "
この辺かな。と思ったら、実は boot= の引数が良くないと言って、多分 以前よりも前の段階で止っている気がする。
qemu: invalid boot device in 'e'

#3 [NetBSD] netbsd-INSTALL_XEN3_DOMU.gz

hvm の方はなかなかうまく行かないので、non-hvm の方で 少し修行しようかと、次の設定でやって見る。
kernel = "/export/xen/netbsd-INSTALL_XEN3_DOMU.gz"


dmesg -> dmesg-4.99.51-sysinst
これでは disk が見えていない ? しかも sysinst の中で disklabel を見に行くか 単に shell で disklabel xbd0 とすると panic してしまう。もっとも xbd0 が見えていないから良くないのか。でもでたらめに disklabel /dev/xxx とかする と、そういうのはないというから、単にないだけではなさそう。 4.99.51 ではなく 3.1.1 でも試して見たが同じ。ついでに 4.0 でも同じ。



2008年01月28日(月) 旧暦 [n年日記] [更新:"2008/01/30 01:01:26"]

#1 [NetBSD][Xen3] DomU 設定二か所修正

HOWTO に書いてある /usr/pkg/etc/xen/nbsd の例の中の 文字列が(僕の理解だと) 二か所違っていて、それを直したら、 DomU が動き出 した。
vif   -> vif0
disk  -> disk0
で次に hvm を使って見ようと思ったけれど、やはり X11 が動いてい た方がいいのでは、ということになって、一度 Xen から離れて X11 を動かす方に注目。

まず ML115 は Matrox G200e という板で VRAM が 2M という割切で、サーバとしては、これの方がいいと思うけれど、X11 を使うには、ちょっとつまらない、 という話があって、玄人志向の ATI Radeon RX1550 128M という安めのもの (5,980 円、ただし PCI Express x16)、 を買っておいた。で ML115 で NetBSD/amd64 4.99.3x 等だと、XFree86 でも Xorg でも、どちらの板でも画面暗転、機械が丸ごと停止、という状況だったと思う。

最近 NetBSD/i386 4.0 で Xen を試している都合上、これらで X11 が動かない かと思って試すと、内蔵 Video では、画面が正しく表示されないが、 RX 1550 だと、何も苦労をしないで xf86cfg が動いた。

でとりあえず、xm create hvm boot=d で次のような画面が表示されて失敗する。 単に file の指定 の方法が良くないのだと思う。(この場合に使っているのは i386cd.iso)。

FATAL: No bootable device.



2008年01月27日() 旧暦 [n年日記] [更新:"2008/01/28 01:02:38"]

#1 [NetBSD] chroot を作って 4.0 bulkbuild

chroot 環境を作って bulk build (classic) を始めて見る。 chroot を作るには この中で今回は dump |restore を使って見た。 df で見て、/, /var, /usr 等の disk を
mkdir /export/chroot/
dump 0f - /dev/wd0a | (cd /export/chroot    ; restore rf -)
dump 0f - /dev/wd0g | (cd /export/chroot/usr; restore rf -)
dump 0f - /dev/wd0d | (cd /export/chroot/var; restore rf -)
のように写す。host と同じ OS でいい、/usr/pkgsrc や /usr/src は 別のところにある、ならこれが一番楽しい気がする。
(その後は cd /export/chroot; chroot )

pbulk (parallel bulk build) っていうのがあったけれど、まだ何だか分っていない。


#2 [NetBSD] C を押しながら起動

ofwboot.elf を TsubaiBSD のものに 入替えた ら、 「C を押しながら起動」が出来るようになった。ただし、 次のところで一度停止するので quit と入力する必要がある
>> NetBSD/macppc OpenFirmware Boot, Revision 1.6
>> (root at genoa ki nu, Fri Aug 17 12:47:50 JST 2007)
4596796+109808=0x47d480
 start=0x100000
adb-kbd-ihandle matches
console keyboard type ADB
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.0 (INSTALL) #0: Sun Dec 16 00:37:09 PST 2007
         builds@wb30: /home/builds/ab/netbsd-4-0-RELEASE/macppc/200712160005Z-obj
/home/builds/ab/netbsd-4-0-RELEASE/src/sys/arc/macppc/compile/INSTALL
total memory = 98304 KB
avail memory = 88620 KB
timecounter: Timecounter tick every 10.000 msec
userconf: configure system autoconfiguration:
uc>
uc> quit
これが何故なのかは分っていない。それと、 実は違いを探して boot.c の __syncicache を変更して見たが、それではだめだった (と思う)。

#3 [機械] HL-1870 トナー交換



2005/4/142006/05/182007/02/282008/01/27
紙送り用交換部品 (1)OK
21,48817,43113,249(残り寿命)ページ
紙送り用交換部品 (2)OK
50,00050,00050,000同上
定着ユニットOK
33,25825,76419,008同上
スキャナーユニットOK
153,258145,764139,008同上
ドラムユニット交換
00
同上
ページカウント
26,25346,74254,23660,895
ドラムカウント
26,25346,74254,23660,895
ドラムライフ0.0%0



差分


7,4946,659
2003/10/22 2005/04/14 2006/05/18 2007/02/28 2008/01/27
2004/12/14 (ML5300)


2008年01月26日() 旧暦 [n年日記] [更新:"2008/01/27 09:39:54"]

#1 [NetBSD] TNF/macppc

知合いに頼まれたという理由で Mac mini に NetBSD-4.0 を入れて見ている。 まず 「C を押しながら起動」が出来るように CDROM を作り直す。 macpcccd.iso をもって来て、
sudo vnconfig /dev/vnd0c macppccd.iso
sudo mkdir /vnd
sudo mount -t cd9660 -o ro /dev/vnd0c /vnd
しておいて、
rsync -a /vnd/ dir/
で写して boot/bootinfo.txt を加え mac.map も用意しておいて
.txt    Ascii   'chrp'  'tbxi' "Mac Boot File"
次のようにして作った
mkdir -volid macppc/20071216 -part -hfs    -r -J -l -hfs-bless dir/boot -map mac.map -o 20080126.iso dir
(実はその他に OF 1/2 用の CD/installboot も手動で入れてある) しかし、「C を押しながら起動」は出来なかった。 出来ないというか、確かに CDROM から起動している音がするが 画面が半暗転していて、何も進んでいるようには見えない。 ただ
boot cd:,\\:tbxi
は出来る。何かな..

sysinst:

これを使って 3.1 が入っていた機械に上書 (Upgrade NetBSD) で入れる。

xf86cfg:

しかし
sudo env PATH=/usr/X11R6/bin:${PATH} xf86cfg
をしても
(II) RADEON(0): initializing int10

Fatal server error:
xf86MapVidMem: could not mmap screen [s=20000,a=a0000] (Invalid argument)
これで 動かない。
port-macppc/2007/08/24/0006.html
port-macppc/2007/08/24/0007.html
2007/08/20 の日記 | X11 情報 | modular-xorg を入れる ?
meta-pkgs/modular-xorg-libs で make すると
ERROR: This package has set PKG_FAIL_REASON:
ERROR: The package tools installed on this system are out of date.
...
ERROR:     (cd /home/pkgsrc/pkgtools/pkg_install && /usr/bin/make clean && /usr/bin/make update)
とか言われる。ところが pkg_install の binary は 見つからない し、make しようとしても
In file included from /usr/include/sys/select.h:39,
                 from /usr/include/sys/time.h:258,
                 from /home/pkgsrc/pkgtools/pkg_install/work/libnbcompat/nbcompat/time.h:47,
                 from /home/pkgsrc/pkgtools/pkg_install/work/libnbcompat/nbcompat.h:72,
                 from __glob13.c:35,
                 from glob.c:12:
/usr/include/sys/fd_set.h:63: error: redefinition of `struct fd_set'
と言われて出来ない。そこで 4.99.9 の機械で sudo make package したもの を pkg_add する。それから
cd meta-pkgs/modular-xorg-libs
make clean && make
checking for fd_set.__fds_bits... no
configure: error: Could not determine how to access the fds_bits or equivalent
                  structure in fd_set on your platform.
*** Error code 1

Stop.
make: stopped in /home/pkgsrc/x11/xproto
*** Error code 1

./build.sh tools:

:   203  14:05   cvs -d /e/cvsync/cvsync update -r netbsd-4-0 -dP .
   204  14:49   time sudo ./build.sh -j 2 tools > & tools-log
cc  -O -D_PATH_DEFSHELLDIR="/bin" 
-D_BASENAME_DEFSHELL="sh" -DHAVE_SETENV=1 -DHAVE_STRDUP=1 
-DHAVE_STRERROR=1 -DHAVE_STRFTIME=1 -DHAVE_VSNPRINTF=1  -c /home/src/tools/make
/../../usr.bin/make/arch.c
In file included from /usr/include/sys/select.h:39,
                 from /usr/include/sys/time.h:258,
                 from /usr/include/sys/stat.h:46,
                 from /home/src/tools/make/../../usr.bin/make/arch.c:133:
/usr/include/sys/fd_set.h:63: error: redefinition of `struct fd_set'

ERROR: Build of nbmake failed
*** BUILD ABORTED ***
ttyp1:makoto@trapani 14:49:26/080126(/home/src)> 
まさか、こんなことではないはず
--- /usr/include/sys/fd_set.h-orig	2005-12-11 21:25:20.000000000 +0900
+++ /usr/include/sys/fd_set.h	2008-01-26 16:34:08.000000000 +0900
@@ -60,9 +60,12 @@
 #define	FD_SETSIZE	256
 #endif
 
+#ifndef FD_SET_H
+#define FD_SET_H
 typedef	struct fd_set {
 	__fd_mask	fds_bits[__howmany(FD_SETSIZE, __NFDBITS)];
 } fd_set;
+#endif
 
 #define	FD_SET(n, p)	\
     ((p)->fds_bits[(n)/__NFDBITS] |= (1 << ((n) % __NFDBITS)))
cc -O -D_PATH_DEFSHELLDIR="/bin" -D_BASENAME_DEFSHELL="sh"
-DHAVE_SETENV=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1
-DHAVE_STRFTIME=1 -DHAVE_VSNPRINTF=1 -c
/home/src/tools/make/../../usr.bin/make/lst.lib/lstSucc.c

cc  -O -o nbmake *.o  
nbmake: no system rules (sys.mk).

#2 TNF/macppc 入直しで X11 は動く

一回目のは 3.1 に上書き (Upgrade) だったので、もう一度 初めから NetBSD Install でやり直して見た。 そうしたら、(root で) startx と入れるだけで twm の画面になった。

ただ、auto-boot? true では画面が半暗転して、動いているのかどうか 分らない。「C を押しながら起動」でうまく行かなかったのも、これと 同じだと思う。 ofwboot を (TsubaiBSD のものと) 入替えて見ようと思う。 -- やはり、そのようだ。 CD-ROM を作り直しておこう。

Upgrade でなく Install なのに:

不思議なことがあって、
  1. 「既存の区画を使う」を指定したつもりなのに区画の編集が出来た
  2. Upgrade でなく 新規 Install を選んだつもりなのに以前の譜は消されないで 残っている
この二つ目の方は newfs を指定しなかったからかな。

todo list:

  • ofwboot を調べる
  • boot/bootinfo.txt の内容について
  • pbulk を調べる
  • macppccd.iso をもう一度作る
  • Tsutsui 式 bootable CD の作り方


2008年01月23日(水) 旧暦 [n年日記] [更新:"2008/01/24 00:47:20"]

#1 [NetBSD] Xen などと戯れて見た

と言っても、まだ DomU の方は動かせていない。 bridge の辺りから (僕が) 説明 を理解しなくなってしまって..
機械は Athlon 3500+ な ML115 に NetBSD-4.0 を入れて、 その上に Xen3 を入れるという例。


2008年01月22日(火) 旧暦 [n年日記] [更新:"2008/01/24 00:45:54"]

#1 [無題] アオジが毎日

この 3 日位、アオジが毎日来ていた。 実は初めの日には、アオジだということに気が付かず、 やけに派手な模様のスズメが来ているなと思ってしまった。 次の日に鳴き声を聞いてやっと理解した。


2008年01月16日(水) 旧暦 [n年日記] [更新:"2008/01/17 08:42:06"]

#1 [NetBSD] ML115 が遅いのは何故

ML115 の構成:
CPUOpteron 12162.4GHz x2
MemoryPC2-53001GB x 2
OSNetBSD 4.99.49+ pckbc.c patch+ kernel profiling patch
が /etc/fstab に
tmpfs           /tmp    tmpfs   rw
と書いてあるという条件で byte-bench で 680 くらい であるのに、build.sh では、予想の半分くらいの速度しか出ない
pts/0:makoto@berona 10:16:58/080116(/export/src)> 
time sudo ./build.sh -j 4 -m ofppc  \
-T /export/src/tooldir.NetBSD-4.99.49-x86_64 release > & ../log-ofppc-5 \
4267.160u 1223.584s 2:02:28.89 74.7%    0+0k 4864+408343io 32981pf+0w
pts/0:makoto@berona 12:19:29/080116(/export/src)> 
のは不思議、という問題で、disk の driver (viaide.c) に問題があるのかな、と別の SATA interface を使って試したが、殆んど同じだった。
satalink0 at pci1 dev 8 function 0
satalink0: Silicon Image SATALink 3512 (rev. 0x01)
satalink0: SATALink BA5 register space disabled
satalink0: bus-master DMA support present
satalink0: primary channel wired to native-PCI mode
LNKB: Picked IRQ 16 with weight 0
satalink0: using ioapic0 pin 16 (irq 10) for native-PCI interrupt
...
satalink0: port 0: device present, speed: 1.5Gb/s
atapibus0 at atabus0: 2 targets
...
wd0 at atabus7 drive 0: <FB080C4080>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(satalink0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
で vmstat -iv のうち、今気になっているのは次の行 (上記 .build.sh releas の後)
interrupt                 total     rate
global TLB IPI          7493973      547
 TLB: Translation Look-aside Buffer
 IPI: Inter Processor Interrupt
参考: port-amd64/31359
僕が主に比較しているのは BE-2350。 「BE-2350 で問題ないものが Opteron で問題になる」ということでは ? TLB の構造が違う ? という感触になって来た。 でも、実は、この辺 2007/11 頃にコードの変更があった、と 上の PR には書いてある気がする。 BE-2350 と言っているのは 2007/09 頃のコードだ。 その頃のものを入れて見る ?

kernel だけ 4.99.31 (2007/09/24):

time sudo ./build.sh -m amd64 -j 4 -T /export/src/tooldir.NetBSD-4.99.49-x86_64 
kernel=GENERIC
..
342.661u 69.626s 6:55.67 99.1%  0+0k 453+20906io 3207pf+0w
ちょっとは速い気がする。kernel を作るのに 9 分くらいかかっていたから。
global TLB IPI                   636486     1059
これは相変らず多い。build.sh も起動して見たが全然だめ:
pts/0:makoto@berona 1:21:53/080117(/export/src)> \
time sudo ./build.sh -m ofppc -j 4 -T /export/src/tooldir.NetBSD-4.99.49-x86_64 
release >& ../log-ofppc-by-4.99.31
4141.548u 980.506s 2:31:53.97 56.1%     0+0k 11106+499437io 32517pf+0w

#2 [無題] すずめに混ってうぐいすが庭に

いつも、底に残った御飯粒等を、撒いている。普段来るのは すずめだけだが、きょうはすずめに混ってうぐいすが来ていた。 目が白くないので、目白ではない。


2008年01月15日(火) 旧暦 [n年日記] [更新:"2008/01/15 12:23:28"]

#1 [NetBSD] kernel profiling for amd64

In English
In Japanese
名前は何でもいいけれど、例えば sys/arch/amd64/conf/GENERIC.PROF という名前で次の内容を用意して
include "arch/amd64/conf/GENERIC"
makeoptions     PROF="-pg"
options         GPROF
time sudo ./build.sh -m amd64 -j 4 -T /export/src/tooldir.NetBSD-4.99.49-x86_64 kernel=GENERIC.PROF
で、以前に見た気がするが:
/var/tmp//cci6nNif.s: Assembler messages:
/var/tmp//cci6nNif.s:189: Error: suffix or operands invalid for `pushf'
/var/tmp//cci6nNif.s:189: Error: suffix or operands invalid for `pop'
/var/tmp//cci6nNif.s:237: Error: suffix or operands invalid for `push'
/var/tmp//cci6nNif.s:237: Error: suffix or operands invalid for `popf'
/var/tmp//cci6nNif.s:283: Error: suffix or operands invalid for `push'
/var/tmp//cci6nNif.s:283: Error: suffix or operands invalid for `popf'
もう一度 nbmake
cd /export/src/sys/arch/amd64/compile/obj/GENERIC.PROF
sudo /export/src/tooldir.NetBSD-4.99.49-x86_64/bin/nbmake-amd64
もう一度
cd /export/src/sys/arch/amd64/compile/obj/GENERIC.PROF/lib/kern;
pts/0:makoto@berona 9:38:22/080115(...lib/kern)> sudo /export/src/tooldir.NetBSD-4.99.49-x86_64/bin/nbmake -f /export/src/sys/lib/libkern/Makefile KERNDIR=/export/src/sys/lib/libkern CC=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-gcc CFLAGS=\ -mcmodel=kernel\ -mno-red-zone\ -ffreestanding\ -fno-zero-initialized-in-bss\ \ \ -O2\ -fno-omit-frame-pointer\ -Werror\ -Wall\ -Wno-main\ -Wno-format-zero-length\ -Wpointer-arith\ -Wmissing-prototypes\ -Wstrict-prototypes\ -Wswitch\ -Wshadow\ -Wcast-qual\ -Wwrite-strings\ -Wno-sign-compare\ -Wno-pointer-sign\ -Wno-attributes\ \ -fno-strict-aliasing\ \ AS=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-as AFLAGS=\ -x\ assembler-with-cpp\ -traditional-cpp\ \ -D_LOCORE\ -Wa,-fatal-warnings\ LORDER=NM=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-nm\ MKTEMP=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/nbmktemp\ /export/src/tooldir.NetBSD-4.99.49-x86_64/bin/nblorder TSORT=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/nbtsort\ -q LD=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-ld STRIP=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-strip AR=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-ar NM=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-nm RANLIB=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-ranlib SIZE=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-size MACHINE=amd64 MACHINE_ARCH=x86_64 KERNCPPFLAGS=-Damd64\ -Dx86_64\ -I../../.\ -I/export/src/sys/contrib/dev/ath/netbsd\ -I/export/src/sys/../common/include\ -I/export/src/sys/arch\ -I/export/src/sys\ -nostdinc\ -DLKM\ -DGPROF\ -DMAXUSERS=32\ -D_KERNEL\ -D_KERNEL_OPT\ -I/export/src/sys/lib/libkern/../../../common/lib/libc/quad\ -I/export/src/sys/lib/libkern/../../../common/lib/libc/string\ -I/export/src/sys/lib/libkern/../../../common/lib/libc/arch/x86_64/string\ -I/export/src/sys/dist/ipf KERNMISCCPPFLAGS= LINTFLAGS=-bcehnxzFS libkern.po
更に cc だけ起動
/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-gcc -mcmodel=kernel -mno-red-zone -ffreestanding -fno-zero-initialized-in-bss -O2 -fno-omit-frame-pointer -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-compare -Wno-pointer-sign -Wno-attributes -fno-strict-aliasing AS=/export/src/tooldir.NetBSD-4.99.49-x86_64/bin/x86_64--netbsd-as -I/export/src/sys/lib/libkern/arch/x86_64 -Damd64 -Dx86_64 -I../../. -I/export/src/sys/contrib/dev/ath/netbsd -I/export/src/sys/../common/include -I/export/src/sys/arch -I/export/src/sys -nostdinc -DLKM -DGPROF -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -I/export/src/sys/lib/libkern/../../../common/lib/libc/quad p-I/export/src/sys/lib/libkern/../../../common/lib/libc/string -I/export/src/sys/lib/libkern/../../../common/lib/libc/arch/x86_64/string -I/export/src/sys/dist/ipf -I/export/src/sys/lib/libkern/../../../common/lib/libc/quad -I/export/src/sys/lib/libkern/../../../common/lib/libc/string -I/export/src/sys/lib/libkern/../../../common/lib/libc/arch/x86_64/string -I/export/src/sys/lib/libkern/../../../common/include -c -DGPROF -DPROF -pg /export/src/sys/lib/libkern/../../../common/lib/libc/gmon/mcount.c -o mcount.po
Following location are flagged:
    188 /APP    
    189         pushfl; popl %rax
    190 /NO_APP  

    236 /APP
    237         pushl %rax; popfl
    238 /NO_APP

    282 /APP
    283         pushl %rax; popfl
    284 /NO_APP
Those lines are derived from: src/sys/arch/amd64/include/profile.h
    135 static inline u_long
    136 mcount_read_psl(void)
    137 {
    138         u_long  ef;
    139
    140         __asm volatile("pushfl; popl %0" : "=r" (ef));
    141         return (ef);
    142 }

    144 static inline void
    145 mcount_write_psl(u_long ef)
    146 {
    147         __asm volatile("pushl %0; popfl" : : "r" (ef)); 
    148 }
oshimaya さんの 2006/04/19 の日記 にも同じ字がある。あれ、自分で メール を書いている ? でも ef が何故 ax に変わるのかな ? CPUID instruction という種類のもの ? もしかして patch
Profiling kernel, textsize=6140264 [ffffffff80100000..ffffffff806db168]
   118  11:33   sudo kgmon -b
   119  11:33   sudo ./build.sh -m amd64 -j 4 -T /export/src/tooldir.NetBSD-4.99.49-x86_64 kernel=GENERIC.PROF
   120  11:42   sudo kgmon -h
   121  11:42   sudo kgmon -p
   126  11:44   gprof /netbsd gmon.out > gmon.txt
   127  11:46   less gmon.txt
Flat profile:
Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 80.37    390.90   390.90                             x86_stihlt
  1.68    399.05     8.15                             mutex_enter
  1.46    406.16     7.11                             Xspllower
  1.34    412.69     6.53  5817777     0.00     0.00  sse2_zero_page
  0.87    416.93     4.24 11307330     0.00     0.00  pmap_enter
  0.71    420.37     3.44 30737349     0.00     0.00  pvtree_SPLAY
  0.61    423.36     2.99  7294905     0.00     0.01  uvm_fault_internal
  0.60    426.27     2.91                             mutex_spin_enter
  0.59    429.13     2.86  2555182     0.00     0.00  copyout
  0.50    431.58     2.45   420077     0.01     0.01  _kernel_lock
  0.43    433.66     2.08 51671343     0.00     0.00  lockmgr
  0.41    435.64     1.98                             calltrap
  0.38    437.50     1.86 25561689     0.00     0.00  pool_cache_get_paddr
  0.37    439.32     1.82                             x86_pause
  0.36    441.07     1.75  6560728     0.00     0.00  uvm_pagealloc_pgfl
  0.33    442.69     1.62 10687457     0.00     0.00  cache_lookup
  0.31    444.20     1.51  5833980     0.00     0.00  pmap_zero_page
sys/arch/amd64/amd64/cpufunc.S:
   310  NENTRY(x86_stihlt)
   311          pushq   %rbp
   312          movq    %rsp, %rbp
   313          sti
   314          hlt
   315          leave
   316          ret
But the calls (call count) is not shown, so, is this just a wait ? No, the blank on 'calls' means not-profiled.
stiSet Interrupt flag
hltHalt
leaveHigh Level Procedure Exit
x86 Assembly Language Reference Manual


2008年01月11日(金) 旧暦 [n年日記] [更新:"2008/01/14 15:09:13"]

#1 [機械] やってしまった

du -sk Mail/trash
cd Mail/trash  ... (入力したつもりだったが、入力していない)
find . -type f | perl -nle unlink
多分 2 分くらい経ってから「許可がなくて消せない」という字 を見てあわてて中断。 . で始まるものが(かなり)消えた。一応 ちょっと古い backup とか cvs 保管とか あったので、大きな被害はなったが。rm -rf * が一応危険なのと、 数が多いと * は受付けてくれなくて find を使っていた。 多分この 20 年くらいで、この間違いは初めての気がする。
tcsh で、履歴を使って、
cp a b
vi b        変更する
cp a b      上書きで消してしまう
という間違いは何度かやったことがあるが。


2008年01月10日(木) 旧暦 [n年日記] [更新:"2008/01/14 15:12:02"]

#1 [機械] ML115 復活

ML115 の ホップ・ステップ・ジャンプ キャンペーン が復活した。2008/4/24 までということだ。


2008年01月08日(火) 旧暦 [n年日記] [更新:"2008/01/09 10:06:15"]

#1 [無題] 自動車免許証の更新

免許の更新をして来た。
  • 千葉県では 2007/01/04 から IC 免許証になる
  • 誕生日が 12/10 なので、1/10 までが期限
ということで、僅かのことで間に合って、切替えて来た。
  • 四桁の暗証番号が二つ必要 (要するに八桁)
  • 450 円高くなる
  • 少し厚みが増す
  • 本籍が記載されていない
という違いだけかな。またこれとは別に「普通免許」が「8t 限定中型免許」 になった。

#2 [net] spam が 7,000 通

自ドメイン宛の User unknown のメールを全て自分に転送するようにしたら、 多分半日で 7,000 通くらい届いてしまった。おそらくこれが原因で NFS サーバ (実メモリ 224MB) が
panic: malloc: out of space in kmem_map
で落ちる頻度が一日一回以上になりそうな気がする。 それで、やはり /dev/null に送ることに変更した。


2008年01月06日() 旧暦 [n年日記] [更新:"2008/01/07 11:16:01"]

#1 [MTA][sendmail][spam] User unknown を捨てる方法

google で
user unknown を捨てる sendmail 
で探したら、次の URL が最初に出て来た LUSER_RELAY というのがあるらしい。Local User Relay の意味で、 「メールアドレスが Local User なのに、実は Local User ではない宛先を処理する」 という機能ということだ。 何と にも一応書いてある。
define(`LUSER_RELAY',`local:処理する宛先')dnl 
と書いておくと、 「メールアドレスが Local User なのに、実は Local User ではない宛先」のメールは 「処理する宛先」に送られるようになる。で、この機能を使って User unknown を知らせるメールを元々の送信元には送り返さずに、 別の宛先に転送するように出来るようになる。 これにより、破棄も可能ということだ。 があるということだ。

この設定後、次のような記録が残っていれば、hoge at example.com に送られているということになる。

[17640]: m06DmxTP017640: <reahi at example.com>... User unknown
[17640]: m06DmxTP017640: from=<jra at axel.ocn.ne.jp>, size=7429, class=0, nrcpts=0, proto=ESMTP, daemon=MTA, relay=[192.168.1.1]
[17640]: m06DmxTR017640: from=<>, size=11188, class=0, nrcpts=1, msgid=<200801061351.m06DpMDP008113 at mail.example.com>, proto=ESMTP, daemon=MTA, relay=[192.168.1.1]
[29920]: m06DmxTR017640: to=<hoge at example.com>, delay=00:00:01, xdelay=00:00:01, mailer=local, pri=41365, dsn=2.0.0, stat=Sent
... しかし全てが、うまく処理されている訳でもなさそう ... と思ったのは例によって勘違いで、 指定した宛先に User unknown を知らせるメールが届く ? (それが上に書いてある記録と一致)

LUSER_RELAY の説明 FAQ を見ると、何か違うような気もする
試しているのは 8.13.3 なので、8.14.4 に入替えようとしたが、make install がちょっと変なので、 とりあえず、元の 8.13.3 に戻す。pkgsrc/mk と pkgsrc/pkgtools を更新して、もう一度 8.14.4 を make package.

これでやっと LUSER_RELAY が機能するようになった気がする (でもまだ User unknown メールは時々届く)。

別件で gmail にメールを送ろうとすると:

あるメールサーバから gmail にメールを送ろうとすると次のようになる。
550-5.7.1 [218.219.xx.yy] The IP you're using to send email is not authorized
550-5.7.1 to send email directly to our servers. Please use
550 5.7.1 the SMTP relay at your service provider instead. xxxxxxxxxrvf.1
上記 IP address は書替えてあります。これは何かな。google さんに相談しても 何も出て来ない ? -> Dynamic IP smtp is now being blocked.
The IP is not really a dynamic, instead fixed one....

#2 [無題] 下大和田谷津田にて探鳥の会

下大和田谷津田は東金道路、中野 IC 近く。自宅からは約 20km 弱。 高速道路を使わなくても 30 分足らずで着く。
カシラダカ
ハクセキレイ
キセキレイ
セグロセキレイ
モズ
ノスリ
メジロ
ホオジロ
ジョウビタキ
エナガ
シジュウカラ
アリスイ(声だけ)
ルリビタキ(同上)
アカハラ(同上)
ウグイス(同上地鳴き)
ベニマシコ(自分では見ていない)
カシラダカは初めて見た。

終ってから午後に 火おこしにも挑戦(火がつくまでは至らず)



2008年01月05日() 旧暦 [n年日記] [更新:"2008/01/05 16:05:59"]

#1 [NetBSD][pkgsrc] cross-binutils

cross-i386-mingw32 を以前に用意しようとして binutils+gcc になってしまったが、分れている方が良いのでは、ということに なって、でもそのまま放ってあった。それで、まずは binutils だけをと思って良く見ると、
cross/binutils
devel/binutils
等が既にある。これらに混ぜればいいのかと思うが、そこまで読切れないので とりあえず別に用意して見ようとする。しかし単に devel/binutils に
CONFIGURE_ARGS+= --target=i386-mingw32 
を加えるだけで良い気もする。

cross/binutils にある

CONFIGURE_ARGS+=        --enable-targets=all
CONFIGURE_ARGS+=        --target=i386-linux
等の意味 (意図)は良く分っていない。 二つ目は他の OS から i386-linux 用を作るだけのもの ?


2008年01月04日(金) 旧暦 [n年日記] [更新:"2008/01/04 23:52:57"]

#1 [無題] 年賀状を今更 41 枚書いた

例によって LaTeX で作り、宛先は手書き。 色付の印刷が少しおかしくなっているが何とか通過。

#2 [歌舞伎] 国立劇場

通し狂言、小町村芝居正月。 菊五郎・菊之助ら。


2008年01月03日(木) 旧暦 [n年日記] [更新:"2008/01/04 23:47:25"]

#1 [歌舞伎] 歌舞伎座にて

幸四郎・染五郎親子の鏡獅子、團十郎の助六


2008年01月02日(水) 旧暦 [n年日記] [更新:"2008/01/04 23:46:09"]

#1 [無題] 荻窪



2008年01月01日(火) 旧暦 [n年日記] [更新:"2008/01/01 01:54:28"]

#1 [無題] 新年が明けた

今年もよろしくお願い致します。



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、17 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)