2009年10月16日金曜日

USBで起動できた!

んで、続きですが自宅の別なLinuxマシン(Gentooサーバー)で起動可能なUSBメモリーを作成します。
まずはSabayon5.0のイメージをdownloadしましょう。
Sabayonのミラーサイトからdownloadでもいいですし、このページに書いてあるリンクからTorrentで手に入れるのもいいでしょう。
私は速いのでTorrentで手に入れました。
ここで注意するのは自分のマシンにあったものを手に入れることと、すでにGnomeかKDEかどっちのデスクトップ環境にするかとういところです。
個人的にGnomeなので、x86のGnomeのものを手に入れましたが、1.8Gほどありますよ。
ちなみに先ほど記載したTorrentのリンクがあるページには、Sabayon5.0のパッケージリストやKernelConfigがあります。一通り目を通しましたが、Kernelはスゴいことになってますね。
KernelVersionは2.6.31で兎に角、moduleだらけ。しかもLogやDebugのOptionはなし。
ここまでハッキリとした方針であれば、それはそれでいいのかもしれませんが、結局あとでコンパイルするなこりゃw

さて次にSabayon5.0 BootableなUSBメモリーを作りましょう。
HOWTOでは他のLinux導入されたマシンでの作成が前提で記載されてますので、ウチのGentooサーバーで作成します。

ウチの場合USBメモリーを挿入すると/dev/sdbとして認識されますので(この辺は使っている環境によって違うと思います。tail -f /var/log/messageなどとしておいて、挿入するとわかりやすいかな。)、HOWTO内の/dev/sduを/dev/sdbとしてやってみます。当然、rootでの操作なので気を付けてやらねば。

基本的に記載されているとおりやっていけば、問題なく作成されるのですが、
  1. fdiskして、USBメモリーにパーティションを作成。linuxの83番にパーティションタイプを変更して、BOOTABLEにしておく。

    1. fdisk /dev/sdbして、USBメモリーにすでにPartitionがある場合は「d」コマンドで消しましょう。
      注意!:すべてのデータが消えます。バックアップはOK?
    2. 「n」コマンドで新しいパーティションを4G全ての容量で作成
    3. 「t」コマンドでPartitionTypeを83番のLinuxに変更
    4. 「a」コマンドでPartitionをBootableに変更
    5. 「w」コマンドでPartitionの変更を書き込みfdiskを終了

  2. mkext2fsなどで、フォーマットする。

    1. mke2fs /dev/sdb1

  3. LiveDVDのISOイメージとUSBメモリーをマウント。ファイルを全部コピーする。

    私の場合 /mntの中で操作しました。
    1. cd /mnt
    2. mkdir isofsでDVDイメージのマウント先を作成
    3. mkdir usbdevでUSBメモリーのマウント先を作成
    4. mount -o loop /<イメージの置いてあるディレクトリ>/Sabayon_Linux_5.0_x86_G.iso isofs/で、ISOイメージをマウント
    5. mount /dev/sdb1 usbdev/でUSBメモリーをマウント
    6. cd isofs/
      cp -a ./* ../usbdev/
      でイメージのファイルを全てコピー

  4. Grubを設定してBootLoaderをインストール。

    ウチのマシンもGrubを使用していますので、ここではHOWTO内に記載されている既存のGrub環境をコピーして設定する方法で行います。
    注意!:というか、DVDイメージ内のsquashfsをマウントするためには、squashfsがkernelなどでサポートされているマシンが必要です。2.6.28-HardenedなのでそんなもんはKernelに取り込まれてません。(2.6.29からKernelに取り込まれています。)

    1. cd ../usbdev/
      cp -a /boot/grub boot/して、grubをコピー
    2. nano ./boot/grub/grub.confでgrub.confを作成、編集します。面倒なのでHOWTO内のものを単純に使用
      # grub.conf
      #
      # Note that you do not have to rerun grub after making changes to this file
      # NOTICE: You do not have a /boot partition. This means that
      # all kernel and initrd paths are relative to /, eg.
      # root (hd0,1)
      #
      # Video Mode Table
      # | 640x480 800x600 1024x768 1280x1024
      # ----+-------------------------------------
      # 256 | 0x301 0x303 0x305 0x307
      # 32k | 0x310 0x313 0x316 0x319
      # 64k | 0x311 0x314 0x317 0x31A
      # 16M | 0x312 0x315 0x318 0x31B
      #
      default=0
      timeout=6

      # Comment out splash during development phase of USB boot method
      #
      # splash=silent,theme:sabayon
      # - or -
      # splashimage=(hd0,0)/boot/grub/splash.xpm.gz

      title Sabayon Linux x86 DVD/USB (cdroot sdb1)
      root (hd0,0)
      kernel /boot/sabayon root=/dev/ram0 aufs init=/linuxrc cdroot=/dev/sdb1 \
      looptype=squashfs max_loop=64 loop=/livecd.squashfs vga=0x318 \
      CONSOLE=/dev/tty1 verbose scandelay --
      initrd /boot/sabayon.igz
    3. grub Grubを起動
      root (hd1,0)でUSBメモリーを選択(環境によってはhd1ではないかも、そういう場合はroot (hdまで入力後Tabで補完して選択)
      setup (hd1)でGrubをUSBメモリーにインストール
      quitでGrubから抜ける。

  5. できたメモリーで起動。
    1. umount /mnt/usbdev/でアンマウントして、Thinkpadへ挿入。
    2. BIOSでUSBメモリーがHDDとして認識されていることを確認して、Boot先として設定
こんな感じで出来上がりです。

USBメモリーに直接Grubで起動イメージを選択しているので、LiveDVDのような、起動時の選択はありません。(音楽ありとか)
さすがにUSB1.1なので起動には時間がかかりますが、問題なく起動。X、GnomeもOKでした。

今日はここまで、次はインストールです。

0 件のコメント:

コメントを投稿