#kof2011 展示用のRemote-Hand(DIO)のjavascriptをgoogle chromeで
バッグ中やけど
あー、いー、うー、やー、すごいわGoogle Chromeのjavascriptコンソール
くじらのだんなのへっぽこ、javascript
ブレークポイントなんぞ設定してあらを
どんどん指摘してくれるわ
pepoと
epiconとはLinuxで使えるシリアル・コンソール用の通信ソフトです。
SwitchやRouterなどシリアルポートでConfigを設定するネットワーク機器はメーカーや機種を問わず使えると思います。
Cisco製ルータなどの設定を自動化する際、事前に作成したテキスト・データをコピーしてシリアル・コンソール画面へ貼り付けコンフィグの流し込みを行います。
この時、文字と改行の送出デレィを挿入しコンフィグ・データの取りこぼしを防ぐことが必要です。
ルータのシリアル・コンソールとして重要な文字と改行の送出デレイをepiconはサポートしているのでコンフィグを安心してコピー&ペーストが出来ます。
この他、簡易telnet、zmodemなどのファイル転送ソフト、shell、マクロ、外部ソフトの起動などCUIだが多機能でコンパクトな作りとなっています。
今回のバージョンアップはシリアルDIOをマルチタスクで使用したとき
に競合防止の為lockfile関係を強化した
pepoと
〓〓只今、前半の30分
2-0で勝っていますよ〓〓
今日は相手が弱いみたい〓
カピちゃん〓なので~
〓は、お先に〓いってきますm(._.)m
今年2度目の庭採れ、枝豆の収穫や
びんぼうくじらのだんなは
日頃は青臭い中国産の枝豆しか食べられへんねんけど、庭採れは最高や∩(○´∀`○)∩
庭採れ、枝豆はちがうでそれはー、美味い、美味いで
しかし、庭栽培はバッタが葉っぱを食べるからあんまりみのりは、あらへん
くじらのかあさんに、日頃バッタを潰してとお願いするも拒否られ、
見事に葉っぱが食われとるがな
pepoと
Open Microserver+FOMA Remote-Handをdaemontoolsでdaemonを
監視しているがやたらとsleepが気になるのと
50ミリ秒とか細かい数字でsleepさせたい場合がある
usleep 50000も桁数が多くて分かり図らい
sleep 0.05とかやっても良いんだけどなんか
psでプロセスを見たときに小数点があるのもイマイチかも
なので、msleepなんぞが標準で無いのでwebを参考に自前で作ってみた
そんでもって検証や
[root@~]# time ./msleep 100
real 0m0.107s
user 0m0.001s
sys 0m0.004s
[root@~]# time ./msleep 100
real 0m0.107s
user 0m0.001s
sys 0m0.004s
[root@~]# ldd ./msleep
linux-gate.so.1 => (0x0026c000)
libc.so.6 => /lib/libc.so.6 (0x00831000)
/lib/ld-linux.so.2 (0x0054a000)
[root@~]# ldd /bin/sleep
linux-gate.so.1 => (0x00f30000)
libc.so.6 => /lib/libc.so.6 (0x00753000)
/lib/ld-linux.so.2 (0x00b0a000)
ソースコードはescが邪魔臭いのでうまく貼り付けれんけど参考まで
[root@~]# cat msleep.c
/* licence GPLv2 ; this is milliseconds to sleep by IZAMUKARERA 2011.6.25 */
省略
int main(int argc, char *argv[]){
unsigned int msec;
if (argc < 2) {
printf("Usage: msleep ,miliseconds\n");
exit (1);
}
msec = atoi(argv[1]);
msleep(msec);
exit(0);
}
int msleep(int ms)
{
struct timeval timeout;
timeout.tv_sec = ms / 1000;
timeout.tv_usec = (ms % 1000) * 1000;
if (select(0, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &timeout) < 0) {
perror("msleep");
return -1;
}
return 0;
}
バイナリーコードが1/3ぐらいで、まーちょいとが少ないからええか
[root@~]# ll /usr/local/bin/msleep
-rwxr-xr-x 1 root root 5569 10月 9 04:28 /usr/local/bin/msleep
[root@~]# ll /bin/sleep
-rwxr-xr-x 1 root root 17064 3月 1 2010 /bin/sleep
[root@~]# ll /bin/usleep
-rwxr-xr-x 1 root root 24792 8月 20 00:31 /bin/usleep
pepoと
久しぶりにMakefileとinitを真剣に、いじっくっていたので3日程掛かったけど
ようやくPepoLinux-0.48をリリースできるわ
2010.6.13:Ver0.44からinitでudev起動させdeviceは検出を楽にしたけど
そのぶん少ないメモリでは起動できんかった
今回、Makefileとinitをかなりチューナップしてようやく64MBでも立ち上るように出来たわ
けど、さすがに64MBでは、dhclient,sshdでネットからログイン程度、httpdまでは起動できんわ
でもメモリ128MBあるとsshd,http,postfix,named,squid,samba等などserverとして使えるよ
[root@~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 2784 12892 64868 0 0 240 0 321 282 4 14 79 3 0
[root@~]# free
total used free shared buffers cached
Mem: 124232 121448 2784 0 12892 64868
-/+ buffers/cache: 43688 80544
Swap: 0 0 0
少し長くなるけどpsをお披露目や
[root@~]# ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:03 init [5]
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [ksoftirqd/0]
5 ? S 0:00 [kworker/u:0]
6 ? S 0:00 [migration/0]
7 ? S< 0:00 [cpuset]
8 ? S< 0:00 [khelper]
9 ? S< 0:00 [netns]
10 ? S 0:00 [sync_supers]
11 ? S 0:00 [bdi-default]
12 ? S< 0:00 [kintegrityd]
13 ? S< 0:00 [kblockd]
14 ? S< 0:00 [kacpid]
15 ? S< 0:00 [kacpi_notify]
16 ? S< 0:00 [kacpi_hotplug]
17 ? S 0:00 [khubd]
18 ? S< 0:00 [md]
19 ? S 0:00 [kworker/0:1]
20 ? S 0:00 [khungtaskd]
21 ? S 0:00 [kswapd0]
22 ? S 0:00 [fsnotify_mark]
23 ? S< 0:00 [aio]
24 ? S< 0:00 [crypto]
28 ? S 0:00 [kworker/u:1]
29 ? S< 0:00 [kpsmoused]
30 ? S 0:00 [kworker/0:2]
300 ? S< 0:00 [ata_sff]
339 ? S 0:00 [scsi_eh_0]
343 ? S 0:00 [scsi_eh_1]
348 ? S< 0:00 [mpt_poll_0]
350 ? S< 0:00 [mpt/0]
366 ? S 0:00 [scsi_eh_2]
1656 ? S< 0:00 [loop1]
1662 ? S< 0:00 [unionfs_siod]
1706 ? S< 0:00 [loop2]
1721 ? S< 0:00 [loop0]
1752 ? S
3155 ? S 0:00 [kauditd]
3185 ? Ss 0:00 syslogd -m 0
3188 ? Ss 0:00 klogd -x
3478 ? Ss 0:00 dbus-daemon --system
3525 ? Ssl 0:00 /usr/sbin/named -u named -t /var/named/chroot
3568 ? Ss 0:00 gpm -m /dev/input/mice -t exps2
3592 ? Sl 0:01 /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a
3619 ? Ss 0:00 /usr/sbin/sshd
3689 ? Ss 0:00 /usr/libexec/postfix/master
3694 ? S 0:00 pickup -l -t fifo -u
3695 ? S 0:00 qmgr -l -t fifo -u
3717 ? Ss 0:00 /usr/sbin/httpd
3723 ? S 0:00 /usr/sbin/httpd
3753 ? Ss 0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
3775 ? Ss 0:03 hald
3776 ? S 0:00 hald-runner
3792 ? S 0:00 hald-addon-storage: polling /dev/sr0
3823 ? Ss 0:00 crond
3845 ? Ss 0:00 /usr/sbin/atd
3858 tty1 Ss+ 0:00 /sbin/agetty 38400 tty1
3859 tty2 Ss+ 0:00 /sbin/agetty 38400 tty2
3860 tty3 Ss+ 0:00 /sbin/agetty 38400 tty3
3861 tty4 Ss+ 0:00 /sbin/agetty 38400 tty4
3862 tty5 Ss+ 0:00 /sbin/agetty 38400 tty5
3871 ? Ss 0:00 sshd: root@pts/0
3873 pts/0 Ss 0:00 -bash
3885 ? S 0:00 /usr/sbin/httpd
3889 ? S 0:00 /usr/sbin/httpd
3904 ? Ss 0:00 squid -D
3907 ? S 0:00 (squid) -D
3908 ? Ss 0:00 (unlinkd)
3954 ? Ss 0:00 smbd -D
3957 ? S 0:00 smbd -D
3958 ? Ss 0:00 nmbd -D
3964 ? S 0:07 smbd -D
3984 pts/0 R+ 0:00 ps ax
ぎょうさんのプロセスが元気よく動いとるわ
pepoと
#kof2011 展示用にてシリアルDIOボードデバッグ中
ようやく、動くようになってきたわ
シングルユーザーで動かす分には少し前に出来たけど
やっぱり、Linuxで使うんやからには
DIOシリアルボードもマルチユーザーで使われんとあかん
出来たDIOインプット監視デーモンをバックグランド何個起動して
マルチユーザーをエミュレート
[root@peplinux]# ./pepo_diod &
[1] 26585
[root@peplinux]# ./pepo_diod &
[2] 26735
[root@peplinux]# ./pepo_diod &
[3] 26875
[root@peplinux]# ./pepo_diod &
[4] 27006
[root@peplinux]# ./pepo_diod &
[5] 27123
[root@peplinux]# ./pepo_diod &
[6] 27443
[root@peplinux]# ./pepo_diod &
[7] 27983
CH0へ1を書き込み
[root@peplinux]# ./pepo_dioctl 0 1
CH0へ0を書き込み
1[root@peplinux]# ./pepo_dioctl 0 0
dio_/dev/ttyS1_busy
おっと、ビジーで返される
再度CH0へ0を書き込み
[root@peplinux]# ./pepo_dioctl 0 0
0[root@peplinux]# /usr/bin/dio0low
おっと、デーモンがループしてポート変化を読み込んでwallメッセージが7つ出る
Broadcast message from root (pts/0) (Thu Oct 6 15:12:20 2011):
execute /usr/bin/dio0low
/usr/bin/dio0low
Broadcast message from root (pts/0) (Thu Oct 6 15:12:21 2011):
execute /usr/bin/dio0low
/usr/bin/dio0low
Broadcast message from root (pts/0) (Thu Oct 6 15:12:23 2011):
execute /usr/bin/dio0low
/usr/bin/dio0low
Broadcast message from root (pts/0) (Thu Oct 6 15:12:24 2011):
execute /usr/bin/dio0low
/usr/bin/dio0low
Broadcast message from root (pts/0) (Thu Oct 6 15:12:24 2011):
execute /usr/bin/dio0low
/usr/bin/dio0low
Broadcast message from root (pts/0) (Thu Oct 6 15:12:27 2011):
execute /usr/bin/dio0low
/usr/bin/dio0low
Broadcast message from root (pts/0) (Thu Oct 6 15:12:31 2011):
execute /usr/bin/dio0low
dio CH0のリード時間を計測
[root@peplinux]# time ./pepo_dioctl 0
0
real 0m0.127s
user 0m0.017s
sys 0m0.076s
dio CH0のライト時間を計測
[root@peplinux]# time ./pepo_dioctl 0 1
1
real 0m0.235s
user 0m0.047s
sys 0m0.141s
[root@peplinux]#
バックグランドでマルチユーザーをエミュレートしても
へこたれへんようになってきた、大丈夫、大丈夫、
ちゅうことで、だいぶと慣れてきたがな
でも夜勤明けで眠たくなってきたわ、今日はここまでにしといたろ
pepoと