Oct 30, 2003
onlsbc1, Debian GNU/Linux3.0 のインストール(その3)
--- インストール #18
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(http://www-online.kek.jp/~inoue/para-CAMAC/
Work/SBC-Linux22.html)
高エネルギー加速器研究機構
素粒子原子核研究所
物理、オンライングループ
井上 栄二
目的
SBC-Linux16.html で作成した Debian GNU/Linux3.0 のシステムの一部修正
の作業を行う。
(1). 原田さんからの要望
(2). 対応策の検討
(3). 処置
(4). コンパイルのチェック
(5). tarファイルの作成
--------------------------------------------------------------------
(1). 原田さんからの要望
>現状ではCFカードに空き領域が全く無く、
>checkディレクトリのファイルを再コンパイル使用しただけでも
>警告メッセージがでてきますし、
>/tmp領域に一時的にファイルを置こうとするだけでも警告が出されます。
> :
>一時的にファイルをストアするために、
>もっと開き領域を増やせないものでしょうか。
(2). 対応策の検討
問題点は2つある。 一つは RAMディスクのサイズの問題。 もう一つは、
コンパクトフラッシュ上の空きスペースの問題である。
(2-1). /ramfs のチェック
onlsbc1:/home/toyo# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hdc1 484602 457986 1594 100% /
onlsbc1:/home/toyo#
onlsbc1:/home/toyo# ls -l /
total 43
drwxr-xr-x 2 root root 2048 Oct 22 15:05 bin
drwxr-xr-x 3 root root 1024 Oct 22 11:26 boot
drwxr-xr-x 2 root root 1024 Oct 22 18:34 cdrom
drwxr-xr-x 9 root root 21504 Oct 26 06:47 dev
drwxr-xr-x 42 root root 3072 Oct 30 09:44 etc
drwxr-xr-x 2 root root 1024 Oct 22 18:34 floppy
drwxrwsr-x 3 root staff 1024 Oct 22 09:56 home
drwxr-xr-x 2 root root 1024 Oct 22 18:34 initrd
drwxr-xr-x 5 root root 3072 Oct 22 10:27 lib
drwx------ 2 root root 1024 Oct 22 17:51 lost+found
drwxr-xr-x 2 root root 1024 Feb 9 2002 mnt
drwxr-xr-x 2 root root 1024 Oct 22 18:34 opt
dr-xr-xr-x 44 root root 0 Oct 25 02:43 proc
drwxr-xr-x 5 root root 1024 Oct 24 17:44 ramfs
drwxr-xr-x 3 root root 1024 Oct 22 14:43 root
drwxr-xr-x 2 root root 2048 Oct 22 15:05 sbin
lrwxrwxrwx 1 root root 9 Oct 23 14:46 tmp -> ramfs/tmp
drwxr-xr-x 14 root root 1024 Oct 22 15:05 usr
lrwxrwxrwx 1 root root 9 Oct 23 15:09 var -> ramfs/var
lrwxrwxrwx 1 root root 25 Oct 23 14:46 vmlinuz -> boot/vmlinuz-
2.4.18-bf2.4
onlsbc1:/home/toyo#
onlsbc1:/ramfs# pwd
/ramfs
onlsbc1:/ramfs# du -k
12 ./lost+found
1 ./tmp
1 ./var/lib/apt/lists/partial
16321 ./var/lib/apt/lists
16322 ./var/lib/apt
2948 ./var/lib/dpkg/info
25 ./var/lib/dpkg/alternatives
1 ./var/lib/dpkg/methods/mnt
1 ./var/lib/dpkg/methods/disk
1 ./var/lib/dpkg/methods/floppy
4 ./var/lib/dpkg/methods
1 ./var/lib/dpkg/updates
17950 ./var/lib/dpkg
6 ./var/lib/misc
2 ./var/lib/locate
2 ./var/lib/urandom
2 ./var/lib/logrotate
1 ./var/lib/dhcp
1 ./var/lib/iptables
1 ./var/lib/nfs/sm.bak
1 ./var/lib/nfs/sm
4 ./var/lib/nfs
34291 ./var/lib
1 ./var/cache/apt/archives/partial
2 ./var/cache/apt/archives
5723 ./var/cache/apt
683 ./var/cache/debconf
1 ./var/cache/apache
1 ./var/cache/man/fsstnd
1 ./var/cache/man/cat1
1 ./var/cache/man/cat2
1 ./var/cache/man/cat3
1 ./var/cache/man/cat4
1 ./var/cache/man/cat5
1 ./var/cache/man/cat6
1 ./var/cache/man/cat7
1 ./var/cache/man/cat8
1 ./var/cache/man/oldlocal/cat1
1 ./var/cache/man/oldlocal/cat8
3 ./var/cache/man/oldlocal
1 ./var/cache/man/local
1 ./var/cache/man/X11R6/cat1
1 ./var/cache/man/X11R6/cat7
3 ./var/cache/man/X11R6
1 ./var/cache/man/opt
18 ./var/cache/man
6426 ./var/cache
871 ./var/backups
1 ./var/local
1 ./var/lock
3604 ./var/log/ksymoops
6 ./var/log/exim
1 ./var/log/news
1 ./var/log/linuxconf
6 ./var/log/apache
7452 ./var/log
1 ./var/run/exim
1 ./var/run/sshd
1 ./var/run/identd
22 ./var/run
1 ./var/spool/cron/crontabs
1 ./var/spool/cron/atjobs
1 ./var/spool/cron/atspool
4 ./var/spool/cron
1 ./var/spool/lpd/remote
1 ./var/spool/lpd/lp
3 ./var/spool/lpd
8 ./var/spool
1 ./var/tmp/vi.recover
2 ./var/tmp
1 ./var/opt
1 ./var/mail
6 ./var/www
1 ./var/state/apache/mod_bandwidth
2 ./var/state/apache
3 ./var/state
49086 ./var
49100 .
onlsbc1:/ramfs#
現在、RAMディスクの領域として約52MBを確保している。 この領域にファイル
システムを構成してやると、実際に記憶領域として使えるのは、約50MBである。
/ramfs の下に配置している、/tmpおよび /var がすでに使用しているのは
上のチェックの結果からわかるように、49MB強である。 この状況では、
コンパイルなどの作業を行うとシステムに拒否されてもおかしくない。
RAMディスクの領域を52MBから64MBに増やすことにする。
(2-2). コンパクトフラッシュのスペース のチェック
onlsbc1:~# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hdc1 484602 457986 1594 100% /
onlsbc1:~#
onlsbc1:/usr/share/doc/HOWTO# pwd
/usr/share/doc/HOWTO
onlsbc1:/usr/share/doc/HOWTO# du -k
1360 ./en-txt/mini
12 ./en-txt/extra
7882 ./en-txt
7883 .
onlsbc1:/usr/share/doc/HOWTO#
現在、コンパクトフラッシュの上にインストールされているファイルの内、削除
してもシステムの運用上、致命的でないものをチェック。 候補の一つとして
docファイルを考えよう。 上のチェック結果からわかるように
/usr/share/doc/HOWTO ディレクトリの下を削除すれば、8MB弱のスペースを確保
できる。 この部分を削除する。
(3). 処置
上記の項目(2)の結果の基づいて処置する。
(3-1). RAMディスクの利用可能領域サイズを64MBに設定する
onlsbc1:/boot/grub# pwd
/boot/grub
onlsbc1:/boot/grub# vi menu.lst
:
# For booting /dev/hdc1
#title Toyo Compact Flash
#title 50MB RAM disk, Toyo Compact Flash
title 67MB RAM disk, Toyo Compact Flash
root (hd0,0)
#kernel /vmlinuz ro root=/dev/hdc1
kernel /vmlinuz ro root=/dev/hdc1 ramdisk_size=65540
:
menu.lst: 70 lines, 1500 characters
onlsbc1:/boot/grub#
onlsbc1:/etc/init.d# pwd
/etc/init.d
onlsbc1:/etc/init.d# vi mountall.sh
:
# <-- by E.Inoue: from here
#/sbin/mke2fs -q /dev/ram0 50712
/sbin/mke2fs -q /dev/ram0 65540
mount -n -o rw /dev/ram0 /mnt
cp -pdr ramfs/tmp /mnt
cp -pdr ramfs/var /mnt
umount /mnt
mount -n -o rw /dev/ram0 /ramfs
rm -rf /mnt/tmp
rm -rf /mnt/var
# --> to here
:
mountall.sh: 58 lines, 1156 characters
onlsbc1:/etc/init.d#
(3-2). /usr/share/doc/HOWTO 下のファイルを削除する
onlsbc1:/usr/share/doc/HOWTO# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hdc1 484602 458106 1474 100% /
onlsbc1:/usr/share/doc/HOWTO# pwd
/usr/share/doc/HOWTO
onlsbc1:/usr/share/doc/HOWTO# ls -l
total 8
drwxr-xr-x 4 root root 8192 Oct 22 10:25 en-txt
onlsbc1:/usr/share/doc/HOWTO# rm -rf en-txt
onlsbc1:/usr/share/doc/HOWTO# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hdc1 484602 450224 9356 98% /
onlsbc1:/usr/share/doc/HOWTO#
(4). コンパイルのチェック
Broadcast message from root (pts/0) (Thu Oct 30 13:45:57 2003):
The system is going down for reboot NOW!
onlsbc1:~# Connection to onlsbc1 closed by remote host.
:
:
onlsun4[37]% !!
ssh -l toyo onlsbc1
toyo@onlsbc1's password:
Linux onlsbc1 2.4.18-bf2.4 #1 Son Apr 14 09:53:28 CEST 2002 i586 unknown
Most of the programs included with the Debian GNU/Linux system are
freely redistributable; 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.
Last login: Thu Oct 23 09:36:55 2003
toyo@onlsbc1:~$
(4-1). /home/toyo/camac 下のコンパイル
toyo@onlsbc1:~/camac$ pwd
/home/toyo/camac
toyo@onlsbc1:~/camac$ ls
Makefile camlib.o dump_reg exam3 get_cam put_cam.c
README camtest1c dump_reg.c exam3.c get_cam.c rst_cam
cam camtest1c.c exam0 exam4 get_camint rst_cam.c
cam.c clr_fifo exam0.c exam4.c get_camint.c
camac.c clr_fifo.c exam1 exam5 pcc.c
camac.o data_pattern.c exam1.c exam5.c pcc.h
camlib.c dec_cam exam2 gen_cam pcc.o
camlib.h dec_cam.c exam2.c gen_cam.c put_cam
toyo@onlsbc1:~/camac$ make clean
rm -f *.o *~ core \
gen_cam dec_cam dump_reg \
exam0 exam1 exam2 exam3 exam4 exam5 \
cam put_cam get_cam get_camint clr_fifo rst_cam \
camtest1c
toyo@onlsbc1:~/camac$ make
gcc -O2 -Wall -c -D__KERNEL__ -DMODULE -Wall -I/usr/src/linux-2.4/include pcc.c
gcc -O2 -c camac.c
gcc -O2 -c camlib.c
gcc -O2 -o gen_cam gen_cam.c camac.o
gcc -O2 -o dec_cam dec_cam.c camac.o
gcc -O2 -o dump_reg dump_reg.c camac.o
gcc -O2 -o exam0 exam0.c camac.o
gcc -O2 -o exam1 exam1.c data_pattern.c camac.o
gcc -O2 -o exam2 exam2.c data_pattern.c camac.o
gcc -O2 -o exam3 exam3.c data_pattern.c camac.o
gcc -O2 -o exam4 exam4.c data_pattern.c camac.o
gcc -O2 -o exam5 exam5.c data_pattern.c camac.o
gcc -O2 -o cam cam.c camac.o
gcc -O2 -o put_cam put_cam.c camac.o
gcc -O2 -o get_cam get_cam.c camac.o
gcc -O2 -o get_camint get_camint.c camac.o
gcc -O2 -o clr_fifo clr_fifo.c camac.o
gcc -O2 -o rst_cam rst_cam.c camac.o
gcc -O2 -o camtest1c camtest1c.c camlib.c camac.o
toyo@onlsbc1:~/camac$
ok. camac ディレクトリの下は正常にコンパイルできた。
(4-2). /home/toyo/remote-camac 下のコンパイル
toyo@onlsbc1:~/remote-camac$ pwd
/home/toyo/remote-camac
toyo@onlsbc1:~/remote-camac$ ls
Makefile ccnet.h clientlib.c dump_reg exam2 message.c
README ccnet_server clr_fifo exam0 exam3 rst_cam
cam ccnet_server.c dispatch.c exam1 exam4
toyo@onlsbc1:~/remote-camac$ make clean
rm -f ccnet_server cam exam0 exam1 exam2 exam3 exam4 \
rst_cam clr_fifo dump_reg
toyo@onlsbc1:~/remote-camac$ make
gcc -O -I../camac/ -o ccnet_server ccnet_server.c \
dispatch.c message.c ../camac/camac.o
gcc -O -I../camac/ -o rst_cam ../camac/rst_cam.c clientlib.c message.c
gcc -O -I../camac/ -o clr_fifo ../camac/clr_fifo.c clientlib.c message.c
gcc -O -I../camac/ -o dump_reg ../camac/dump_reg.c clientlib.c message.c
gcc -O -I../camac/ -o cam ../camac/cam.c clientlib.c message.c
gcc -O -I../camac/ -o exam0 ../camac/exam0.c clientlib.c message.c
gcc -O -I../camac/ -o exam1 ../camac/exam1.c \
../camac/data_pattern.c clientlib.c message.c
gcc -O -I../camac/ -o exam2 ../camac/exam2.c clientlib.c message.c
gcc -O -I../camac/ -o exam3 ../camac/exam3.c clientlib.c message.c
gcc -O -I../camac/ -o exam4 ../camac/exam4.c clientlib.c message.c
toyo@onlsbc1:~/remote-camac$
ok. remote-camac ディレクトリの下は正常にコンパイルできた。
(4-3). /home/toyo/public_html 下のコンパイル
toyo@onlsbc1:~/public_html$ pwd
/home/toyo/public_html
toyo@onlsbc1:~/public_html$ ls
Web index.html w w.c
toyo@onlsbc1:~/public_html$ rm w
toyo@onlsbc1:~/public_html$ gcc -o w w.c
toyo@onlsbc1:~/public_html$ ls -l
total 11
drwxr-xr-x 2 toyo toyo 1024 Oct 23 08:33 Web
-rw-r--r-- 1 toyo toyo 2267 Oct 22 14:25 index.html
-rwxr-xr-x 1 toyo toyo 5327 Oct 30 13:59 w
-rw-r--r-- 1 toyo toyo 462 Oct 23 08:41 w.c
toyo@onlsbc1:~/public_html$
toyo@onlsbc1:~/public_html/Web$ pwd
/home/toyo/public_html/Web
toyo@onlsbc1:~/public_html/Web$ ls
Client.class Server.class cam.class policy
Client.java Server.java cam.h web.sh
ClientImpl.class ServerImpl.class cam.java web3-inoue.mem
ClientImpl.java-bak ServerImpl.java camac.c web3.class
ClientImpl_Skel.class ServerImpl_Skel.class camac.o web3.html
ClientImpl_Stub.class ServerImpl_Stub.class libMyImpOfcam.so web3.java
Makefile cam.c pcc.h web3.java-org
toyo@onlsbc1:~/public_html/Web$ make clean
rm -f *.class cam.h libMyImpOfcam.so *.o core *~
toyo@onlsbc1:~/public_html/Web$ make
gcc -c camac.c
javac web3.java
javac cam.java
javah -jni cam
gcc -O -shared -I/usr/java/include -I/usr/java/include/linux cam.c camac.o -o li
bMyImpOfcam.so
javac ServerImpl.java
rmic ClientImpl
rmic ServerImpl
toyo@onlsbc1:~/public_html/Web$
ok. public_html ディレクトリの下は正常にコンパイルできた。
(4-4). /home/toyo/check 下のコンパイル
toyo@onlsbc1:~$ cd check
toyo@onlsbc1:~/check$ ls
0ch 2check_A.cpp 5ch ErrMsg.h ccnet_io.h
0check_clr.cpp 3ch 5check_LAM.cpp PCIreg.h gccall
1ch 3check_F.cpp 6ch Packet.h pcc.h
1check_N.cpp 4ch 6check_TRG.cpp README pio_framework.c
2ch 4check_WR.cpp ErrCode.h auto_check scan_N.c
toyo@onlsbc1:~/check$ gcc -o scan_N scan_N.c
scan_N.c: In function `main':
scan_N.c:34: parse error before `int'
scan_N.c:35: `fd' undeclared (first use in this function)
scan_N.c:35: (Each undeclared identifier is reported only once
scan_N.c:35: for each function it appears in.)
scan_N.c:55: parse error before `int'
scan_N.c:61: `length' undeclared (first use in this function)
scan_N.c:61: `cmdbuf' undeclared (first use in this function)
scan_N.c:65: `rplybuf' undeclared (first use in this function)
scan_N.c:74: `N' undeclared (first use in this function)
scan_N.c:74: `A' undeclared (first use in this function)
scan_N.c:74: `F' undeclared (first use in this function)
scan_N.c:74: `W' undeclared (first use in this function)
scan_N.c:102: parse error before `int'
scan_N.c:104: `act_len' undeclared (first use in this function)
scan_N.c:104: `sent_dat' undeclared (first use in this function)
scan_N.c:112: `got_dat' undeclared (first use in this function)
scan_N.c:121: parse error before `int'
scan_N.c:124: `sent_index' undeclared (first use in this function)
scan_N.c:124: `i' undeclared (first use in this function)
scan_N.c:125: `got_index' undeclared (first use in this function)
scan_N.c:18: warning: return type of `main' is not `int'
toyo@onlsbc1:~/check$
NG. check ディレクトリの下の scan_N.c をコンパイルしたら異常終了した。
(5). tarファイルの作成
コンパイルできる環境になった。
check ディレクトリの下のプログラムは、原田さんに調べてもらうことにする。
この状態で、テスト版システムの tarファイルを作る。
toyo@onlsbc1:~$ df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hdc1 484602 450348 9232 98% /
toyo@onlsbc1:~$
(5-1). 2.5" IDEハードディスクのLinuxシステムを起動
コンパクトフラッシュのLinuxシステムをシャットダウンする。 2.5"IDEハード
ディスクのLinuxシステムを起動して、コンパクトフラッシュのLinuxシステムを
マウントする。
onlsbc1:~# shutdown -h now
onlsbc1:~#
Broadcast message from root (pts/0) (Thu Oct 30 14:26:58 2003):
The system is going down for system halt NOW!
:
:
(5-2). コンパクトフラッシュのLinuxシステムのtarファイルを作成
(5-2-1). onlpara上にtarファイルを作成
マウントしたコンパクトフラッシュのLinuxシステムのtarファイルを onlpara上
に作成する。
[root@onlsbc1 inoue]# mount -t ext3 /dev/hdc1 /mnt1
[root@onlsbc1 inoue]# mount onlpara:/home2/onlpara-wrk /mnt2
[root@onlsbc1 inoue]# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hdc1 7360792 2256896 4729984 33% /
/dev/hda5 10475668 1258332 8685188 13% /home
/dev/hda6 9685276 32828 9160460 1% /home2
/dev/hda7 10080488 32828 9535592 1% /home3
none 152332 0 152332 0% /dev/shm
/dev/hdc1 484602 450347 9233 98% /mnt1
onlpara:/home2/onlpara-wrk
22659864 2803184 18705624 14% /mnt2
[root@onlsbc1 inoue]#
[root@onlsbc1 mnt1]# pwd
/mnt1
[root@onlsbc1 mnt1]# ls -l
合計 44
drwxr-xr-x 2 root root 2048 10月 22 15:05 bin
drwxr-xr-x 3 root root 1024 10月 22 11:26 boot
drwxr-xr-x 2 root root 1024 10月 22 18:34 cdrom
drwxr-xr-x 9 root root 21504 10月 30 14:27 dev
drwxr-xr-x 42 root root 3072 10月 30 14:27 etc
drwxr-xr-x 2 root root 1024 10月 22 18:34 floppy
drwxrwsr-x 3 root ftp 1024 10月 22 09:56 home
drwxr-xr-x 2 root root 1024 10月 22 18:34 initrd
drwxr-xr-x 5 root root 3072 10月 22 10:27 lib
drwx------ 2 root root 1024 10月 22 17:51 lost+found
drwxr-xr-x 2 root root 1024 2月 9 2002 mnt
drwxr-xr-x 2 root root 1024 10月 22 18:34 opt
drwxr-xr-x 2 root root 1024 2月 9 2002 proc
drwxr-xr-x 4 root root 1024 10月 23 09:20 ramfs
drwxr-xr-x 3 root root 1024 10月 22 14:43 root
drwxr-xr-x 2 root root 2048 10月 22 15:05 sbin
lrwxrwxrwx 1 root root 9 10月 23 14:46 tmp -> ramfs/tmp
drwxr-xr-x 14 root root 1024 10月 22 15:05 usr
lrwxrwxrwx 1 root root 9 10月 23 15:09 var -> ramfs/var
lrwxrwxrwx 1 root root 25 10月 23 14:46 vmlinuz -> boot/vmlinuz-2.4.18-bf2.4
[root@onlsbc1 mnt1]#
[root@onlsbc1 mnt1]# gtar cf /mnt2/root/compact-debian-oct302003g.tar .
[root@onlsbc1 mnt1]# cd /mnt2/root
[root@onlsbc1 root]# ls
Debian compact-debian-oct302003g.tar onlsbc1
compact-debian-oct162003.tar.gz compact.tar.gz onlsbc2
compact-debian-oct172003.tar.gz hdlist src
compact-debian-oct202003A.tar.gz hdlist2 t5
compact-debian-oct212003.tar.gz j2sdk-1_4_1_02-linux-i586.bin t6
compact-debian-oct212003g.tar.gz j2sdk-1_4_2_01-linux-i586.bin t7
compact-debian-oct222003g.tar.gz j2sdk1.4.1_02 tmp
compact-debian-oct232003g.tar.gz knoppix
compact-debian-oct232003g.tar.gz-old linux-2.4.18-14
[root@onlsbc1 root]# gzip compact-debian-oct302003g.tar
[root@onlsbc1 root]#
[root@onlsbc1 root]# ls -l compact-debian*
-rw-r--r-- 1 nfsnobod nfsnobod 143602724 10月 16 10:00 compact-debian-oct162003.tar.gz
-rw-r--r-- 1 nfsnobod nfsnobod 143656305 10月 17 16:15 compact-debian-oct172003.tar.gz
-rw-r--r-- 1 nfsnobod nfsnobod 144092715 10月 20 16:36 compact-debian-oct202003A.tar.gz
-rw-r--r-- 1 nfsnobod nfsnobod 144132052 10月 21 08:38 compact-debian-oct212003.tar.gz
-rw-r--r-- 1 nfsnobod nfsnobod 146957840 10月 21 15:18 compact-debian-oct212003g.tar.gz
-rw-r--r-- 1 nfsnobod nfsnobod 112241121 10月 22 13:35 compact-debian-oct222003g.tar.gz
-rw-r--r-- 1 nfsnobod nfsnobod 163407952 10月 23 14:02 compact-debian-oct232003g.tar.gz
-rw-r--r-- 1 nfsnobod nfsnobod 163268550 10月 23 09:52 compact-debian-oct232003g.tar.gz-old
-rw-r--r-- 1 nfsnobod nfsnobod 156120096 10月 30 14:37 compact-debian-oct302003g.tar.gz
[root@onlsbc1 root]#
(5-2-2). onlgw上にtarファイルを作成
マウントしたコンパクトフラッシュのLinuxシステムのtarファイルを onlgw上
に作成する。
[root@onlsbc1 root]# scp compact-debian-oct302003g.tar.gz onlgw:/home/inoue/public_html/Parallel-CAMAC/kits
root@onlgw's password:
compact-debian-oct30 100% |*****************************| 148 MB 00:40
[root@onlsbc1 root]#
これで修正版の tarファイルができた。
---xxxx