わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

USBメモリで起動する俺流KNOPPIX

研究室のことは今日はお休み.先月からあれこれやっていたことを報告します.
日経Linuxの4月号に,「オリジナルのUSB起動Linuxを作成する方法」が記事になっていまして,自分でもやってみました.
用意するものは,「PC*1」と「2GBのUSBメモリ」です.また,これを読んで試される際は,VMware Serverの癖には十分注意ください.マウスカーソルが,本体上にあるのか,仮想マシン上にあるのか,常にチェックしましょう.なお,マウスカーソルが仮想マシン上にあるとき,本体に切り替えたければ,CtrlとAltを同時に押します.

  • 用語説明
    • 以下で単に「再起動」と書いたら,VMware Server上の仮想マシンを再起動することを意味します.VMwareや,本体について,オフにしたり(再)起動したりするときは,対象を明記します.
    • 『……』は,そこに書いたコマンドを打ち込み,最後にEnterキーを押して,実行します.
    • “……”は,メニューなどで出てくる語句で,これを見つけて選択します(打ち込みません).
  • 前準備
  • KNOPPIXVMware上で起動する
    • VMware Server Consoleを起動して(Localhostを選択して),“New Virtual Machin”を選び,ウィザードに沿って設定をしていく.ネットワークはNATを選ぶ.HDDは1GBで,IDEにする.
    • 設定完了後,“Edit virtual machine settings”を選んで,以下の設定をする.
    • 「Add」のボタンを押して,USBのコントローラを追加する.
    • CD-ROMは,“Use ISO image”にチェックを入れ,前準備でダウンロードしたisoファイルを指定する.
    • 起動する(緑色の右向き三角形を押す).すぐF2キーを押してBIOS画面を出し,BootはCD-ROMを最優先にする.
  • 起動1: パーティションを作ってフォーマット
    • 「boot:」が出たら,Enterキーを押す.起動のあれこれが終わるまで,待つ.
    • 最下段左から2番目のペンギンをクリックして,“Root shell”を選ぶと,端末が出る.ここで『fdisk /dev/hda』を実行する.以下の通りタイプすると,hda1に768M,hda2に256Mを確保し,hda2にはswapとして使用可能な領域になる.

n [Enter]
p [Enter]
1 [Enter]
[Enter]
+768M [Enter]
n [Enter]
p [Enter]
2 [Enter]
[Enter]
[Enter]
t [Enter]
2 [Enter]
82 [Enter]
p [Enter]
w [Enter]

    • 次に各パーティションのフォーマットを行う.上述のRoot Shellを使って,以下の順に実行する.
      • 『mkswap /dev/hda2』
      • 『swapon /dev/hda2』
      • 『msfs.ext3 /dev/hda1』
      • 『tune2fs -m 1 /dev/hda1』
    • 再起動する.“左下のK / ログアウト”を選んで,「コンピュータを再起動」を選ぶ.終了時に「[2 minutes]」といったメッセージが出たら,Enterを押せばいい.
  • 起動2: 情報を保存する領域を作る
    • 画面が出たら,“左下のK / システム / コンソール ターミナルプログラム”を選ぶ.Knoppixユーザで実行できるようになる.ここで『knoppix-mkimage』を実行する.パーティションは/dev/hda1を指定し,暗号化はしない.メモリサイズは上限の値を書く.
    • 再起動する.
  • 起動3: 使いやすいよう設定する
    • 起動時に,ブルースクリーンでメッセージが出るが,左矢印を押して「Ok」を選択し,Enterを押す.メッセージが出てからEnterを押すまでは10秒以内にすること.
    • 画面が出たら,デスクトップの「Hard Disk [hda1]」のアイコンの右下に小さな緑色三角形がついている(マウントされている)のを確認する.
    • ここでいろいろ設定しておく.
      • “ペンギン / Set password for root”を選択し,rootのパスワードを決める.
      • “ペンギン / Network/Internet / ネットワークカードの設定”を選ぶと,「アドレスを自動的に取得しますか?」と出るので,Yesを選ぶ.一つウィンドウが出るが,ほどなく消える.これで,PCを介して,この仮想マシンからインターネットアクセス可能になる.
      • “ペンギン / Services / Start SSH Sevrer”を選ぶと,一つターミナルが出て,初期化を始める.knoppixユーザのパスワードを入力するよう指示があるので,決めて入力する.
      • Root shellを出して,『apt-get update』を実行する.終了したら,『apt-get install jed』のように,インストールしたいソフトウェア名を指定する*2
    • 再起動する.
  • 起動4: USBメモリに書き込む
    • 起動時に,ブルースクリーンでメッセージが出るが,ここでは単にEnterを押す.
    • 画面が出たら,PCにUSBメモリを差し込む.そしてVMware Serverのメニューから“VM / Removable Devices / USB Devices / Green House USB device (Port 1)”をチェック.ポップアップが出たら,キャンセルを押す.デスクトップにUSBメモリのアイコンができ,右下に緑色三角形がないことを確認する(もし緑色三角形があれば,右クリックで「マウント解除」を選ぶ).ハードディスクのアイコンにも,緑色三角形がないことを確認する(もしあれば,何かの事情でマウントされてしまっているので,再起動してやり直す).
    • コンソール ターミナルプログラムを起動して,『mkbootdev』を実行する.3つの選択肢は,最初のままでいい./dev/sda1を選ぶ.コピー完了まで少し時間がかかる.
    • Hard Diskのアイコンを右クリックして“マウント”を選ぶ.緑色三角形がつく.USBメモリのアイコンにも同じ操作をする.
    • Hard Diskのアイコンと,USBメモリのアイコンを,それぞれクリックすると,ファイル一覧が出る.Hard Disk側のknoppix.imgというファイルをドラッグして,USBメモリ側にドロップする.768MBのファイルのコピーのため,時間がかかる.
    • コピーが完了すれば,Hard Diskのアイコンを右クリックして“マウント解除”を選ぶ.緑色三角形が消える.USBメモリのアイコンにも同じ操作をする.
    • 画面が出たら,VMware Serverのメニューから“VM / Removable Devices / USB Devices / Green House USB device (Port 1)”のチェックを外す.本体からUSBメモリは外さなくてよい.
    • オフにする.“左下のK / ログアウト”を選んで,「コンピュータを停止」を選ぶ.
  • 動作確認
    • VMware Server Consoleを終了する.本体も再起動する.BIOS画面を出して,ブートの優先順位をチェックする.「USB HDD」を見つけてそれを最優先にする.
    • 起動を確認する.途中のブルースクリーンには,左矢印,Enterを手早く押す.
    • ネットワーク設定をやり直す.
    • 下段のアイコンから白いイタチ(iceweasel)を起動して,Webアクセスできることを確認する.

*1:Windowsを想定していますが,たぶんLinuxでもできると思います.

*2:『apt-get upgrade』を実行してはいけない!!