x86 ハードウェア上の Mac OS X 2008–2024 技術文献アーカイブ
212,477 reads · 2009-01-03 – 2009-05-30
技術モノグラフ リリース & ニュース AMD OSx86 Retail DVD / USB

Mac OS X LIVE DVD がついに登場

InsanelyMacの開発チームのおかげで、OS XおよびOSx86向けの真のLive DVDという夢がついに現実のものとなりました。InsanelyMac.comでのspartango氏による元の投稿:「REVENGE氏の呼びかけから間もなく、OS X Live DVDチームはついに金脈を掘り当てました…」

筆頭著者
@nfoav8or 公開日: 2009-01-03
収録コレクション
カーネルリリース&コミュニティ公式発表
アーカイブ記録規模
累計閲覧 212,477 回 · 厳選フィールドノート 7 件(全 12 件の投稿より抽出) · 2009-01-03 – 2009-05-30
参加・検証メンバー (8)
@nfoav8or (3)@milanca (2)@cmdshft (2)@Voyn1x@bob5731@biker69@ultimo@Quentin
対応ハードウェア参照
AMD Desktop Processors ↗ USB 3.2 Boot Flash Drives ↗ SATA III & NVMe SSDs ↗
日本語完訳・技術モノグラフ · ターミナルコマンド、Kext 名、ACPI ノード、ブート引数は原文のまま正確に保持しています英語原文を表示 (Original English) →

InsanelyMacの開発チームのおかげで、OS XおよびOSx86向けの真のLive DVDという夢がついに現実のものとなりました。

InsanelyMac.comでのspartango氏による元の投稿:
"REVENGE氏の呼びかけから間もなく、OS X Live DVDチームはついに金脈を掘り当てました!

手順がわかりやすく、非常に良好に動作するLive DVDの構築手法が確立されました。しかも、使用するkextやブートローダー次第で、Hackintoshでも正規のMac実機でもどちらでも動作します!

この手法が機能する理由は、OS Xにはネットワークブートシステムをサポートするためのディスクイメージブート機構があらかじめ備わっているためです。IOHDIXController とカーネルは、渡されたディスクイメージへのパスを受け取り、ディスクイメージをアタッチ可能なファイルシステムとして認識する "imageboot" 経由でそれを /(ルート)としてマウントできます。

さらにAppleは、読み取り専用のディスクイメージにシャドウファイル(shadowfile)をアタッチして書き込み可能にする仕組みを用意しています。これは本来、ユーザーのセッションをローカルかつ非永続的なものにすることでネットワークブートシステムをサポートするために設計されたもので、/etc/rc.netboot 内に実装されています。具体的には、vndevice(/usr/libexec/vndevice)がdmgにシャドウファイルをアタッチし、そのデバイス上でコピーオンライト(Copy-on-Write)方式を有効にします。これにより、dmgへの書き込みはすべて一時的なシャドウファイル側へとリダイレクトされます。これはUnionFSを用いたLinuxのLive DVDで行われている仕組みと非常によく似ています。

通常、シャドウファイルはローカルディスクまたはネットワーク共有(NFSまたはHFS)上に作成されますが、私の手法ではHFSでフォーマットしたRAMディスク上にシャドウファイルを作成するため、システムはあたかもNetBootで起動したかのように振る舞います。違いは、ブート元のdmgをローカル(file:///)として指定し、カスタマイズしたrcスクリプトを手動で起動する点だけです。このスクリプトは rc.netboot と同様に動作しますが、ローカルディスクではなくRAMディスクを作成してそこにシャドウファイルをセットアップします。その後、/ が読み書き可能(R/W)になり、OS Xは通常通りFinderへとブートし…その先も完全に動作します。

詳細は以下のInsanelyMac X Labsのリンクをご覧ください!

http://forum.insanelymac.com/index.php?showtopic=144128 ↗

元画像は 元の投稿 ↗ のspartango氏より提供いただきました。

私自身、しばらく前から modbin氏の手法 ↗ の改変版を動かそうと悪戦苦闘していただけに、私よりずっと優れた頭脳を持つ方々によるこの成果にはただただ脱帽するばかりです :-B

なお、この手法を使って各自が作成したバージョンをネット上に氾濫させるべきではないとも思っています。Windowsユーザー向けには、すでにいくつか出回っているバージョンがあり、TransMacを使ってイメージファイルを編集するだけで自分の環境向けに動作させることができます。そしてすでにOS Xを使っている私たちは…自分で作成しましょう。[How-To]が整備された今なら十分に簡単です。質問は開発チームへ直接向けるのが基本ですが、このフォーラムで議論していただいても構いません(その際はスレッドのタイトルを分かりやすく付けてください)。

このLIVE DVDの誕生によって、これまで修復不能と思われていたシステムを救出できるようになることを願っています。

開発者の皆さんに心からの敬意を表します。Dev Team、本当に素晴らしい仕事ぶりです!

(上に掲載したOS X LIVEの画像は、以前私が作成していた旧AMD-LIVE DVD版のためにPhotoshopで制作し、後にこの記事向けに編集したものです。)

コミュニティ検証報告・技術フィールドノート

全 12 件のオリジナル投稿から技術的価値の高い 7 件の検証報告を収録

検証ノート #1 @Voyn1x 2009-01-03

素晴らしいニュースですね!これの登場をずっと心待ちにしていました :

検証ノート #2 @milanca 2009-01-03

ええ、これは間違いなく画期的です… 先日InsanelyMacでスレッドを見かけたときに早速1枚作ってみたのですが、実に快調に動作しています。コミュニティにとって大きな助けになることは間違いありません。

著者追記 #1 @nfoav8or 2009-01-15 ↳ Re: @bob5731
@bob5731それのISOが欲しいです。

どうやら次期Leo4AllインストールDVDにはこの機能が搭載されるようです。私が自分の作成したイメージをアップロードしないのもそれが理由です。自分のシステムや他の数台のマシンで動くLiveDVDを作りはしましたが、もともと汎用向けに設計したものではないため、これを公開して「自分の環境で動かない」と皆さんから苦情が殺到するような事態は避けたいのです。

実際、自分で作成した方がずっと簡単ですよ。

「古い」バージョンのLeopard OSx86インストールDVDを使ってアップデートし、あとはガイドの手順に従うだけです。私に言わせれば実にシンプルな手順です。

検証ノート #3 @milanca 2009-01-15

同感です、LiveDVDの作成はかなりシンプルですね。私も自作してみましたが、手持ちの2台のシステム両方で問題なく動作しています。アップロードしてもよかったのですが、多くのチップセットを網羅する必要がありますからね。あるいは、汎用的なユニバーサルLiveDVDのような形に仕立てて公開できるかもしれませんが、まだわかりません。いずれにせよ、これが素晴らしい技術であることは確かです。インストールDVDから起動する代わりにリカバリ用途として別ディスクに予備の稼働OS環境を維持しておく手間が省けますし、バックアップディスクイメージの復元など様々な用途に活用できます。本当に素晴らしいです。

検証ノート #4 @cmdshft 2009-01-23

ただ、これにはRAM容量の制限があるようです。

私の環境はRAMが1GBなのですが、送ってもらったテスト用DVDでは最後までブートできませんでした。システムをブートするには少なくとも1.1GB以上のRAMが必要なようです。

著者追記 #2 @nfoav8or 2009-01-24 ↳ Re: @cmdshft

初期ビルドの段階でRAMディスクのサイズを変更すれば、より少ないRAM容量でも動作させられると思います。

検証ノート #5 @cmdshft 2009-01-24

現在PCWizと一緒にいくつか検証を進めているところです。彼のもとにテスト用のファイルが送られてくる予定で、RAMディスクを最適に活用できるよう搭載RAM容量を自動検出するスクリプトを試してみることになると思います。

動作検証・議論参加メンバー: @bob5731 @biker69 @ultimo @Quentin
出典および貢献者来歴(クレジット登録 8 名 · 元スレッド #1868)
ユーザー名貢献ロール投稿数活動期間
@nfoav8or筆頭著者32009-01-03 → 2009-01-24
@milanca検証メンバー22009-01-03 → 2009-01-15
@cmdshft検証メンバー22009-01-23 → 2009-01-24
@Voyn1x検証メンバー12009-01-03
@bob5731検証メンバー12009-01-14
@biker69検証メンバー12009-02-05
@ultimo検証メンバー12009-02-20
@Quentin検証メンバー12009-05-30

言語を選択 · Choose your language