[Kona Linux] Lubuntu の CLI 操作で起動可能な USB メモリーの作成に遂に成功!

謎の1つが解けました。

【課題】Kona Linux のインストールメディアを USB メモリーで作成したい。その際、GUI ツールは使わず CLI 操作だけ行いたい。USB メモリーを作成する為に使う OS は Linux か MacOS で行う。

この課題に対して答えが1つ見つかりました。「1つ」と言っているのはこれが唯一絶対な解だとは言い切れないためです。

しかし、

Kona Linux のインストールイメージ (iso ファイル) をダウンロードして dd コマンドで USB メモリーにコピーしたが、その USB メモリーでパソコンを起動させられない。Lubuntu と MacOS の両方で試みたがどちらも上手く行かない。

という場合に「こうすれば上手く行った」という結果の共有はできると思いますので書いておきます。

まず最初にオチを書いておきたいと思います。

ダウンロードした後の ISO ファイルに加工が必要なことがわかった。Lubuntu で isohybrid コマンドを実行後、dd で USB メモリーにコピーすれば上手く行った。

まず最初にオチを書く。これが僕の好きな文章スタイルです。今回の内容は Lubuntu で実行した結果の共有になります。

では、isohybrid コマンドを使用するところを含めて、手順の全肯定をまとめて残しておきます。

手順1:インストールイメージのダウンロード
$ ftp ftp.riken.jp
Connected to riksun.riken.go.jp.
220 ::ffff:134.160.38.1 FTP server ready
Name (ftp.riken.jp:keramax): anonymous
331 Anonymous login ok, send your complete email address as your password
Password:
230-******************************************************
ftp.riken.jp is an unsupported ftp/http/rsync
service of RIKEN Nishina Center for research support.
Use entirely at your own risk – no warranty
is expressed or implied.
Complaints and questions should be sent to
ftp-admin a.t. ftp.riken.jp
******************************************************
230 Anonymous access granted, restrictions apply
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd Linux
250 CWD command successful
ftp> cd simosnet-livecd
250 CWD command successful
ftp> cd konalinux
250 CWD command successful
ftp> pwd
257 “/Linux/simosnet-livecd/konalinux” is the current directory
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> bin
200 Type set to I
ftp> prom
Interactive mode off.
ftp> get konalinux-3.0_i386.iso
local: konalinux-3.0_i386.iso remote: konalinux-3.0_i386.iso
200 PORT command successful
150 Opening BINARY mode data connection for konalinux-3.0_i386.iso (1528754176 bytes)
################################################################################################################################################

中略

################################################################################################################################################
226 Transfer complete
1528754176 bytes received in 1034.60 secs (1443.0 kB/s)
ftp> bye
221 Goodbye.
$ ls -tlr kona*
-rw-r–r– 1 keramax keramax 1528754176 9月 21 01:31 konalinux-3.0_i386.iso
$

手順2:ISO ファイルに事後処理を加える

「事後処理」ってなんだ?と思われるかもしれません。これは man isohybrid をしたときにこのように書いてあったのをそのまま訳しています。

man isohybrid によると、isohybrid は Postprocess ISO images for hybrid mode らしく、ハイブリッドモードの ISO イメージに事後処理を加えるというようなことが書いてあります。

ハイブリッドモードってなんだ?という疑問は残っていますが To enable this mode, the .iso image needs to be postprocessed with this utility. と書かれています。

さらに man isohybrid をよく読むと、

Starting in version 3.72, ISOLINUX supports a “hybrid mode” which can be booted from either CD-ROM or from a device which BIOS considers a hard disk or ZIP disk, e.g. a USB key or similar.

とあります。

ISOLINUX っていうのが、想像ですが ISO 形式で提供される Linux のイメージファイルのことだと思います(確証なし)が、バージョン 3.72 からハイブリッドモードをサポートし始めたそうです。

で、このハイブリッドモードにより、CD-ROM や USB メモリーから起動可能になっている、ということのようです。

3.72 というのはリナックスのカーネルのバージョンを指しているようにも思えますが、いずれにしても今対象としている Kona Linux の ISO ファイルがハイブリッドモードをサポートしているということだったならば isohybrid を実行してからインストールイメージを dd でコピーすれば上手くいくはずだ。という予測が立ちますよね?

というわけで isohybrid を実行します。

$ which isohybrid
/usr/bin/isohybrid
$ isohybrid ./konalinux-3.0_i386.iso
isohybrid: Warning: more than 1024 cylinders: 1458
isohybrid: Not all BIOSes will be able to boot this device
$

僕の Lubuntu には isohybrid が入っていました。デフォルトでインストールされているみたいです。

isohybrid を実行した後になにやら Warning が表示されますがひとまず無視します。これで上手く行けばワーニングがあっても無視すれば良いという考えです。

手順3:isohybrid 実行後の ISO ファイルを dd で USB メモリーにコピーする。
$ sudo dd if=./konalinux-3.0_i386.iso of=/dev/sdb bs=1M
1458+0 レコード入力
1458+0 レコード出力
1528823808 バイト (1.5 GB) コピーされました、 409.17 秒、 3.7 MB/秒
$

この後、sudo shutdown -r now を実行して再起動してきた後、Kona Linux が USB メモリーから起動してきました。

Ubuntu 系の、もしくはリナックス全般かもしれませんが、ダウンロードしてきたインストールイメージを dd で USB メモリーに焼くだけでは上手く行かない。こういう時に上記手順を試してもらうといいんじゃないかと思います。

(Visited 232 times, 1 visits today)

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です