logo
code:Haemophilus influenzae

ここに書かれていることは無保証です。同じことを行って問題が発生しても、 龍義は責任をとりません。

2004年4月3日

戻る

BONA Light System に Linux のインストール。

BONA Light System(以下 LS)に Linux のインストール。インストール先のメディアは
CF(Compact Flash) である。

まず、 CD-ROM ドライブを接続し、 CF もスロットに挿した。 CD-ROM 起動を
行うので knoppix 日本語版の最新をダウンロードしてきた。

# wget ftp://ftp.dnsbalance.ring.gr.jp/archives/linux/knoppix/iso/knoppix_20040216-20040220.iso

CD-ROM に焼いて、この CD から起動するように LS の bios の変更をした。
LAN の口にケーブルを差し込んで、起動してみた。問題なく起動した。
遠隔操作できるように、knoppix で sshd の起動を行う。

[knoppix]# /etc/init.d/ssh start

ログインできるように toyota ユーザの追加。

[knoppix]# vi /etc/passwd
[knoppix]# vi /etc/shadow
[knoppix]# passwd toyota
[knoppix]# mkdir /home/toyota
[knoppix]# chown toyota /home/toyota

さらに su コマンドが実行できるように、root のパスワードなどの設定。

[knoppix]# passwd
[knoppix]# vi /etc/sudoers

これで、リモートから操作できるようになった。

CF のフォーマットを行う。まず、 CF のデバイス名を調べる。

[knoppix]# dmesg | grep -i hitachi
hdc: Hitachi XXM2.3.0, CFA DISK drive

なので、ターゲットは hdc である(本当は日立製ではなく、 RENESAS 製なんだけど…)。
現在の状態を調べてみる。

[knoppix]# fdisk -l /dev/hdc

Disk /dev/hdc: 64 MB, 64094208 bytes
4 heads, 32 sectors/track, 978 cylinders
Units = シリンダ数 of 128 * 512 = 65536 bytes

 デバイス Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1         978       62576    6  FAT16

これを Linux の領域として確保して、 boot フラグも付ける。fdisk
コマンドを使用して、領域の変更をした。

[knoppix]# fdisk /dev/hdc

で、こうなった。

[knoppix]# fdisk -l /dev/hdc

Disk /dev/hdc: 64 MB, 64094208 bytes
4 heads, 32 sectors/track, 978 cylinders
Units = シリンダ数 of 128 * 512 = 65536 bytes

 デバイス Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1         978       62576   83  Linux

mke2fs の実行。

[knoppix]# mke2fs /dev/hdc1
mke2fs 1.35-WIP (31-Jan-2004)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
15680 inodes, 62576 blocks
3128 blocks (5.00%) reserved for the super user
First data block=1
8 block groups
8192 blocks per group, 8192 fragments per group
1960 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

tune2fs の実行。その前に、現在の設定を調べる。

[knoppix]# tune2fs -l /dev/hdc
tune2fs 1.35-WIP (31-Jan-2004)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          f9709523-82fd-40d0-96af-c5ffdc6d53bd
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      filetype sparse_super
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              15680
Block count:              62592
Reserved block count:     3129
Free blocks:              60592
Free inodes:              15669
First block:              1
Block size:               1024
Fragment size:            1024
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         1960
Inode blocks per group:   245
Filesystem created:       Sat Apr  3 15:19:58 2004
Last mount time:          n/a
Last write time:          Sat Apr  3 15:20:36 2004
Mount count:              0
Maximum mount count:      -1
Last checked:             Sat Apr  3 15:19:58 2004
Check interval:           0 ()
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Default directory hash:   tea
Directory Hash Seed:      40552cb6-e322-4e82-aaf4-920620b8f767

う〜ん。Maximum mount count が -1 ってどんな設定なのだろう。0 だったら、
チェックする最大マウント回数を無視するようなのだけど。調べても、よく
わからないし。これを 0 にしようか悩んだけど、とりあえず、このままで
tune2fs コマンドから値の変更を行わないことにした。

[knoppix]# mount /dev/hdc1 /mnt/hdc1

マウントは問題なし。lilo.conf の作成をする。
下のような感じ。

# /etc/lilo.conf
boot=/dev/hdc
vga=normal
delay=10
image=/vmlinuz
root=/dev/hdc1
label=linux
read-write

作成した lilo.conf をコピーして、 lilo のインストール。

[knoppix]# cp lilo.conf /mnt/hdc1/etc/
[knoppix]# /sbin/lilo -v -r /mnt/hdc1
Warning: root at /mnt/hdc1 has no /dev directory
LILO version 22.5.8, Copyright (C) 1992-1998 Werner Almesberger
Development beyond version 21 Copyright (C) 1999-2003 John Coffman
Released 10-Oct-2003, and compiled at 16:48:46 on Feb 13 2004
Debian GNU/Linux

Fatal: stat /dev/hdc: No such file or directory

なんか、出たけど、見なかったことに。K7-DDR[kashyyyk] マシンで、簡単な
(モジュールを使わない) kernel を作成をして、LS にコピーし、起動してみた。

〜LS の kernel 作成〜

LS 用に kernel を作成した。NIC 周りは RTL8139 を選択すれば良いのだが、 問題は付属している無線 LAN のユニット。これは USB で接続されているので、 かなり厄介である。
試しに、この無線 LAN のユニットを接続して knoppix で起動してみたのだが、 途中で止まってしまった。やはり、一筋縄ではいかないようである。


調べた結果、チップは ATMEL の AT76C503A であり、このドライバは http://atmelwlandriver.sourceforge.net/downloads.html で発見して、早速 kernel にインストールしようと思ったのだけど、どうも /usr/src の下を探しに行っていたり、 PC CARD 用のドライバを入れようと していたり、なんとなく気持ちが悪い。解析して patch を作成しようとしたが、 時間がかかりそうなので、とりあえず、放置することにした。
LS が起動せずに、うんともすんとも言わなくなってしまった。 lilo の インストールに失敗したようである。仕方が無いので、もう一度やってみる。 調べてみると、 lilo -r では一度 chroot をしているようであるので、 /dev 周りを少し作ってみた。 [knoppix]# cd /mnt/hdc1/dev [knoppix]# mknod null c 1 3 [knoppix]# mknod zero c 1 5 [knoppix]# mknod hdc b 22 0 [knoppix]# mknod hdc1 b 22 1 これで再び lilo のインストール。 [knoppix]# lilo -v -r /mnt/hdc1 LILO version 22.5.8, Copyright (C) 1992-1998 Werner Almesberger Development beyond version 21 Copyright (C) 1999-2003 John Coffman Released 10-Oct-2003, and compiled at 16:48:46 on Feb 13 2004 Debian GNU/Linux Warning: LBA32 addressing assumed Reading boot sector from /dev/hdc Fatal: creat /boot/boot.1600: No such file or directory う〜ん。 create じゃなくて creat なのは何でだろう…。気にせずに、 ディレクトリの作成。 [knoppix]# mkdir /mnt/hdc1/boot これで、もう一度。 [knoppix]# lilo -v -r /mnt/hdc1 LILO version 22.5.8, Copyright (C) 1992-1998 Werner Almesberger Development beyond version 21 Copyright (C) 1999-2003 John Coffman Released 10-Oct-2003, and compiled at 16:48:46 on Feb 13 2004 Debian GNU/Linux Warning: LBA32 addressing assumed Reading boot sector from /dev/hdc Backup copy of master disk volume ID record in /boot/boot.1600 Using MENU secondary loader Calling map_insert_data Boot image: /vmlinuz Added linux * Writing boot sector. /boot/boot.1600 exists - no boot sector backup copy made. なんとなく、うまくいった感じがする。これで、起動してみた。うまく起動した。 kernel も走って、無事に(?) kernel が panic を起こした。 Warning: unable to open an initial consolr. Kernel panic: No init found. Try passing init= option to kernel. こんな感じで。さて、これから initrd の作成。と、思ったが、明日にする。

by Tatsuyoshi
since 2003