753Note

3. iBook G3 16 VRAM

3-9. MoM v0.21による確認

このページの内容

  1. 事前準備
  2. MoM作成
  3. まとめ
  4. お願い
  5.
  6.
  7.
  8.
  9.
  10.

1. 事前準備

1-1

USB「FOR IBOOK」の「Mom」に3つのバージョンのMoMが置いてあります。
「Mac-on-Mac-CORE-v0.21-ALPHA.zip」をデスクトップにコピーして、ダブルクリックで解凍します。

1-2

「mol-bk」というフォルダが作成され、中にはプログラムソースが収められています。
「BUILDING」というファイルをダブルクリックで開いてみます。

1-3

「Building MOL from the source tar ball:」とあります。
makeコマンドによりこのフォルダにあるデータをコンパイルしてMOL(Mac-on-Linux)のビルドを行なうようです。
やってみるしかありません。

一応、Linuxベースのプログラムソースをコンパイルするのに必要な環境を調べてみました。

1-4: Mac OS X 10.3 インストール CD
1-5: 同 Xcode Tools インストールCD (拡大)
   Version 1.0, 691-4591-A

X11はMac OS 10.3をインストールする際にカスタマイズで選択してインストール済みです。
あとは、Xcode Toolsと、X11 SDKのインストールが必要なようです。

1-6

Xcode Tools インストールCDをセットして、「Developer.mpkg」をダブルクリックで実行します。

1-7

「カスタマイズ」で「X11 SDK」にチェックを追加してインストールを行ないます。

2. MoM作成

2-1

ターミナルを開いて、~/Desktop/mol-bkのディレクトリに入ります。

2-2

「make」を実行します。
コンパイルが進められ、okが並んでいきます。

2-3

Linux Kernel Configurationの画面になります。
「X11 Support」だけに*のチェックが入っています。

2-4

よく分かりませんが、そのままの設定にしておきます。
キーボードの→キーで「Select」を「Exit」にしてEnterします。

2-5

ここはそのままキーボードからEnterします。
またしばらくコンパイルが進められ、okが続きますが・・・

2-6

errorが発生して、終了してしまいます。

2-7

最初にエラーが発生している場所は、このあたりになります。
「init.o」のコンパイルにおいて、次のことが原因でエラーが起こっているようです。
 Darwin/locks.h:20:24: No include path in which to find kern/locks.h
 In file included from ../../src/shared/kernel_vars.h:35,

2-8: shared

/Desktop/mol-bk/src/shared/にkernel_vars.hが存在しています。
ダブルクリックで開いてみます。

2-9: kernel_vars.h

35行目に、#include "locks.h"とあります。
これにより、一般的には /usr/include/ 内にある locks.h が探索され、そのヘッダーファイルの中身が、include文のところに置き換えられるようです。
なので、/usr/include/ 内を調べてみました。

2-10: /usr/include

locks.h は見当たりません。
このことが原因でエラーが生じていると考えられます。

2-11

最初に見た「BUILDING」に The kernel source に関する説明があります。
” kernel modules はその kernel が作成された時と同じバージョンの kernel headers を使用してコンパイルしなければならない ”
” MOLは現在走っている kernel が 2.6.1-rc1 だと想定して/lib/modules/2.6.1-rc1/buildというパスを使って、kernel が作成された時の kernel headers を参照しに行っている ”
そういったことが書いてあります。
しかし、現状では/lib/modules/という場所さえ存在していません。
したがって、正しいパスを設定してやることが必要なようです。--- (1)

その先を読んでみると、上記パスが存在しない場合には、MOLは /usr/src/linux に kernel source を探しに行くと書いてあります。
その場合の make の実行手順も書いてあるので、この方法も試してみようと思います。--- (2)

さらにその下の Warning: には、流布された kernel headers は壊れている可能性もあるので、その場合には custom kernel を作成するのが最も簡単なやり方とも書いてあります。--- (3)

(1)(2)(3)いずれの方法を採るにしても、Linuxのカーネルソースや実行データは(残って)ないので、新たにソースを入手してコンパイルを行ない、参照するカーネルヘッダやモジュールを作成する必要があるようです。
その方向からも確認を進めてみることにしました。

2-12

Linuxカーネルのダウンロードサイトから「Linux-2.6.1.tar.bz2」をダウンロードしました。
2.6.1-rc1という形でダウンロードできるものは見当たりませんでした。
取りあえずデスクトップに置いて解凍します。
「README」があります。

2-13

ソース、ビルドを置くディレクトリの指定方法についてサンプルが示してあります。
これに従うと、ディレクトリの構成は以下のようになります。
  kernel source code: /usr/src/linux-2.6.1
  build directory: /home/name/build/kernel
その場合のターミナルでの実行コマンドも示してあります。
  cd /usr/src/linux-2.6.1
  make 0=/home/name/build/kernel menuconfig
  make 0=/home/name/build/kernel
  sudo make 0=/home/name/build/kernel modules_install install
このとおりにやってみることにします。

2-14

/usr/src の下に linux-2.6.1 を置きます。

2-15

ターミナルを開き、最初のコマンドを入力します。
  cd /usr/src/linux-2.6.1
次のコマンドを入力します。
  make 0=/home/name/build/kernel menuconfig
ここでエラーが出てしまいます。
 gcc: unrecognized option `-shared'
 ld: Undefined symbols:
 _main
gccのオプションとか、リンカldに関するメッセージのようです。
少し調べてみたところ、前者については無視しても構わないようなことも書いてありましたが、よく分かりません。

3. まとめ

このような状態で先の Configuring や Conpiling の作業に進むのは無理だと判断しました。
残念ですが、一旦ここで中断することにしました。
Linuxやプログラミングに対する知識や経験のない自分には無理があるようです。

4. お願い

MoMでMac OS Xが走ることを、事実として記録に残しておいてやりたいと思っています。
MoMに関するご自身の経験や、この問題を解決する糸口になる情報をいただけると助かります。
よろしければ、トップページ の「メールフォーム」よりお願い致します。

5.


6.


7.


8.


9.


10.



Copyright 2022 WaterFront111 All rights reserved.