2015年1月3日土曜日

Linux LIve USBを作る

ひょんなことから、Linux Live USBを作る羽目になった。Macは簡単で使いやすい反面、ちょっとマニアックなことになるとできないことを痛感したが、それを議論するのは今回の主題ではない。

LinuxにはLive CDと呼ばれるCDまたはDVDのみでPCを起動できるバージョンのOSが存在する。いわゆるIntel Macは、これらのLIve CDを用いてLinux PCとして起動することができる。

最近のMac(確認したのは手持ちのMacBook Pro Retina Early 2013)であれば、配布されているディスクイメージをそのままUSBメモリにコピーするだけで動作するはずだ。だが、ちょっと古いMac(同MacBook Late 2009)では、一工夫が必要だ。

以下は、故障したHDDのデータ救出などで有名なKnoppixを題材とした、そのちょっと古いMac向けのLinux Live USBの作り方である。(実際の作業では、USB接続ではなく、本体のHDDを差し替えられる構造のMacが必要になる。そういうMacは、現在ではみなちょっと古いMacである)

  1. USBメモリのパーティション
  2. rEFIndの準備
  3. rEFIndパーティションの不可視化
  4. Live Linux(Knoppix)の準備

手順は上記の通り4段階に分かれる。以下、順に説明する。

  1. USBメモリのパーティション

    当然のことながら、USBメモリはLive Linuxイメージのサイズより大きいものが必要だ。その他にLinux上で作成したり設定したものを保存する空間が必要になる。見合ったサイズのものを用意されたい。(筆者は8GBを用意した)

    パーティションはディスクユーティリティ.appで行う。LaunchPadのその他という項目に入っているはずだ。

    • パーティションの数:2
    • パーティション(マップ)方式:マスター・ブート・レコード(下図参照)
      パーティション方式の選択
      パーティション方式の選択
      マスター・ブート・レコードの選択
      マスター・ブート・レコードの選択
    • rEFInd用パーティションのサイズとフォーマット

      サイズ:9.4MB(最小値。サイズ欄に0.09と入力)
      フォーマット:Mac OS 拡張(ジャーナリング)

    • Live Linux用パーティションのサイズとフォーマット

      サイズ:rEFInd用で残った全て(自動)
      フォーマット:MS-DOS(FAT)

    • 上記設定後の状態は、下図のようになる。適用ボタンを押してパーティションを行う。
      パーティション設定の状態
      パーティション設定の状態
  2. rEFIndの準備
    USBメモリの第1パーティションにrEFIndをカスタムインストールする。インストールするのはrEFItでも構わないが現在はメンテナンスされていない。ここでは64bit環境用の例を紹介する。

    ターミナル.appで以下のコマンドを実行する。Path/To/refind-bin-0.8.4の部分は実際にある場所に置き換えること。

    mkdir -p /Volumes/rEFInd/efi/refind
    cd Path/To/refind-bin-0.8.4/refind
    cp -pR drivers_x64 icons refind.conf-sample refind_x64.efi tools_x64 /Volumes/rEFInd/efi/refind/
    cd /Volumes
    sudo bless --folder rEFInd/efi/refind --file rEFInd/efi/refind/refind_x64.efi
    Password:
    cd rEFInd/efi/refind/
    mv refind.conf-sample refind.conf
    
  3. rEFIndパーティションの不可視化
    Live-CDをインストールしたパーティションはMac側でいじれないようにFinderでは見えないようにする。USBメモリ取り出しにまつわる無用なトラブルを防ぐために、rEFIndをインストールしたパーティションもFinderでは見えないようにする。

    ターミナル.appで以下のコマンドを実行する。

    cd /Volumes/
    diskutil unmount /Volumes/rEFInd
    Volume rEFInd on disk2s1 unmounted
    sudo asr adjust --target /dev/disk2s1 -settype "Apple_Boot"
    Password:
    Fsck /dev/disk2s1 ....10....20....30....40....50....60....70....80....90....100
    Adjust completed successfully
    
  4. Live Linux(Knoppix)の準備
    これ以降は、MacをLive CD(今回の場合はKnoppix Live DVD)で起動しての作業になる。

    LXTerminalを起動し、以下のコマンドを実行する。

    1. ルート権限の取得

      sudo -s
      
    2. USBメモリのパーティション番号の確認

      fdisk -l
      

      次のように表示され、/dev/sdcであることが分かる。

      Disk /dev/sdc: 7721 MB, 7721713664 bytes
      255 heads, 63 sectors/track, 938 cylinders, total 15081472 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk identifier: 0x00000000
      
      Device    Boot      Start         End      Blocks   Id  System
      /dev/sdc1               2       18433        9216   ab  Darwin boot
      /dev/sdc2           18435    15081471     7531518+   b  W95 FAT32
      
    3. Knoppixパーティションの不可視化

      LXTerminalを起動し、以下のコマンドを実行する。

      fdisk /dev/sdc
      

      以下のような画面が表示されるので、t2とタイプする。

      Command (m for help): t
      Partition number (1-4): 2
      

      lとタイプすると、次のように可能なフォーマットがリストされる。

      Hex code (type L to list codes): l
      
      0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
      1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
      2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
      3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
      4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
      5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
      6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
      7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
      8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
      9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
      a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
      b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
      c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
      e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
      f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
      10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
      11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
      12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
      14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
      16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
      17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
      18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
      1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
      1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
      1e  Hidden W95 FAT1 80  Old Minix      
      
      1cとタイプし、FAT32を選択、wで書き込む。
      Hex code (type L to list codes): 1c
      Changed system type of partition 2 to 1c (Hidden W95 FAT32 (LBA))
      
      Command (m for help): w
      
      The partition table has been altered!
      
      Calling ioctl() to re-read partition table.
      
      WARNING: If you have created or modified any DOS 6.x
      partitions, please see the fdisk manual page for additional
      information.
      Syncing disks.
      

      上記の通りfdiskを実行すると、/dev/sdcのパーティションリストは以下のようになる。

      Disk /dev/sdc: 7721 MB, 7721713664 bytes
      255 heads, 63 sectors/track, 938 cylinders, total 15081472 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk identifier: 0x00000000
      
      Device    Boot      Start         End      Blocks   Id  System
      /dev/sdc1               2       18433        9216   ab  Darwin boot
      /dev/sdc2           18435    15081471     7531518+  1c  Hidden W95 FAT32 (LBA)
      
    4. USBメモリへのKnoppixのインストール

      root@Microknoppix:/home/knoppix# mount -t vfat /dev/sdc2 /media/sdc2
      root@Microknoppix:/home/knoppix# cd /mnt-system/
      root@Microknoppix:/mnt-system# ls
      DVD-VL-KNOPPIX-20140928  autorun.bat  autorun.pif  cdrom.ico  index.html
      KNOPPIX                  autorun.inf  boot         efi
      root@Microknoppix:/mnt-system# cp -rf boot KNOPPIX /media/sdc2
      root@Microknoppix:/mnt-system# cd /media/sdc2/boot/
      root@Microknoppix:/media/sdc2/boot# ls
      isolinux
      root@Microknoppix:/media/sdc2/boot# mv isolinux syslinux
      root@Microknoppix:/media/sdc2/boot# cd syslinux/
      root@Microknoppix:/media/sdc2/boot/syslinux# mv isolinux.cfg syslinux.cfg 
      root@Microknoppix:/media/sdc2/boot/syslinux# rm -f isolinux.* *.cat
      root@Microknoppix:/media/sdc2/boot/syslinux# cd /home/knoppix/
      root@Microknoppix:/home/knoppix# umount /media/sdc2 
      root@Microknoppix:/home/knoppix# syslinux /dev/sdc2
      
      1行目 KnoppixをインストールするUSBパーティションのマウント
      2行目 Knoppix起動ディレクトリ(MacのSystemに相当するディレクトリ)に移動
      6行目 Knoppixディレクトリおよび、起動に必要なディレクトリをUSBメモリにコピー
      7行目 USBメモリ上のbootディレクトリに移動
      10行目 isolinuxディレクトリをsyslinuxディレクトリにリネーム
      11行目 リネームしたsyslinuxディレクトリ内に移動
      12行目 isolinux.cfgファイルをsyslinux.cfgファイルにリネーム
      13行目 不要なファイルの削除
      14行目 USBメモリをアンマウントするため、ホームディレクトリに移動
      15行目 USBメモリのアンマウント
      16行目 syslinuxのインストール

以上で、KnoppixのLive-USBが出来上がった。後はUSBメモリ上に設定保存用ファイルを作成することで、Wi-fiの設定等を保存できるようになる。

参考ページ:
Mac OS Xの内蔵ディスクはそのままに、外付けUSBディスクのLinuxとデュアルブートする方法
Mac で起動する USB メモリタイプの KNOPPIX/Math の作成法
2つのパーテーションのUSBメモリにKNOPPIX7.4.x をインストールす 2/3
2つのパーテーションのUSBメモリにKNOPPIX7.4.x をインストールす 3/3

0 件のコメント :

コメントを投稿