2011年10月10日 (月)

【続】FreeBSD-8.2 / Intel Celeron でPAEを利用して巨大メモリを認識させる

(昨日の記事の続き)ということで、インテルカーネルにPAEを入れて、agpgartが動かないのでXが立たないけどあきらめようという状況だったのですが、昨日のブログ記事を書いたところこんなことを教えて頂きました。

Celeron 430 は amd64 カーネルで動くよ

え!とビックリ。調べてみたら確かにそう書いてある。amd64カーネルというから、Intelの石では動かないと思っていた僕の知識が古かったのでした。 ということで、それならいまのうちにとamd64に入れ換える方法をさっそく調査してみました。 ですが、残念なことに既にインストール済のOSのカーネルアーキテクチャを変えるのは簡単ではなさそう(可能だが面倒)。 さらに調べてみると、2GBのUSBメモリとUSBメモリからブートできるマザーボードさえあれば、 最近はインストールDVDを作らなくても済むということもわかりました。 てなわけでさっそく amd64 カーネルでインストールしなおしました。 なんてこと〜。


ついでに、/boot/loder.conf に

geom_eli_load="YES"
を書き足して、さらに、 /home の暗号化もしました。その都合もあるので、 fstabの/home の記述は
/dev/hogehoge /home ufs rw,noauto 0 0
にして、さらに /etc/rc.conf ではいくつかの daemon(メールとかwebとか、あといくつか) の enable を "NO" にし、 さらに、/var/bin というディレクトリを作って、そこに
  1. コンソールからgeliパスワードを求めて geli で /home をマウントする
  2. マウントがうまくいっていたら、止めていた daemon を forcestart 引数を与えて起動する
とうスクリプトを書きました。さらに、HOMEが /home でない一般ユーザ ugougo を作り、wheel グループに入れました。 今後リモートからブートするときは、
  1. ssh で ugougo でログイン。
  2. su する。
  3. 先ほどのスクリプトを動かして daemon を起動
といいうことをすればOKです。

| | コメント (0) | トラックバック (0)

FreeBSD-8.2 / Intel Celeron でPAEを利用して巨大メモリを認識させる

追記:この記事の続編があります。


FreeBSD-8.x におけるPAEカーネルの作り方について、わかりやすくかかれた日本語のドキュメントがなかったので、それの説明を兼ねて備忘録。


自分が管理している某マシンが、bootしなくなってしまいました。おそらく、マザーボード上の水銀電池やコンデンサーの問題のようでしたが、スペックとしてもかなり古く動作も遅いマシンだったので、この際ということで単純な修理より大改造を行なうことにしました。

交換するのは次の3つの部品。購入価格も概算で併記するとこうなりました。

  • 購入時にもっとも安かった CPU一式: Intel Celeron 430 Box ( 1.8GHz ) 3,500円(→実は失敗)
  • CPUに合わせた Socket で、ATAのHDDでも動くマザーボード: ASUS P5G41C-M LX 5,000円
  • Memory: 8GB(4GB 2枚セット)で 4,200円

合計で 12,000円を少し越える程度。他には、HDD、キーボード、マウス、ケース、電源は現在使用中のものを流用し、モニタはサーバーなのでインストール時以外は不要でした。

あとで気が付いたのですが、8GBのメモリーが安いからとホイホイかってしまって、いざ FreeBSD で動かそうとすると4GBまでしか認識しないという事態。i386 用の FreeBSDのアドレス空間は 32bit で振られているので、メモリの上限は4GBなんだと。それを突破するには、アドレスを 36bit にする PAE という方法を使わなければならないということでした。最初から Intel にしないで、 AMD の CPU にしておけばよかったのでした。

てなわけで、PAEを使うことになるのですが、これが困ったことに、日本語でかかれた割と新しい説明がない。 しかたないので英語の方で読んで作業をしたのですが、せっかくなのでメモをのこしました。


  1. rootになって、カーネルソースを最新にしておく。この辺の説明は適当に調べて下さい。
  2. カスタムカーネルの設定名前を決める。ここでは、HOGEとします。そしたら、次のコマンドを入力して下さい。
    cd /usr/src/sys/i386/conf/
    mv GENERIC GENERIC.original
    cp -p GENERIC.original HOGE
    mv PAE PAE.original
    cp -p PAE.original PAEHOGE
  3. 次に、emacsやviなどで、コンフィグファイル HOGE を編集する。

    かならず

    options PAE
    を入れる。他は適切に。

  4. 次に、emacsやviなどで、PAE用のコンフィグファイル PAEHOGE を編集する。

    まず、冒頭のGENERICという文字があるところの include を、自分のコンフィグに変える。

    include HOGE
    次に、identを変える。
    ident PAEHOGE
    以上(2行のみ)を変更する。他は触ってはいけない。

    以上の修正により、コンフィグファイル PAEHOGEが呼び出されると、 そのなかの include で、HOGEが読み出されて設定され、 その後、PAEHOGEの下の行で PAEとぶつかるデバイスはすべて nodevice で除去されるということになります。

  5. カーネル再構築をする。ただし、ここで重要なのは、カーネル名が HOGE ではなく、PAEHOGE となることです。
    cd /usr/src/
    make KERNCONF=PAEHOGE buildkernel
    make KERNCONF=PAEHOGE installkernel
    reboot

    これでうまくbootすれば、メデタシメデタシ。しかし、やっぱり最初からamdにしておけばよかった。だって、PAEカーネルだと agpgart が駄目で、結果として X11は動かないんですよ。(サーバだったので平気ですけど…)

| | コメント (0) | トラックバック (0)

2011年5月 5日 (木)

Windows 7が入ったパソコンを無線LANのアクセスポイントにする

最近、ツイッターばかりでブログをほとんど書いていないのですが、ツイッターでは書きにくい話が出来た(?)ので、こちらに記します。


Windows 7には、SoftAPという、パソコンを無線LANのアクセスポイントにする機能があるのですが、これの設定方法が書かれたページが少なく、諸説多いので、僕も参戦(?)してみようと思いました。

といっても、マイクロソフトのことは詳しくないので、簡単に how to を記します。

構成

  • Windows 7で動作しているパソコン
    • イーサーネットケーブルや、FOMA, UQWiMAX, e-mobileなどのダイヤルアップでインターネットに繋がる
    • 無線LANのインタフェース
  • 子機は、WPA2-PSKでの暗号化通信ができるものであればなんでもOK。(たいていのパソコン(XP以降やMac OS X)や、iPodなどはOKです。Nintendo DSはダメだったはず。)

手法

  1. 無線LANデバイスの電源をONにしておく。(一部のノートパソコンなどに限っての話。)
  2. 次の内容のファイルを AP-init.bat などの名前で保存する。
    netsh wlan set host mode=allow
    pause
  3. AP-init.batのアイコンの上で右クリックし、管理者として実行をする。pauseで画面が止まって状況が見えるので、どんなことが起こっているかを見物しておく。
  4. スタート→ネットワークの上で右クリック→プロパティ→左上のアダプターの設定の変更をひらく。
    1. 「ワイヤレス ネットワーク接続 2」が現れているのを確認する。これが出てこないときは、おそらく無線LANのデバイスが対応機種ではないので諦めてください。
    2. 「ワイヤレス ネットワーク接続 2」をダブルクリックし、プロパティをひらいて、「インターネットプロトコルバージョン6」を外す。「インターネットプロトコルバージョン4」をダブルクリックし、「次のIPアドレスを使う」を選んで、IPアドレスとして 192.168.137.1 を、ネットマスクとして 255.255.255.0 を入れ、ほかは空欄にする。(注意: 192.168.137.1 以外の値を入れる場合はSoftAPのDHCP機能を使用できないので、あとで困る。)
    3. インターネットとの接続に使っているアイコンの上で右クリック→プロパティ→共有タブをひらいて、「ネットワークの他のユーザーに…」をチェックし、その下のホームネットワークとして「ワイヤレス ネットワーク接続 2」を選択する。その下のチェックボックスもチェック(してよいとおもう)。OKを押して閉じる。
    4. インターネットとの接続に使っている接続がダイヤルアップの場合に限って、右クリックで「既定の接続」にするという作業をしておく。
  5. 次の内容のファイルを AP-on.bat などの名前で保存する。なお、以下の1行目のmyssidは、子機とパソコンをつなぐ無線LANのSSIDになるので、既存のものと同じにならない範囲で、自分で自由に決めてよい。また、その右のabc12345は、そのSSIDで接続する際のWPA2-PSKの暗号化キーとなるので、自分で自由に決めてよいが接続したい人以外には教えないこと。
    netsh wlan set hostednetwork mode=allow ssid=myssid key=abc12345 keyusage=persistent
    netsh wlan start hostednetwork
    netsh wlan show settings
    pause

    (なお、1行目は netshで始まって persistentで終わる長い行なので、このブログ記事の表示の途中で折り返されていても、入力は1行で行ってください。)

  6. AP-on.batのアイコンの上で右クリックし、管理者として実行をする。pauseで画面が止まって状況が見えるので、どんなことが起こっているかを見物しておく。
  7. これで接続できるはずです。子機から試してください。
  8. 次の内容のファイルを AP-off.bat などの名前で保存する。
    netsh wlan set host mode=disallow
    pause
  9. 使用を停止するときは、AP-off.batのアイコンの上で右クリックし、管理者として実行をする。pauseで画面が止まって状況が見えるので、どんなことが起こっているかを見物しておく。

とりあえず以上です。一度使えるようになったら、その後は AP-init.bat, AP-on.bat, AP-off.bat を起動することで、動作させたり止めたりすることができます。また、インターネットにつないでいるネットワークが環境で変わるときは、そのたびに、そのインターネットに繋ぐアダプタの方の共有タブの設定を変えてください。

なお、Mac OS X にも、同様のインターネット共有機能がありますが、無線LANに使われる暗号化の方式が、既に解読されてしまっているWEPしか選べません。(なので、Nintendo DSは、Macをアクセスポイントにするなら繋がる。) Appleさんには頑張って欲しいです。

参考

| | コメント (0) | トラックバック (0)

2011年4月 4日 (月)

「八百長事件と地域通貨」の続き

2008年12月14日に、「八百長事件と地域通貨」という題名の記事を書いたが、その記事で予想(?)した通りの展開になりつつあるので、当該記事のURLを改めて掲示します。

で、今日でてきた記事がこれ↓です。

どうでしょうか?「情け」は地域通貨になりつつあるという気がしませんか?

| | コメント (0) | トラックバック (0)