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