May 14, 2004
onlsbc1: CC/NET用コンパクトフラッシュLinuxシステム
--- Red Hat 8 版
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(http://www-online.kek.jp/~inoue/parallel-CAMAC/
Work/SBC-RAM9.html)
高エネルギー加速器研究機構
素粒子原子核研究所
物理、オンライングループ
井上 栄二
目的
CC/NET用コンパクトフラッシュLinuxシステム、Red Hat 8 版を我々のテス
トのために作成した。 ここでは、tarファイルをコンパクトフラッシュ上に
展開して起動可能なシステムを作成する手順を示す。 復旧用に使用したPC
のOSは Debian GNU/Linux 3.0 である。
(1). tarファイルの確認
(2). コンパクトフラッシュの準備
(3). コンパクトフラッシュ上に Linux システムを構築
(4). 作成したコンパクトフラッシュを起動
--------------------------------------------------------------------
(1). tarファイルの確認
onlpc03:/# mount onlpara:/home2/onlpara-wrk /mnt
onlpc03:/# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda4 14278840 3238852 10314656 24% /
onlpara:/home2/onlpara-wrk
22659864 5885280 15623528 28% /mnt
onlpc03:/#
onlpc03:/# ls /mnt/root/compact*
/mnt/root/compact-debian-Dec102003g.tar.gz
/mnt/root/compact-debian-Nov122003g.tar.gz
/mnt/root/compact-debian-Nov182003g.tar.gz
/mnt/root/compact-debian-Nov192003g.tar.gz
/mnt/root/compact-debian-Nov212003g.tar.gz
/mnt/root/compact-debian-Nov52003g.tar.gz
/mnt/root/compact-debian-oct162003.tar.gz
/mnt/root/compact-debian-oct172003.tar.gz
/mnt/root/compact-debian-oct202003A.tar.gz
/mnt/root/compact-debian-oct212003.tar.gz
/mnt/root/compact-debian-oct212003g.tar.gz
/mnt/root/compact-debian-oct222003g.tar.gz
/mnt/root/compact-debian-oct232003g.tar.gz
/mnt/root/compact-debian-oct232003g.tar.gz-old
/mnt/root/compact-debian-oct302003g.tar.gz
/mnt/root/compact-redhat8-May112004.tar.gz
/mnt/root/compact.tar.gz
onlpc03:/# ls -l /mnt/root/compact-redhat8-May112004.tar.gz
-rw-r--r-- 1 nobody nogroup 160988392 May 11 15:56 /mnt/root/compact-redhat8-May112004.tar.gz
onlpc03:/#
(2). コンパクトフラッシュの準備
onlpc03:/home/inoue# fdisk -l
ディスク /dev/sda: ヘッド 255, セクタ 63, シリンダ 4866
ユニット = シリンダ数 of 16065 * 512 バイト
デバイス ブート 始点 終点 ブロック ID システム
/dev/sda1 1 1020 8193118+ b Win95 FAT32
/dev/sda2 1021 2040 8193150 c Win95 FAT32 (LBA)
/dev/sda3 3847 4866 8193150 5 拡張領域
/dev/sda4 2041 3846 14506695 83 Linux
/dev/sda5 3847 4866 8193118+ b Win95 FAT32
領域テーブル項目がディスクの順序と一致しません
ディスク /dev/sdb: ヘッド 255, セクタ 63, シリンダ 4866
ユニット = シリンダ数 of 16065 * 512 バイト
デバイス ブート 始点 終点 ブロック ID システム
/dev/sdb1 1 13 104391 83 Linux
/dev/sdb2 1983 4866 23165730 83 Linux
/dev/sdb3 111 1982 15036840 5 拡張領域
/dev/sdb4 14 110 779152+ 82 Linux スワップ
/dev/sdb5 * 111 716 4867663+ 83 Linux
/dev/sdb6 717 1610 7181023+ b Win95 FAT32
/dev/sdb7 * 1611 1982 2988058+ 83 Linux
領域テーブル項目がディスクの順序と一致しません
ディスク /dev/sdc: ヘッド 16, セクタ 63, シリンダ 993
ユニット = シリンダ数 of 1008 * 512 バイト
デバイス ブート 始点 終点 ブロック ID システム
/dev/sdc1 1 993 500440+ 83 Linux
ディスク /dev/hda: ヘッド 255, セクタ 63, シリンダ 2501
ユニット = シリンダ数 of 16065 * 512 バイト
デバイス ブート 始点 終点 ブロック ID システム
/dev/hda1 * 1 255 2048256 b Win95 FAT32
/dev/hda2 256 651 3180870 82 Linux スワップ
/dev/hda3 652 2501 14860125 5 拡張領域
/dev/hda5 652 668 136521 82 Linux スワップ
/dev/hda6 669 923 2048256 b Win95 FAT32
/dev/hda7 924 1289 2939863+ b Win95 FAT32
/dev/hda8 1290 1544 2048256 b Win95 FAT32
/dev/hda9 1545 1799 2048256 b Win95 FAT32
/dev/hda10 1800 2501 5638783+ b Win95 FAT32
onlpc03:/home/inoue#
USB コンパクトフラッシュ・アダプタは /dev/sdc1 として Debian のシステム
に認識されている。 パーティショニングする。
onlpc03:/home/inoue# fdisk /dev/sdc
コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)
コマンド (m でヘルプ): p
ディスク /dev/sdc: ヘッド 16, セクタ 63, シリンダ 993
ユニット = シリンダ数 of 1008 * 512 バイト
デバイス ブート 始点 終点 ブロック ID システム
/dev/sdc1 1 993 500440+ 83 Linux
コマンド (m でヘルプ): d
領域番号 (1-4): 1
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-993, 初期値 1):
初期値 1 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-993, 初期値 993):
初期値 993 を使います
コマンド (m でヘルプ): w
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
onlpc03:/home/inoue#
ファイルシステムを作成する。
onlpc03:/home/inoue# mke2fs -j /dev/sdc1
mke2fs 1.27 (8-Mar-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
125488 inodes, 500440 blocks
25022 blocks (5.00%) reserved for the super user
First data block=1
62 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
onlpc03:/home/inoue#
コンパクトフラッシュをマウントする。
onlpc03:/home/inoue# mount -t ext3 /dev/sdc1 /mnt1
onlpc03:/home/inoue# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda4 14278840 3236600 10316908 24% /
onlpara:/home2/onlpara-wrk
22659864 5885280 15623528 28% /mnt
/dev/sdc1 484602 8239 451341 2% /mnt1
onlpc03:/home/inoue#
(3). コンパクトフラッシュ上に Linux システムを構築
/mnt/rootcompact-redhat8-May112004.tar.gzファイルをコンパクトフラッシュ
上に展開する。
onlpc03:/mnt1# ls -l /mnt/root/compact-redhat8-May112004.tar.gz
-rw-r--r-- 1 nobody nogroup 160988392 5月 11 15:56 /mnt/root/compact-redhat8-May112004.tar.gz
onlpc03:/mnt1#
onlpc03:/mnt1# pwd
/mnt1
onlpc03:/mnt1# ls -l
合計 12
drwx------ 2 root root 12288 5月 14 10:46 lost+found
onlpc03:/mnt1#
onlpc03:/mnt1# tar xzf /mnt/root/compact-redhat8-May112004.tar.gz
onlpc03:/mnt1#
onlpc03:/mnt1# pwd
/mnt1
onlpc03:/mnt1# ls -l
合計 136
drwxr-xr-x 2 root root 2048 1月 16 2000 bin
drwxr-xr-x 3 root root 1024 8月 1 2003 boot
drwxr-xr-x 20 root root 116736 5月 11 15:27 dev
drwxr-xr-x 25 root root 2048 5月 11 15:27 etc
drwxr-xr-x 3 root root 1024 8月 4 2003 home
drwxr-xr-x 2 root root 1024 6月 22 2001 initrd
drwxr-xr-x 5 root root 3072 1月 16 2000 lib
drwx------ 2 root root 1024 1月 16 2000 lost+found
drwxr-xr-x 3 root root 1024 5月 11 14:23 mnt
drwxr-xr-x 2 root root 1024 4月 8 2003 mnt1
drwxr-xr-x 2 root root 1024 8月 24 1999 opt
drwxr-xr-x 2 root root 1024 1月 16 2000 proc
drwxr-xr-x 4 root root 1024 4月 3 2000 ramfs
drwxr-x--- 3 root root 1024 8月 1 2003 root
drwxr-xr-x 2 root root 3072 1月 16 2000 sbin
lrwxrwxrwx 1 root root 9 5月 14 11:05 tmp -> ramfs/tmp
drwxr-xr-x 16 root root 1024 4月 10 2003 usr
lrwxrwxrwx 1 root root 9 5月 14 11:05 var -> ramfs/var
onlpc03:/mnt1#
onlpc03:/mnt1# e2label /dev/sdc1
onlpc03:/mnt1# e2label /dev/sdc1 /
onlpc03:/mnt1# e2label /dev/sdc1
/
onlpc03:/mnt1#
grub のセットアップを行う。
現在、作業中のPCにつないであるディスクは、
ディスク /dev/hda
ディスク /dev/sda
ディスク /dev/sdb
ディスク /dev/sdc
の4台である。
grub はこれらのディスクを以下のように認識する。
ディスク /dev/hda を hd0 として認識する
ディスク /dev/sda を hd1 として認識する
ディスク /dev/sdb を hd2 として認識する
ディスク /dev/sdc を hd3 として認識する
コンパクトフラッシュは /dev/sdc として Linuxシステムは認識しているので、
ここでは hd3 に対して grub のセットアップを行えばよいことになる。
onlpc03:/mnt1/sbin# pwd
/mnt1/sbin
onlpc03:/mnt1/sbin# ls -l grub
-rwxr-xr-x 1 root root 248416 9月 6 2002 grub
onlpc03:/mnt1/sbin#
onlpc03:/mnt1/sbin# ./grub
./grub: /lib/libc.so.6: version `GLIBC_2.3' not found (required by ./grub)
onlpc03:/mnt1/sbin#
この部分は KNOPPIX で処理しよう。
KNOPPIX を起動する。 ok. 立ち上がった。
root@ttyp2[knoppix]# mount -t ext3 /dev/sdc1 /mnt/sdc1
root@ttyp2[knoppix]# ls -l /mnt/sdc1
合計 136
drwxr-xr-x 2 root root 2048 2000-01-16 10:48 bin
drwxr-xr-x 3 root root 1024 2003-08-01 10:06 boot
drwxr-xr-x 20 root root 116736 2004-05-11 15:27 dev
drwxr-xr-x 25 root root 2048 2004-05-11 15:27 etc
drwxr-xr-x 3 root root 1024 2003-08-04 13:44 home
drwxr-xr-x 2 root root 1024 2001-06-22 03:32 initrd
drwxr-xr-x 5 root root 3072 2000-01-16 10:49 lib
drwx------ 2 root root 1024 2000-01-16 10:34 lost+found
drwxr-xr-x 3 root root 1024 2004-05-11 14:23 mnt
drwxr-xr-x 2 root root 1024 2003-04-08 16:52 mnt1
drwxr-xr-x 2 root root 1024 1999-08-24 01:03 opt
drwxr-xr-x 2 root root 1024 2000-01-16 10:35 proc
drwxr-xr-x 4 root root 1024 2000-04-03 15:18 ramfs
drwxr-x--- 3 root root 1024 2003-08-01 09:30 root
drwxr-xr-x 2 root root 3072 2000-01-16 10:48 sbin
lrwxrwxrwx 1 root root 9 2004-05-14 11:05 tmp -> ramfs/tmp
drwxr-xr-x 16 root root 1024 2003-04-10 14:54 usr
lrwxrwxrwx 1 root root 9 2004-05-14 11:05 var -> ramfs/var
root@ttyp2[knoppix]#
root@ttyp2[sbin]# pwd
/mnt/sdc1/sbin
root@ttyp2[sbin]# ls -l grub
-rwxr-xr-x 1 root root 248416 2002-09-06 05:59 grub
root@ttyp2[sbin]#
root@ttyp2[sbin]# ./grub
Probing devices to guess BIOS drives. This may take a long time.
GRUB version 0.92 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> root (hd3,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd3)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd3)"... 22 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd3) (hd3)1+22 p (hd3,0)/boot/grub/stage2
/boot/grub/grub.conf"... succeeded
Done.
grub> quit
root@ttyp2[sbin]#
root@ttyp2[sbin]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位
/dev/root 2471 1709 762 70% /
/dev/cdrom 690882 690882 0 100% /cdrom
/dev/cloop 1830152 1830152 0 100% /KNOPPIX
/ramdisk 303288 5908 297380 2% /ramdisk
/dev/sdc1 484602 443634 15946 97% /mnt/sdc1
root@ttyp2[sbin]# cd /
root@ttyp2[/]# umount /mnt/sdc1
root@ttyp2[/]#
注.
"root (hd3,0)" および "setup (hd3)" のコマンドで指定するハードディス
クの番号は、ユーザの使用環境によって変わる。 私の環境では、
内蔵IDEハードディスク : /dev/hda hd0
外部SCSIディスク : /dev/sda hd1
外部SCSIディスク : /dev/sdb hd2
USB-コンパクトフラッシュR/Wアダプタ : /dev/sdc hd3
となっている。
(4). 作成したコンパクトフラッシュを起動
作成したコンパクトフラッシュをCC/NETに装着して、電源をONにする。
正常に立ち上がった。 ok.
---xxxx