23 November 2007

USBメモリーにKNOPPIXをセットアップ

USBメモリーにKNOPPIXをインストールしてみた。

まず、USBメモリーを購入。pqiのTravelling Disk U190 - 1GBytes (1280円)

FAT32でパーティションの再フォーマットを行う前に、現在の状況を確認


[root@localhost ~]# /sbin/fdisk /dev/sdb

コマンド (m でヘルプ): p

Disk /dev/sdb: 1010 MB, 1010826752 bytes
255 heads, 63 sectors/track, 122 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x91f72d24

デバイス Boot Start End Blocks Id System
/dev/sdb1 * 1 123 987104 6 FAT16
領域 1 は異なった物理/論理終点になっています:
物理=(121, 254, 63) 論理=(122, 227, 40)

FAT16でフォーマットされているが、物理領域と論理領域が食い違っているようだ。

一旦パーティションを削除して、fdiskのデフォルト値でパーティションを再確保。FAT32でフォーマットする。


[root@localhost ~]# /sbin/fdisk /dev/sdb

コマンド (m でヘルプ): d
Selected partition 1

コマンド (m でヘルプ): p

Disk /dev/sdb: 1010 MB, 1010826752 bytes
255 heads, 63 sectors/track, 122 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x91f72d24

デバイス Boot Start End Blocks Id System

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-122, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-122, default 122):
Using default value 122

コマンド (m でヘルプ): p

Disk /dev/sdb: 1010 MB, 1010826752 bytes
255 heads, 63 sectors/track, 122 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x91f72d24

デバイス Boot Start End Blocks Id System
/dev/sdb1 1 122 979933+ 83 Linux

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): b
領域のシステムタイプを 1 から b (W95 FAT32) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

[root@localhost ~]# /sbin/mkfs.vfat -F 32 -v -c /dev/sdb1
mkfs.vfat 2.11 (12 Mar 2005)
/dev/sdb1 has 255 heads and 63 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 1959866 sectors;
file system has 2 32-bit FATs and 8 sectors per cluster.
FAT size is 1911 sectors, and provides 244501 clusters.
Volume ID is 47468802, no volume label.
Searching for bad blocks 94112... 189536... 284960... 379168... 474464... 569568... 664416... 759328... 854304... 949600...

[root@localhost ~]#

Knoppix のイメージファイルをダウンロードして、MD5ハッシュをチェック


[root@localhost ~]# md5sum -c knoppix_v5.1.1CD_20070104-20070122+IPAFont_AC20070123.iso.md5.bin
knoppix_v5.1.1CD_20070104-20070122+IPAFont_AC20070123.iso: 完了

[root@localhost ~]#

KNOPPIXのイメージファイルをマウントする


[root@localhost mnt]# cd /mnt

[root@localhost mnt]# mkdir cdrom

[root@localhost mnt]# mount -t iso9660 -o loop /mnt/temp/knoppix_v5.1.1CD_20070104-20070122+IPAFont_AC20070123.iso /mnt/cdrom

[root@localhost mnt]#

CDよりUSBメモリーへファイルをコピーする

KNOPPIXディレクトリは、ディレクトリごとUSBメモリーにコピー。
boot/isolinuxディレクトリの中のファイルすべてを、USBメモリーのルートディレクトリにコピー。


[root@localhost cdrom]# cd /mnt/cdrom

[root@localhost cdrom]# cp -r KNOPPIX /mnt/sdb1

[root@localhost cdrom]# cd /mnt/cdrom/boot/isolinux/

[root@localhost isolinux]# cp -r * /mnt/sdb1

[root@localhost isolinux]#

コピー完了後のUSBメモリーの状態


[root@localhost mnt]# df /mnt/sdb1
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sdb1 978004 692564 285440 71% /mnt/sdb1

[root@localhost mnt]# ls /mnt/sdb1/ -l
合計 5112
-rwxr-xr-x 1 root root 771 2007-11-23 19:31 ac.txt
-rwxr-xr-x 1 root root 1474560 2007-11-23 19:31 balder.img
-rwxr-xr-x 1 root root 2048 2007-11-23 19:31 boot.cat
-rwxr-xr-x 1 root root 140 2007-11-23 19:31 boot.msg
-rwxr-xr-x 1 root root 140 2007-11-23 19:31 boot.msg.org
-rwxr-xr-x 1 root root 32606 2007-11-23 19:31 cdrom.ico
-rwxr-xr-x 1 root root 1591 2007-11-23 19:31 f2
-rwxr-xr-x 1 root root 1675 2007-11-23 19:31 f3
-rwxr-xr-x 1 root root 256 2007-11-23 19:31 german.kbd
-rwxr-xr-x 1 root root 2607 2007-11-23 19:31 index.html
-rwxr-xr-x 1 root root 10764 2007-11-23 19:31 isolinux.bin
-rwxr-xr-x 1 root root 2775 2007-11-23 19:31 isolinux.cfg
-rwxr-xr-x 1 root root 2209 2007-11-23 19:31 isolinux.cfg.orig
drwxr-xr-x 4 root root 4096 2007-11-23 19:29 knoppix
-rwxr-xr-x 1 root root 2029901 2007-11-23 19:31 linux
-rwxr-xr-x 1 root root 60926 2007-11-23 19:31 logo.16
-rwxr-xr-x 1 root root 94760 2007-11-23 19:31 memtest
-rwxr-xr-x 1 root root 1474732 2007-11-23 19:31 minirt.gz

[root@localhost mnt]#

ルート ディレクトリの isolinux.cfg を syslinux.cfg にリネーム


[root@localhost sdb1]# cd /mnt/sdb1

[root@localhost sdb1]# mv isolinux.cfg syslinux.cfg

コンフィグファイル (syslinux.cfg) を書き換える

/mnt/sdb1/syslinux.cfg

DISPLAY boot.msg
F1 boot.msg
F2 f2
F3 f3
F4 syslinux.cfg ← 「isolinux.cfg」 から 「syslinux.cfg」 へ書き換え
F7 ac.txt
LABEL knoppix
KERNEL linux

syslinuxコマンドでブートローダを書き込み、fdiskでパーティションにブートフラグを付ける


[root@localhost ~]# ./syslinux -s /dev/sdb1

[root@localhost ~]#

[root@localhost ~]# fdisk /dev/sdb
コマンド (m でヘルプ): a
領域番号 (1-4): 1

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@localhost ~]#

フォーマット後に、USBメモリーのハードウエア情報を(一応)確認してみた結果は…


[root@localhost ~]# dmesg

…中略…

usb 1-1.1: new high speed USB device using ehci_hcd and address 15
usb 1-1.1: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 15
usb-storage: waiting for device to settle before scanning
usb-storage: device scan complete
scsi 3:0:0:0: Direct-Access Generic USB Flash Disk 0.00 PQ: 0 ANSI: 2
sd 3:0:0:0: [sdb] 1974271 512-byte hardware sectors (1011 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 00 00 00
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sd 3:0:0:0: [sdb] 1974271 512-byte hardware sectors (1011 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 00 00 00
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 3:0:0:0: [sdb] Attached SCSI removable disk
sd 3:0:0:0: Attached scsi generic sg2 type 0


[root@localhost ~]# /sbin/lsusb
Bus 001 Device 015: ID 3538:0054 Power Quotient International Co., Ltd

…中略…

[root@localhost ~]# cat /proc/bus/usb/devices

…中略…

T: Bus=01 Lev=02 Prnt=12 Port=00 Cnt=01 Dev#= 15 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=3538 ProdID=0054 Rev= 1.00
S: Manufacturer=PQI
S: Product=PQI USB Flash Drive
S: SerialNumber=000000000008A0
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 80mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=16ms

…中略…

[root@localhost ~]# cat /proc/scsi/scsi
Attached devices:

…中略…

Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: Generic Model: USB Flash Disk Rev: 0.00
Type: Direct-Access ANSI SCSI revision: 02

[root@localhost ~]#