■SqueezeからビジネスカードサイズのCDイメージがUSB起動にも対応していた件。
後でどうにでも出来る空のUSBメモリやUSBディスク、USBアダプタで繋げる事が出来る各種メディア...
があるのなら、容量に関わらず以下でコピーして再起動するだけで、インストーラが立ち上がる。
※約50MBなので、最近のUSBメモリであれば待つ必要も無い。
例えば、dmesgでUSBドライブが「/dev/sdb」として認識している場合。
$ dd if=debian-509-i386-businesscard.iso bs=512k of=/dev/sdb
■Lennyでは確かに以下だったので、別途ブートローダをインストールしていた。
$ dd if=debian-508-amd64-netinst.iso bs=512 count=1 2> /dev/null | hexdump -C | head -3
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
$ dd if=debian-509-i386-businesscard.iso bs=512 count=1 2>/dev/null | hexdump -C | head -5
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
■一部のアーキテクチャでは既に対応していたのかも知れない。
$ dd if=debian-508-alpha-hppa-ia64-netinst.iso bs=512 count=1 2> /dev/null | hexdump -C | head -3
00000000 80 00 50 41 4c 4f 00 04 03 53 68 00 00 3f e4 b3 |..PALO...Sh..?..|
00000010 02 ab 38 00 00 4f 40 fa 30 2f 76 6d 6c 69 6e 75 |..8..O@.0/vmlinu|
00000020 78 20 69 6e 69 74 72 64 3d 30 2f 72 61 6d 64 69 |x initrd=0/ramdi|
$ dd if=debian-508-amd64-i386-powerpc-netinst.iso bs=512 count=1 2> /dev/null | hexdump -C | head -3
00000000 45 52 02 00 00 0e c8 00 00 01 00 01 00 00 00 00 |ER..............|
00000010 a0 f0 54 03 00 00 00 00 30 f1 54 03 00 00 00 00 |..T.....0.T.....|
00000020 60 f2 54 03 00 00 00 00 d0 f2 54 03 00 00 00 00 |`.T.......T.....|
■気づけば公式にも。。。
参考:4.3. USB メモリでの起動用ファイルの準備
http://www.debian.org/releases/stable/i386/ch04s03.html.ja
■手元にあるCDイメージを確認。
今年の4月頃に気づこうと思えばそこにあったのです。。。
私のハードディスクにあるのですから。。。
$ dd if=debian-6.0.4-i386-businesscard.iso bs=512 count=1 2>/dev/null | hexdump -C | head -5
00000000 fa 31 ed 8e d5 bc 00 7c fb fc 66 31 db 66 31 c9 |.1.....|..f1.f1.|
00000010 66 53 66 51 06 57 8e dd 8e c5 52 be 00 7c bf 00 |fSfQ.W....R..|..|
00000020 06 b9 00 01 f3 a5 ea 2b 06 00 00 52 b4 41 bb aa |.......+...R.A..|
00000030 55 31 c9 30 f6 f9 cd 13 72 16 81 fb 55 aa 75 10 |U1.0....r...U.u.|
00000040 83 e1 01 74 0b 66 c7 06 d1 06 b4 42 eb 15 eb 00 |...t.f.....B....|
$ dd if=debian-6.0.5-amd64-businesscard.iso bs=512 count=1 2>/dev/null | hexdump -C | head -5
00000000 fa 31 ed 8e d5 bc 00 7c fb fc 66 31 db 66 31 c9 |.1.....|..f1.f1.|
00000010 66 53 66 51 06 57 8e dd 8e c5 52 be 00 7c bf 00 |fSfQ.W....R..|..|
00000020 06 b9 00 01 f3 a5 ea 2b 06 00 00 52 b4 41 bb aa |.......+...R.A..|
00000030 55 31 c9 30 f6 f9 cd 13 72 16 81 fb 55 aa 75 10 |U1.0....r...U.u.|
00000040 83 e1 01 74 0b 66 c7 06 d1 06 b4 42 eb 15 eb 00 |...t.f.....B....|
■「0x80」で起動パーティションも設定されています。
$ dd if=debian-6.0.4-i386-businesscard.iso bs=2 skip=223 count=32 2> /dev/null | hexdump -C | head -3
00000000 80 02 01 00 17 3f 20 2d 40 00 00 00 c0 6f 01 00 |.....? -@....o..|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
■最後の起動ディスクのフラグ「0xAA55」も。。。
$ dd if=debian-6.0.4-i386-businesscard.iso bs=2 skip=255 count=1 2> /dev/null | hexdump -C | head -3
00000000 55 aa |U.|
00000002
■isolinuxが対応したと考えるのが自然なのかな。。。
$ dd if=debian-6.0.4-i386-businesscard.iso bs=512 count=1 2>/dev/null | strings | grep "\."
isolinux.bin missing or corrupt.
Operating system load error.
■以下を参照する限り、「syslinux」の4.01からの対応のようです。
参考:Changes in 4.01
http://www.syslinux.org/wiki/index.php/Syslinux_4_Changelog
参考:Version 4.01 of Syslinux
http://site.freecode.com/projects/syslinux/releases/319005
■debian6.0.4からだった。
ということで、2012年1月28日から可能だったということですね。。。
参考:Updated Debian 6.0: 6.0.4 released
〜Stop treating ISO hybrid images on USB sticks as real optical drives〜
http://www.debian.org/News/2012/20120128