Mac䞊のFreeBSD

mrTuborgに代わっお、 mrTuborgの芁請により発行

1幎前、私はLeopardMac OS X 10.5を実行しおいるMac miniのサヌバヌをピックアップしたした。すべおのたずもな人々ず同じように、FreeBSDの初歩/スタブを芋぀け、finkポヌトfinkproject.orgをダりンロヌドしおむンストヌルしたした。 1幎が経ちたした... WiFiアダプタヌをむンフラストラクチャモヌドにしたした...今ではラップトップにむンタヌネットを提䟛し始めたした...トレントを24時間365日ダりンロヌドし、VNCストリヌムをLANから倖郚むンタヌネットにリダむレクトしたす自宅から遠く離れたずきに同じラップトップからアクセスするために...繰り返しになりたすが、私の愛するSFTPディスケットに500Gのサむズを提䟛し、jabberのトランスポヌトを保持したす...

そしお、それは退屈になりたした...
しかし、もしあなたが本物のFreeBSDを䜿っおそれを眮いたらどうでしょうか 少幎は蚀った-少幎はしたしたか

FreeBSD 7.0 PowerPCむメヌゞを焌き付けたした。 Macはディスクを正垞に起動したした。 むンストヌルを開始したす...おっず...しかし、fdiskはどこにありたすか?? fdisk'aはありたせん。 ラベル゚ディタヌがありたす。 しかし、圌が芋぀け始めたずき、圌はパヌティションテヌブルで䜕もするこずができたせん...そしお私たちは去りたす。 2週間の掘り䞋げの結果、小さなToDo「MacにFreeBSDをむンストヌルする方法」が誕生したした。これをあなたの泚意を喚起したす。

だから、私が遭遇した問題

1 FreeBSDむンストヌルDVDにはfdiskがありたせん。 原則ずしおパヌティションを支揎できないLabelEditorのみ。
たた、Mac甚のfdiskの移怍バヌゞョン少なくずも機胜するバヌゞョンはどこにもありたせん。 問題は「特別な」腺ず特別な
AppleのOpen-Firmware詳现は䞋蚘。

2 「特別な」オヌプンファヌムりェア
すべおの進歩的な人類はすでにBIOSシステムを攟棄しおおり、それらを埐々に理論的には理解しおいるが、ポピヌではすでに実践されおいるようにOpen Firmwareに眮き換えおいたす。 セルフテスト機胜を備えたハヌドりェアプリロヌダヌ。 ポピヌでは、これはOpen Firmwareであるこずが瀺されおいたすが、䞀連のコマンドに基づいお、独自のOpen Firmwareのたたです。 たた、このOpen FirmwareはMac HFS +パヌティションからの起動のみを理解したす。 実際、タンバリンずのそれ以䞊のダンスもこのOpen Firmwareで発生したす。
ここに蚘述されおいるもの-en.wikipedia.org/wiki/Open_Firmware 道埳的に死んだBIOSに代わる最新のテクノロゞヌ。 管理コマンドのセットは、 www.firmworks.com / QuickRef.htmlにありたす。 しかし、AppleのOpenFirmwareの特城は、蚘茉されおいるものず実質的に重耇しないこずです。 以䞋に、わずかに倉曎されたコマンドセットを瀺したす指定されたリファレンスのほずんどのコマンドは機胜したせん。これらのコマンドの動䜜は、わずかに予枬䞍胜です。 非垞に倚くの堎合、同じチヌムは仕事をやめるか、異なっお働きたす。 唯䞀の解決策がありたす-リブヌト。
だから、MacのOpenFirmwareぞの入り口はAlt + Cmd + O + Fです。短いトレヌニングセッションの埌、この組み合わせは1぀右で簡単に抌されたす巊は機胜したせん-私は=を詊したした
怜出されたコマンドの䞭で最も有甚なもの

mac-boot-ダりンロヌドの続行
シャットダりン -ポピヌをオフにしたす
reset- all-システムを再起動したす
CDを取り出す -ディスクを「吐き出す」
boot <loader> <kernel> -システムを起動したす

devalias-デバむスに割り圓おられたすべおの文字略語のリスト
hdおよびcdの゚むリアスを曞き留めたす

デバむスツリヌ党䜓の出力
1 dev /-デバむスツリヌをルヌトにマりントしたす
2 ls

printenv-出力環境倉数。
私たちにずっお最も興味深い倉数はboot-deviceです
setenv <倉数> <倀>-環境倉数を割り圓おたす

すべおの蚭定を工堎出荷時のデフォルトにリセットするには、「倧䞈倫ですか」ずいう特城的な音ず家のような反応が出るたで、電源ボタンをオフの状態にする必芁がありたす。 0_o»䞀般的に、信号は認識可胜です。

すべおが透明なようです。 しかし OpenFirmwareはHFS +以倖からは起動できたせんが、...

3 FreeBSDはMac HFS +パヌティションを認識したせん。
この原則は必須ではありたせん。 必芁なのは、Mac OSツヌルを䜿甚しお䜜成し、HFS +パヌティションを準備するこずです。
損なわないようにFreeBSD

4 Mac OSは、最初の機䌚に、ハヌドドラむブ䞊のパヌティションを「急いで改善」したす。
逆の問題に぀いおは、ステップ3で説明したす。FreeBSDをすでにむンストヌルしおいる堎合、Mac OS Xをむンストヌルディスクから起動するこずは決しおできたせん。 BSDむンストヌル手順党䜓を新たに開始する必芁がありたす。

だから。 それは理論的な郚分でした。 今、私たちは実際に緎習を始めたす-患者を準備したす。

ツヌル
1 FreeBSDむンストヌルディスク。
2 Mac OS XむンストヌルディスクTigerたたはLeopard。
3フラッシュドラむブ。

0.機噚の定矩。

さらに、デバむスのシンボル名を垞に瀺したすが、機胜しない堎合に備えお、この段階で必芁なデバむスのフルネヌムを取埗する必芁がありたす。
Cmd + Alt + O + Fを抌しおOpen Firmwareに入りたす...

次のコマンドを䜜成したす。

0> dev /
0> ls

Open Firmwareブヌトの初期段階で構築されたデバむスツリヌのペヌゞネヌションが開始されたす。 ここで泚意が必芁です。
名前には、ブランチ党䜓が必芁です...実際にはそこには瀺されおいたせんが、むンデントによっおのみ瀺されおいたす。

ATAコントロヌラハヌドドラむブずCD-ROMが接続されおいるは次のようになりたす。

/ pci @ f4000000 / ata-6 @ d /ディスク

スラッシュによっお朚の枝が分割されたす。

朚の枝が正しく識別されおいるかどうかを調べる方法は

さらに起動したす-boot2 / EFIでFree BSDむンストヌルディスクが挿入されおいる堎合。 ここには、FreeBSDからのより拡匵されたただしバグが倚いコマンドセットがあり、すべおの掚枬を確認できたす。

boot2 / EFIを起動する方法。 OpenFirmwareでコマンドを入力したす2番目のパラメヌタヌは省略されたす-カヌネルは起動したせん
ブヌトCD、\ブヌト\ロヌダヌ

したがっお、boot2 / EFIにいたす。

すべおの掚枬を環境倉数「currdev」に導きたす。
ata-diskコントロヌラの名前pci @ f4000000 / ata-6 @ d / diskの埌に、ディスク番号ずパヌティション番号を指定したす
蚭定currdev = / pci @ f4000000 / ata-6 @ d / disk @ 10

私の堎合、cdromです。 セクションは1぀しかないため、セクション番号は省略でき、次のようになりたす。
蚭定currdev = / pci @ f4000000 / ata-6 @ d / disk @ 1

次に、lsコマンドで掚枬を確認したす。
ディスク䞊のファむルずディレクトリのリストを取埗した堎合、掚枬は真実であるこずが刀明したした。

私の堎合のハヌドドラむブは次のようになりたす/ pci @ f4000000 / ata-6 @ d / disk @ 0

間違えた堎合、必芁なセクションを芋぀けるこずは、単玔な列挙=によっお解決されたす。

1.ブヌトロヌダヌの準備隣接コンピュヌタヌ䞊 

フラッシュドラむブを取り、ロヌダヌずその䞊にboot.tbxiをコピヌしたす任意のフォルダヌ、フラッシュドラむブ-持ち運び甚のツヌルずしお、これ以䞊
どんな皮類のファむル...そしおどこで入手できたすか loader-FreeBSDむンストヌルディスク\ boot \ loaderにあり、boot.tbxiは同じ堎所にありたすが、芋぀からない堎合は修正たたは再䜜成する必芁がありたす。
これは、次のようなOpen FirmwareのForthブヌトスクリプトです。

<ブヌトスクリプト>
「画面」出力
boot hd???、\ boot \ loader hd???
</ boot-script>

ブヌトコマンドに興味がありたす。 その構文を扱いたしょう
1番目のパラメヌタヌは、ブヌトロヌダヌこの堎合は、FreeBSDのboot2 / EFIブヌトロヌダヌの堎所です。 この䟋では、シンボリック眮換、hd-ハヌドディスクcd-コンパクトディスク、パヌティションのコロン番号少し䜎いパヌティション番号に぀いお、およびこのパヌティション䞊のブヌトロヌダヌファむルぞの忘れたパスが瀺されおいたす。 HFS +ファむルシステム。

2番目のパラメヌタヌ-ブヌト可胜システムのカヌネルの堎所。 ここでは簡単です-セクション番号だけです。 パラメヌタヌはファむルロヌダヌの入力に枡されるため、ファむルシステムの圢匏に関する芁件はありたせん。

必芁なパヌティション番号を芋぀ける方法は、これらのパヌティションを䜜成するずきにそれぞれ芋぀けたす。 そのため、近隣のコンピュヌタヌでスクリプトを線集しおもそこで終わりたせん...

2.ハヌドドラむブを準備したす。

MAC OS Xむンストヌルディスクが1回必芁になるため問題番号4を参照、そこから開始したす。

MAC OS Xむンストヌルディスクをダりンロヌドするず、次のツヌルが利甚可胜になりたすディスクナヌティリティずタヌミナル

2.1ディスクナヌティリティを䜿甚しおディスクを分割したす。

ラベル゚ディタヌを䜿甚しお1぀のセクションを䜜成し、スラむスに分割しおみたせんか 動䜜したせん。 ラベル゚ディタヌは、そのために䜜成されたパヌティションのみを䜿甚できたすが、パヌティションテヌブルに干枉するこずはありたせん-動䜜したせん。 だからこそ、スラむスごずに独自のセクションを䜜成する方が良いのです...
ディスクのパヌティションを䜜成する前に、パヌティションテヌブルのタむプを遞択する必芁がありたす。 GUID、Apple Partition MapたたはMBR。 PowerPC mac-APM、Intel mac-GUIDを遞択する必芁がありたす。

次のセクションを実行したした。
ルヌトの䞋-4 Gb
スワップ䞋-2 Gb
var-2 Gb未満
usrの䞋-8 Gb
家の䞋-残っおいるすべお、すなわち22 Gb。

次のステップで端末でそれらを識別しやすくするために、これらのセクションにroot、swapなどのラベルを蚭定したす。

䞀般に、あらゆる皮類のブルゞョアフォヌラムでは、グリッチの疑いがあるため、Disk Utilitiesを長時間䜿甚するこずをお勧めしたせん。 私はこの事実を吊定したせん、それはそのようでしたが、私は曲がった手にそれを曞き留めたした。
Mac OSおよびBSDファむルシステムの互換性に぀いお少し説明したす。 Disk Utilitiesには4皮類のファむルシステムから遞択できたす-それらはすべお、長くお、ファむル名の倧文字ず小文字を区別するためのサポヌトたたはなしゞャヌナリングずサポヌトたたはなしを備えた拡匵ファむルシステムず呌ばれたす。 これは実際には、オプション付きのゞャヌナリングたたは非ゞャヌナリングExt3にすぎたせん。 したがっお、これらのセクションの理論ず実践の䞡方をBSDの䞋から読むこずに問題はありたせん圌はUFSに倉換したす。 しかし、ただ問題がありたす。 HFS +でブヌトロヌダヌをロヌドする必芁があり、カヌネルはすでにBSDで認識されるパヌティションからです。
むンストヌルされたBSDをさらに正垞にロヌドするには、ブヌトロヌダヌずカヌネル自䜓を分離する必芁がありたす。 これを行うには、ディスク䞊で既に説明したパヌティションにブヌトロヌダヌ 'aのパヌティションを䜜成したす。 サむズを0.2 GBず指定したした。Leopardはすぐに1 GBに調敎したしたが、パヌティションプロセスの埌、パヌティションのサむズは0.86 GBになりたした。 たあ、圌ず議論しないでください=。 さらに、むンストヌル䞭にBSDはそのパヌティションをポピヌから読み取れないようにしたす。そのため、Leopardのむンストヌルディスクは、BSDをハヌドディスクにむンストヌルする前に䞀床だけ䜿甚したす。 そうしないず、次にLeopardむンストヌルディスクを起動するずきに、Mac OSは準備されたすべおのパヌティションを䞍適切な皋床に「改善」するため、むンストヌルプロセスを最初からやり盎す必芁がありたす。

したがっお、次のパヌティションテヌブルがありたす。
ブヌトロヌダヌ1G
ルヌト4G
スワップ2G
var2G
usr8G
ホヌム22G

パヌティションを準備した埌、ディスクナヌティリティを閉じおタヌミナルを実行したすすべお同じLeopardたたはTigerむンストヌルディスクから。
タヌミナル内にある堎合、事前に準備されたフラッシュドラむブロヌダヌずboot.tbxiのファむルのブヌトロヌダヌ2セクションに配眮する必芁がありたす。 宿泊斜蚭の芁件はありたせん。 たずえば、そこにブヌトディレクトリを䜜成し、そこにすべおをコピヌしたした...そしお、はい、ブヌトスクリプトの準備を完了する必芁がありたす。

2.2パヌティション番号の識別

方法1 Leopardのむンストヌルディスクタヌミナルで、マりントされおいるパヌティションを䞀芧衚瀺したすすべおが既にマりントされおいたす

マりントコマンドの䟋、私は持っおいたす
/ dev / disk0s3 on /ブヌトロヌダヌ
/ dev / disk0s5 on / root
... ...

sの埌の数字は必芁な数字です䞊蚘のブヌトスクリプトの䟋を参照

方法2 FreeBSDむンストヌルディスクのLabelEditorから。
私の堎合の䟋

ad0s3
ad0s5

...

ここでは、特定のラベルが衚瀺されおいないため、サむズずセクションの順序をナビゲヌトしお、誰が誰であるかを芋぀ける必芁がありたす。 少し䞍快です。

ブヌトスクリプトを終了したす。
<ブヌトスクリプト>
「画面」出力
ブヌトHD3、\ブヌト\ロヌダヌHD5
</ boot-script>

2.3ブヌトロヌダヌの準備

タヌミナルに移動しお、ロヌダヌずboot.tbxiファむルをフラッシュドラむブからブヌトロヌダヌセクションのポピヌにコピヌしたす。

3. FreeBSDのむンストヌル。

だから。 この時点で持っおいるのは、ブヌトロヌダヌセクションにコピヌされた壊れたこれたでのずころパヌティションにのみディスク、ロヌダヌ、およびboot.tbxiファむルです。
Macを再起動し、FreeBSDむンストヌルディスクから起動したす。 むンストヌルを実行したす。 再起動したす。 パパが点滅したす;-)

4.むンストヌルされたFreeBSDをダりンロヌドしたす。

これたでのずころ良い。 OpenFirmwareに戻りたす。 テストむンストヌルマニュアルのダりンロヌド

0> CDを取り出す-FreeBSDむンストヌラヌブヌトディスクを匕き出す
わかった
0> boot hd3、\ boot \ loader hd5-3番目のパヌティションに甚意されたロヌダヌをロヌドし、5番目のパヌティションからその入力にカヌネルを転送したす。
わかった
...

成功したしたか その堎合は、4.2項に進んでください。 いいえ-続きを読みたす。

4.1盎接デバむス名。

ダりンロヌドが倱敗した堎合、シンボリックリンクdevaliasは正しく定矩されおいたせん
したがっお、盎接デバむス名を䜿甚したす。 アむテム0をリコヌルしたす。EFIに再びロヌドされたす。
ロヌダヌずカヌネルがあるかどうかを確認したす。
蚭定currdev = / pci @ f4000000 / ata-6 @ d / disk @ 03
ls-ブヌトロヌダヌセクションのファむルのリスト。 ロヌダヌずboot.tbxiを確認する必芁がありたす
...

蚭定currdev = / pci @ f4000000 / ata-6 @ d / disk @ 05
ls-ルヌトセクションのファむルのリスト。
...

倱敗した堎合は、aずbの数字を倉曎したす-disk @ ab
必芁な数を芋぀けたら、ダりンロヌドをテストしたすOpenFirmwareを再起動した埌
0> boot / pci @ f4000000 / ata-6 @ d / disk @ 03、\ boot \ loader / pci @ f4000000 / ata-6 @ d / disk @ 05

したがっお、ブヌトスクリプトboot.tbxiを芋぀かったパラメヌタヌに修正する必芁がありたす

4.2むンストヌルされたFreeBSDのブヌト...

あなたは働くこずができたす...出来䞊がり

この時点で、ほずんどすべおのブルゞョアフォヌラムの情報は終了したす...圌らにずっお、すべおは倧䞈倫です。 圌らはnに達した...
しかし、私たちの泚意深いプロレタリアの読者が指摘しおいるように、あなたは本圓にすべおを今すぐペンでロヌドする必芁がありたすか この堎所の倚くのフォヌラムでは、ディスクではなくハヌドドラむブからカヌネルをロヌドする正しい.tbxiスクリプトを䜿甚しお、ブヌトディスクをむンストヌル甚ずしお準備するこずをお勧めしたす。

5.しかし、これはオプションではありたせん

1週間以䞊眠れず、別の堎所で、たったく別の機䌚にsetenvコマンドに出くわしたした。 ここにあるのは、いわば最埌の和音です...

setenv boot-device hd3、\ boot \ boot.tbxi

それは私のケシでうたくいきたした。 それがあなたのために働くかどうか、保蚌はありたせん...これらはすべおMackのOpen Firmwareの文曞化されおいない機胜だからです。
いずれにしおも、すべおを戻す方法は nvram蚭定をリセットしたす-ポピヌをオフにしお、電源ボタンを20秒間抌し続けたす。

あずがき。
私のMacでは、FreeBSDが起動したした。 珟圚、クヌラヌは垞に動䜜しおいたす... WiFiモゞュヌルは衚瀺されおいたせん...続行する必芁がありたす。 もちろんこれが誰かが必芁ずするすべおです。

Source: https://habr.com/ru/post/J47414/


All Articles