ネットノートを購入。USB起動でWheezyインストーラを起動【下調べ編

■ネットノートを購入。USB起動でWheezyインストーラを起動【下調べ編】。
 今回はインストールではなく、起動のみです。

 V5-171-F58D/S スペック
 http://www.acer.co.jp/ac/ja/JP/content/model-datasheet/NX.M3ASJ.004

■BIOSモードはUEFI、セキュアブート有効がデフォルト。
 ※BIOS画面でlegacy-BIOS、セキュアブート無効にすることが出来る。

 Debian 7.1 のインストール
 http://www.debian.org/releases/wheezy/debian-installer/

■UEFIのマルチブートについては以下。

 Unified Extensible Firmware Interface (日本語)
 https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface_(%E6%97%A5%E6%9C%AC%E8%AA%9E)

(抜粋)

 Windows のような制限は Linux カーネルには存在しませんが、
 使用するブートローダによっては制限が存在します。
 Windows UEFI ブートの手前、同じディスクから起動するときには
 使用する Linux ブートローダも UEFI-GPT モードでインストールしなくてはなりません。

 mac 以外の UEFI システムの場合、ファームウェアは x86_64 (または 64 ビット) UEFI 2.x です。

■たまに「IA64版が無い」というコメントを見ますが、amd64版かi386版です。
 インストールガイドを読めば大抵の不明点は解決します。
 amd64版は以下です。

 2.1. サポートするハードウェア
 http://www.debian.org/releases/stable/amd64/ch02s01.html.ja

 Debian GNU/Linux インストールガイド
 http://www.debian.org/releases/stable/amd64/index.html.ja

■無線LANドライバ(AR5BWB222)はWindowsのものを流用。
 Windows8でも少なくともDHCPオフの無線LAN AP環境ではまともに動いてないので、期待しない方が良い。
 Windows7用もダウンロードできるようにしておく。

 Squeezeに無線LANドライバを導入する
 http://d.hatena.ne.jp/labunix/20130302

 Drivers for Atheros AR5BWB222 and Windows 7
 http://www.atheros.cz/atheros-wireless-download.php?chipset=74&system=5

■ISOイメージをダウンロード。

$ wget "http://cdimage.debian.org/debian-cd/7.1.0/amd64/iso-cd/debian-7.1.0-amd64-xfce-CD-1.iso"

■MBR領域はisolinux。

$ dd if=debian-7.1.0-amd64-xfce-CD-1.iso bs=512 count=1 | hexdump -C
00000000  45 52 08 00 00 00 90 90  00 00 00 00 00 00 00 00  |ER..............|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  33 ed fa 8e d5 bc 00 7c  fb fc 66 31 db 66 31 c9  |3......|..f1.f1.|
00000030  66 53 66 51 06 57 8e dd  8e c5 52 be 00 7c bf 00  |fSfQ.W....R..|..|
00000040  06 b9 00 01 f3 a5 ea 4b  06 00 00 52 b4 41 bb aa  |.......K...R.A..|
00000050  55 31 c9 30 f6 f9 cd 13  72 16 81 fb 55 aa 75 10  |U1.0....r...U.u.|
00000060  83 e1 01 74 0b 66 c7 06  f1 06 b4 42 eb 15 eb 00  |...t.f.....B....|
00000070  5a 51 b4 08 cd 13 83 e1  3f 5b 51 0f b6 c6 40 50  |ZQ......?[Q...@P|
00000080  f7 e1 53 52 50 bb 00 7c  b9 04 00 66 a1 b0 07 e8  |..SRP..|...f....|
00000090  44 00 0f 82 80 00 66 40  80 c7 02 e2 f2 66 81 3e  |D.....f@.....f.>|
000000a0  40 7c fb c0 78 70 75 09  fa bc ec 7b ea 44 7c 00  |@|..xpu....{.D|.|
000000b0  00 e8 83 00 69 73 6f 6c  69 6e 75 78 2e 62 69 6e  |....isolinux.bin|
000000c0  20 6d 69 73 73 69 6e 67  20 6f 72 20 63 6f 72 72  | missing or corr|
000000d0  75 70 74 2e 0d 0a 66 60  66 31 d2 66 03 06 f8 7b  |upt...f`f1.f...{|
000000e0  66 13 16 fc 7b 66 52 66  50 06 53 6a 01 6a 10 89  |f...{fRfP.Sj.j..|
000000f0  e6 66 f7 36 e8 7b c0 e4  06 88 e1 88 c5 92 f6 36  |.f.6.{.........6|
00000100  ee 7b 88 c6 08 e1 41 b8  01 02 8a 16 f2 7b cd 13  |.{....A......{..|
00000110  8d 64 10 66 61 c3 e8 1e  00 4f 70 65 72 61 74 69  |.d.fa....Operati|
00000120  6e 67 20 73 79 73 74 65  6d 20 6c 6f 61 64 20 65  |ng system load e|
00000130  72 72 6f 72 2e 0d 0a 5e  ac b4 0e 8a 3e 62 04 b3  |rror...^....>b..|
00000140  07 cd 10 3c 0a 75 f1 cd  18 f4 eb fd 00 00 00 00  |...<.u..........|
00000150  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001b0  8c 6a 02 00 00 00 00 00  ba 68 7d 11 00 00 80 00  |.j.......h}.....|
000001c0  01 00 00 3f a0 84 00 00  00 00 00 28 14 00 00 fe  |...?.......(....|
000001d0  ff ff ef fe ff ff e8 8a  11 00 80 03 00 00 00 00  |................|
000001e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00108154 s, 473 kB/s
00000200
■ISOLINUXのバージョンは4.05。

$ sudo mount -o loop debian-7.1.0-amd64-xfce-CD-1.iso /media/cdrom0/

$ find /media/cdrom0 -type f -iname "*[iso,sys]linux*" -print
/media/cdrom0/isolinux/isolinux.bin
/media/cdrom0/isolinux/isolinux.cfg
/media/cdrom0/pool/main/s/syslinux/syslinux-udeb_4.05+dfsg-6+deb7u1_amd64.udeb

$ strings /media/cdrom0/isolinux/isolinux.bin | grep ^ISOLINUX
ISOLINUX 4.05 20121210

■ISOLINUXの更新履歴からEFI対応のバージョンを確認

$ w3m -dump http://ftp-master.metadata.debian.org/changelogs//main/s/syslinux/syslinux_4.05+dfsg-6+deb7u1_changelog | \
  grep "^syslinux\|EFI" | head -10
syslinux (2:4.05+dfsg-6+deb7u1) testing-proposed-updates; urgency=low
syslinux (2:4.05+dfsg-6) unstable; urgency=low
syslinux (2:4.05+dfsg-5) unstable; urgency=low
syslinux (2:4.05+dfsg-4) unstable; urgency=low
syslinux (2:4.05+dfsg-3) unstable; urgency=low
    isohybrid to generate MBR even when in EFI mode.
syslinux (2:4.05+dfsg-2) unstable; urgency=low
syslinux (2:4.05+dfsg-1) unstable; urgency=low
syslinux (2:4.04+dfsg-9) unstable; urgency=low
syslinux (2:4.04+dfsg-8) unstable; urgency=low

■対応していないEFIのバージョンで無い限り、大丈夫そうですね。

 参考
 https://github.com/MagicGroup/MagicSpecQ-U/blob/master/syslinux/syslinux-isohybrid-fix-mbr.patch

$ dd if=debian-7.1.0-amd64-xfce-CD-1.iso bs=1 skip=462 count=8 2>/dev/null | hexdump -C 2>&1 | head -1
00000000  00 fe ff ff ef fe ff ff                           |........|

$ dd if=debian-7.1.0-amd64-xfce-CD-1.iso bs=1 skip=510 count=10 2>/dev/null | hexdump -C 2>&1 | head -1
00000000  55 aa 45 46 49 20 50 41  52 54                    |U.EFI PART|

■「efibootmgr」もあります。

$ find /media/cdrom0 -type f -iname "*efibootmgr*" -print
/media/cdrom0/pool/main/e/efibootmgr/efibootmgr_0.5.4-3_amd64.deb

■CD-R起動には外部ドライブが必要なモデルなので、16GBのUSBメモリに書き出します。
 ※数回しか使わないインストーラの為にCD-Rに焼くことはしません。

$ sudo umount /media/cdrom0/

$ dmesg | tail -5
[3024252.523947] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[3024252.556935] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[3024252.556964]  sdb: sdb1
[3024253.566031] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[3024253.566062] sd 6:0:0:0: [sdb] Attached SCSI removable disk

$ sudo fdisk -l /dev/sdb | grep Disk
Disk /dev/sdb: 16.1 GB, 16131293184 bytes

$ sudo dd if=debian-7.1.0-amd64-xfce-CD-1.iso  of=/dev/sdb bs=512k
1290+0 records in
1290+0 records out
676331520 bytes (676 MB) copied, 410.393 s, 1.6 MB/s

■BIOSメニューはF2。2回保存と再起動が必要。

 Step1.Legacy-BIOS、セキュアブート無効に変更。
  ※Windows Boot Managerがメニューにあると、Legacyではない。

 Step2.USB*が先に起動するよう設定。USBメモリのモデルがBIOSに表示されているので選択に迷わない。
  ※WheezyはGrubから「Shell」に落ちるだけにしておく。
   別途LiveCDを同様にUSBに書き込んで「ssh+dd」でリモートにバックアップしておく。

 Step3.BIOSでUEFI、セキュアブート有効に戻す。
  ※Windows8が起動すること。