0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

USB using EXTLINUX

Posted at

インストール用 iso ファイル
以下のインストール用イメージファイル (iso ファイル) を使うので、まずこれをダウンロード。ファイルの保存場所はどこでも良い。理研からダウンロードすると早い。
iso ファイル
サイズ
本家
理研のミラー
SL-64-x86_64-2013-03-18-Install-DVD.iso
4.0 G
download
download
ちなみに、以下の 2つの iso を用いてもインストール用 USB メモリの作成が可能。上の iso との違いがいまいち分からない。何で上の方がが容量が小さいんだろう?パッケージが省略されている?少なくともデスクトップ環境なら上のイメージでインストール可能。
iso ファイル
サイズ
本家
理研のミラー
SL-64-x86_64-2013-03-21-Everything-DVD1.iso
4.2 G
download
download
SL-64-x86_64-2013-03-21-Everything-DVD2.iso
1.2 G
download
download
以下のメモでは、SL-64-x86_64-2013-03-18-Install-DVD.iso を用いたインストール用 USB メモリの作成方法を書いているが、SL-64-x86_64-2013-03-21-Everything-DVD1.iso と SL-64-x86_64-2013-03-21-Everything-DVD2.iso を用いてもほぼ同じ手順になる。
インストール用 USB メモリのサイズ
最終的に作成される USB メモリは以下のようなディレクトリ/ファイルを含むため、USB メモリのサイズは最低 4.3 GB 程度が必要となる。ここでは、 Silicon Power 製の 8G8 USB メモリ (P/N: SP008GBUF3M01V1B、USB 3.0 対応) を用いた。
ディレクトリ/ファイル
サイズ
images
198 MB
extlinux
36 MB
lost+found
16 KB
SL-64-x86_64-2013-03-18-Install-DVD.iso
4.1 GB
合計
4.3 GB
インストール用 USB メモリの作成
以下の手順を踏めば、インストール用 USB メモリが出来るはず。
まずスーパーユーザになる。
$ su
root の password を入力

EXTLINUX を yum コマンドを用いてインストールする。コマンド例は下記参照。yum コマンドでは、 -y オプションを指定するとパッケージのインストールをするかの yes/no を聞かれなくなる。SL6.3 の場合、EXTLINUX の version 4.02 がインストールされる。同時に、SYSLINUX もインストールされるはず。

yum -y install syslinux-extlinux

Linux PC (ここでは Scientific Linux 6.3 を用いた) に USB メモリを挿す。そうすると、通常ならば自動的にデバイス (例えば /dev/sdb) が作成され、自動的にマウントされる。どのデバイスに割り当てられたかは、端末上で以下の様に dmesg コマンドを打てばわかる。
$ dmesg
...
csi 5:0:0:0: Direct-Access UFD 3.0 Silicon-Power8G 1.00 PQ: 0 ANSI: 6
sd 5:0:0:0: Attached scsi generic sg2 type 0
sd 5:0:0:0: [sdb] 15155200 512-byte logical blocks: (7.75 GB/7.22 GiB)
sd 5:0:0:0: [sdb] Write Protect is off
sd 5:0:0:0: [sdb] Mode Sense: 23 00 00 00
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Attached SCSI removable disk
SELinux: initialized (dev sdb1, type vfat), uses genfs_contexts
$
また、fdisk コマンドを使っても大体確認できる。
$ su
root の password を入力

fdisk -l

...
ディスク /dev/sdb: 7759 MB, 7759462400 バイト
ヘッド 239, セクタ 62, シリンダ 1022
Units = シリンダ数 of 14818 * 512 = 7586816 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x53b0cd65

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 1022 7571967 83 Linux
これより、USB メモリが /dev/sdb に割り当てられたことが分かる。以下では、USB メモリが /dev/sdb に割り当てられたと仮定する。

USB メモリのアンマウントを行う。(もしマウントされていなければ、この作業は必要ない。)

umount /dev/sdb1

dd コマンドでマスターブートレコード(MBR)をリセットしておく。MBR は 512 バイトなので、dd コマンドの bs オプションでブロックサイズ : 512 バイト、 count オプションで ブロック数 : 1 を指定している。これで、/dev/sdb の MBR 領域がすべて NULL となる。(MBR が壊れていた場合、このコマンドでリセットしておくと後で fdisk が修復してくれる。壊れていない場合は必要無い作業かも。dd コマンドは /dev/sdb1 がマウントされていても、されていなくても使えるようだ?)

dd if=/dev/zero of=/dev/sdb bs=512 count=1

1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0121877 s, 42.0 kB/s
fdisk コマンドを用いてパーティションを作成

fdisk /dev/sdb

fdisk の入力コマンドは以下の通り

n # 新しいパーティション作成
p # 基本パーティション
1 # パーティション番号
# デフォルトの値
# デフォルトの値(全領域確保)
a # ブートフラグ変更
1 # 変更するパーティション番号
w # ディスクに書き込み(q で書き込みせず fdisk を抜ける)
確認

fdisk -l /dev/sdb

ディスク /dev/sdb: 7759 MB, 7759462400 バイト
ヘッド 239, セクタ 62, シリンダ 1022
Units = シリンダ数 of 14818 * 512 = 7586816 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xf2ea928e

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 * 1 1022 7053368 83 Linux
パーティションを ext3 ファイルシステムでフォーマットする。ここでは、パーティションの名前を LIVE としている。これは、マウントされた時のディレクトリの名前になる。他の名前でも良い。

mkfs.ext3 -L LIVE /dev/sdb1

USB を抜き挿しする。SL6.3 の場合 /media ディレクトリ以下に /dev/sdb1 が /media/LIVE という名前で自動的にマウントされる。(マウントされない場合は手動でマウントする。)以下のコマンドでマウントされたか確認できる。

ls /media

LIVE

ls /media/LIVE

lost+found

/mnt/DVD というディレクトリを作り、上でダウンロードした SL-64-x86_64-2013-03-18-Install-DVD.iso を mount コマンドでマウント(下記参照)。

mkdir /mnt/DVD # iso をマウントするディレクトリを作成

mount -t iso9660 -o loop isoをダウンロードしたディレクトリ/SL-64-x86_64-2013-03-18-Install-DVD.iso /mnt/DVD

ls /mnt/DVD # 中身を確認

EFI Packages RPM-GPG-KEY-sl3 RPM-GPG-KEY-sl6 isolinux
EULA RPM-GPG-KEY-cern RPM-GPG-KEY-sl4 TRANS.TBL repodata
GPL RPM-GPG-KEY-sl RPM-GPG-KEY-sl5 images

/mnt/DVD/isolinux ディレクトリを extlinux という名前で /media/LIVE ディレクトリにコピー

cp -rv /mnt/DVD/isolinux /media/LIVE/extlinux

/media/LIVE/syslinux 内の isolinux.cfg を extlinux.conf という名前に変更

mv /media/LIVE/extlinux/isolinux.cfg /media/LIVE/extlinux/extlinux.conf

/mnt/DVD/images ディレクトリを /media/LIVE ディレクトリにコピー

cp -rv /mnt/DVD/images /media/LIVE/

SL-64-x86_64-2013-03-18-Install-DVD.iso を /media/LIVE ディレクトリにコピー。下記のコマンド例では、sync コマンドを用いてコピーが(本当に)終わるのを待っている。ファイルをコピーする場合、ファイルの書き込みが終わる前に cp コマンドが終了する時がある。この場合、sync コマンドでバッファ内のデータをすべて USB メモリに書き込む。sync コマンドの実行終了が書き込みの終了に相当するようだ。サイズが大きいファイルのコピーの場合、sync コマンドもなかなか終わらない。

cp -v isoをダウンロードしたディレクトリ/SL-64-x86_64-2013-03-18-Install-DVD.iso /media/LIVE

sync

下記の dd コマンドで SYSLINUX 付属の MBR (Master Boot Record) コード(/usr/share/syslinux/mbr.bin)が MBR に書き込まれ、extlinux コマンドで /media/extlinux/ldsyslinux.sys というファイルが作成される。これで、ブートローダがインストールされたことになる(?)。ここで、 /usr/share/syslinux/mbr.bin は extlinux コマンドインストール時に一緒にインストールされるファイルである。さらに sync コマンドで、バッファ内のデータが USB メモリに書き込まれる。syslinux --> dd コマンドと実行した場合、さらに sync コマンドを実行しないと bootable な USB メモリが出来なかった。

dd if=/usr/share/syslinux/mbr.bin of=/dev/sdb

extlinux --install /media/LIVE/extlinux

sync

以上でインストール用 USB メモリの完成。
USB メモリからインストール
インストール用 USB メモリからブートする手順は以下の通り。 インストールの手順としては、インストールメディアの選択の部分が異なるが、その他については DVD からのインストールとほぼ同じ手順となる。通常のインストール方法については Google で調べる。(CentOS-6.4 のインストール方法が参考になりそう。)
USB メモリを PC に挿し PC を再起動
DEL または F2 キーなどを押し BIOS 画面に入る
USB から BOOT できるように設定する
インストーラ開始

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?