ISO ファイルの構造

ISO ファイルの中身

debian-live-8.3.0-amd64-lxde-desktop.iso の例

  • .
    ├── .disk/
    │ ├── archive_trace
    │ ├── base_components
    │ ├── base_installable
    │ ├── cd_type
    │ ├── info
    │ └── udeb_include
    ├── debian -> ./
    ├── dists/
    │ ├── jessie/
    │ ├── stable -> jessie/
    │ ├── testing -> jessie/
    │ └── unstable -> jessie/
    ├── install/
    │ ├── gtk/
    │ ├── initrd.gz
    │ ├── install.bat
    │ └── vmlinuz
    ├── isolinux/
    │ ├── advanced.cfg
    │ ├── boot.cat
    │ ├── hdt.c32
    │ ├── install.cfg
    │ ├── isolinux.bin
    │ ├── isolinux.cfg
    │ ├── ldlinux.c32
    │ ├── libcom32.c32
    │ ├── libutil.c32
    │ ├── live.cfg
    │ ├── menu.cfg
    │ ├── splash.png
    │ ├── stdmenu.cfg
    │ └── vesamenu.c32
    ├── live/
    │ ├── filesystem.packages
    │ ├── filesystem.packages-remove
    │ ├── filesystem.squashfs
    │ ├── initrd.img
    │ └── vmlinuz
    ├── pool/
    │ └── main/
    ├── tools/
    │ ├── loadlin.exe
    │ └── loadlin.txt
    ├── autorun.inf
    ├── g2ldr
    ├── g2ldr.mbr
    ├── md5sum.txt
    ├── setup.exe
    └── win32-loader.ini


ISO ファイルの中身の解説


ディレクトリ




































  • 名前

    要/否

    説明

    .disk

    必須

    詳細不明

    debian

    HDDにインストールする場合は必要

    dists

    HDDにインストールする場合は必要

    install

    HDDにインストールする場合は必要

    isolinux

    必須

    ブートローダー

    live

    必須

    Debian本体

    pool

    HDDにインストールする場合は必要

    tools

    DOSから起動するには必要

  • ファイル




























  • 名前

    要/否

    説明

    autorun.inf

     

    Windows用

    g2ldr

     

     

    g2ldr.mbr

     

     

    md5sum.txt

     

    setup.exe

     

    Windows用

    win32-loader.ini

     

    Windows用


  • 必要なファイルの取り出し


    マウントするのが正式かつ確実な方法でしょう。

    • コマンド例:mount -t iso9660 -o loop debian-live-xxxxx.iso /mnt

    わたしは、File-Roller で必要な部分だけ取り出します。

    • File-Roller は、gnome のツールです。
    • ツールによっては、.disk のディレクトリが扱えないかもしれません。
    • 作業用ディレクトリに、必要なファイルを取り出します。
    • 最小構成の場合:
       /working/directory/
      ├── .disk/
      ├── isolinux/
      ├── live/
      └── md5sum.txt


    ブートパラメターの修正


    isolinux のディレクトリ内にあるファイル一式が、isolinuxです。

    isolinux のマニュアルどおり修正すれば、OKです。

    気の短い人は、live.cfg の最初のエントリーの append に、persistence だけ付け加えれば良いでしょう。

    timeout は、0で無限に待つ、1以上で0.1秒単位で待つ時間を設定できます。 <!> 50で5秒です、要注意。


    ISO ファイルの書出し



    hybrid ISO 形式


    作ったと言うほどのものではないですが、このシェルスクリプトで
    ./build.sh /working/directory target.iso とします。
    build.sh
    #!/bin/sh

    if [ $# -ne 2 ]
    then
    fail "Usage: $0 <source dirctory> <iso filename>"
    fi

    #xorriso -as mkisofs \
    # -o $2 \
    # -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
    # -c isolinux/boot.cat \
    # -b isolinux/isolinux.bin \
    # -no-emul-boot -boot-load-size 4 -boot-info-table \
    # $1

    xorriso -as mkisofs \
    -o $2 \
    -R -r -J \
    -joliet-long -l \
    -cache-inodes \
    -partition_offset 16 \
    -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
    -c isolinux/boot.cat \
    -b isolinux/isolinux.bin \
    -no-emul-boot -boot-load-size 4 -boot-info-table \
    $1