pepoとネットワークを語ろう

40年前からこれまでとこれからのネットワークを語る

epicon-5.0をリリースしました。

2011-10-18 20:03:21 | Linux

epiconとはLinuxで使えるシリアル・コンソール用の通信ソフトです。

SwitchやRouterなどシリアルポートでConfigを設定するネットワーク機器はメーカーや機種を問わず使えると思います。 

Cisco製ルータなどの設定を自動化する際、事前に作成したテキスト・データをコピーしてシリアル・コンソール画面へ貼り付けコンフィグの流し込みを行います。 
この時、文字と改行の送出デレィを挿入しコンフィグ・データの取りこぼしを防ぐことが必要です。 
ルータのシリアル・コンソールとして重要な文字と改行の送出デレイをepiconはサポートしているのでコンフィグを安心してコピー&ペーストが出来ます。 

この他、簡易telnet、zmodemなどのファイル転送ソフト、shell、マクロ、外部ソフトの起動などCUIだが多機能でコンパクトな作りとなっています。

今回のバージョンアップはシリアルDIOをマルチタスクで使用したとき

に競合防止の為lockfile関係を強化した

pepo


日頃は青臭い中国産の枝豆しか食べられへんねんけど、庭採れは最高や∩(○´∀`○)∩

2011-10-10 09:36:17 | くじら伝説

今年2度目の庭採れ、枝豆の収穫や

びんぼうくじらのだんなは

日頃は青臭い中国産の枝豆しか食べられへんねんけど、庭採れは最高や∩(○´∀`○)∩

庭採れ、枝豆はちがうでそれはー、美味い、美味いで

しかし、庭栽培はバッタが葉っぱを食べるからあんまりみのりは、あらへん

くじらのかあさんに、日頃バッタを潰してとお願いするも拒否られ、

見事に葉っぱが食われとるがな

pepoと

 

 


msleepとsleepとusleepをくらべたよ、うーねむい、sleepy(@Д@;

2011-10-10 09:31:11 | Linux

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

 


PepoLinux-0.48をリリースしました。

2011-10-08 10:43:11 | Linux

久しぶりに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ボードデバッグ中

2011-10-06 15:36:50 | Linux

シリアルDIOボードでバック中

#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