↑ 「FreeBSDで遊ぼう」のページへ

↑ 「デスクトップ環境の構築(KDE4 on FreeBSD 9.x)」のページへ

↑ トップページへ

★ [SilverSackの自画自賛] FreeBSDで遊ぼう

★

 デスクトップ環境の構築(KDE4.14.3 on FreeBSD 9.x) - 1'. FreeBSDのインストールとGUI環境構築前に行う作業(マルチブート用)


Ver.9.0から導入された新インストーラbsdinstallでは、既存パーティションへのインストールはできないようで、サードパーティのブートマネージャーを生かしたまま、FreeBSD 9.0のメディアからインストールすることはできないようです。何とかする方法の一つとして、ここでは「PC-BSD 9.0」のDVDメディアを使用したインストール方法を説明します。とはいっても、かなり気配りの欠けたインストーラなので、現時点では、「8.xをインストールして、freebsd-updateで9.0にする」というのが、もっとも賢明な方法だと思います。

  1. FreeBSDのインストール

    1. インストール前に用意しておく情報

      インストールの途中で、入力を求められる情報があって、そのためにインストール前に調べて揃えておかなければいけない情報があります。ここでは、それをまとめておきます。

      • ネットワーク関連の情報
        まずは、DHCPを使うかどうか(IPアドレスを自動取得とするかどうか)。
        DHCPを使わない場合、
        • IPアドレス
        • DNSサーバーのアドレス
        • サブネットマスク
      • 自分のユーザー設定情報
        • ログインID
        • パスワード
        • フルネーム
      • ディスク容量
        「30GB+自分で使う容量」を用意して下さい。KDE4とか規模の大きいプログラムのコンパイルとか、配布ファイルとか、パッケージ(ここではインストールしたソフトウェアについて、パッケージを作成する設定にしています)とかでかなりの容量を使うので、インストールの時点で30GB要ります。9.xからは、FreeBSDのインストール中にパーティションを作成するスタイルになったので、悩む必要ないかも知れませんが(今時20GB以下のHDDなんぞないでしょう。)。
      補足 FreeBSDは、その後のアプリケーションのインストールとか、セキュリティアップデートとか、セットアップに関する作業は、大抵、ネットワークに繋がっていないと、まず、できません。なので、インストレーションの段階でネットワークの設定をしておいて、インストールが終わったらネットワークは起動できているという状態にする必要があります。
      FreeBSDは、基本的にrootユーザー(=スーパーユーザー)以外は、できる作業に制限があります。なので、rootでログインしていろいろなことをやりたくなるのですが、rootユーザーに割り当てられるディスク領域(ホームディレクトリ)は、結構少ないので、ホームディレクトリの豊富な一般ユーザーを自分用に作成して、それでログインして、セットワーク作業の時にスーパーユーザーになって作業するという方式を採った方が、間違いが起こりにくくなります。その関係で、インストール時に自分用のユーザー設定はやっておいた方が絶対にいいです。
    2. インストールの手順

      1. CDを入れて起動。
      2. 画面が開くので、"Language" = 「Englishのまま」、"Local Time Zone" = 「Asia Tokyo」、"NTP" = (チェックを外す)を選択して、[NEXT}ボタンを押します。
      3. キーボードのキー配置の選択画面(Keyboard Settings)が聞くので、"Preferred Layout" =「Japan」、"Preferred Variant" = 「None」を選択して、[NEXT}ボタンを押します。
      4. インストールするOSを選択する画面が聞くので、"System to Install" =「FreeBSD」、"Installation Source" = 「DVD」を選択して、[NEXT}ボタンを押します。
      5. インストールするパーティションを選択する画面(Disc for System Installation)が表示されます。Basic Modeでインストールするパーティションを選択して、[NEXT}ボタンを押します。
      6. ログイン関連情報を設定する画面が表示されます。
        1. System Passwordを入力する欄が二カ所あるので、入力します。
        2. ユーザーデータを入力する欄に"User Name"(=ログインネーム)、"Full Name"(=フルネーム)、"Password"(=パスワード-2カ所)、"Shell"(=シェルの選択。デフォルトのcshをshに変更。)を入力してください。
        3. "System Options"タブに移動して、"Custom System Hostname"をチェックし、入力欄に"localhost"と入力します。
        上記の入力が終わったら、[NEXT}ボタンを押します。
      7. 選択内容の確認画面が開くので、内容を確認して、[NEXT}ボタンを押します。
      8. 小ウィンドウで「Start Installation Now?」と確認を求められるので、[YES]を押してインストールを開始します。。
      9. インストールが終わったら、メディアを取り出して、[Finish]ボタンを押します。
  2. GUI環境構築前に行う作業

    ここからの作業は、rootでログインして行ってください。
    1. 追加の環境設定

      PC-BSDのDVDメディアでインストールすると、sysinstallとかbsdinstallとかでやる環境設定が全くないので、ここを手動で補う必要があります。
      1. キーボードの設定

        sysinstallを使ってキーボードの設定をします。コマンドプロンプトで以下のコマンドを打ちます。
           # sysinstall[ENTER]
        sysinstallのメニューが表示されるので、「KEYMAP」を選択し、次に表示されたリストから「JAPANESE 106」を選択して「OK」を押します。
      2. ネットワークインターフェースの設定

        引き続きsysinstallを使ってネットワークインターフェスの設定をします。
        1. 表示されているメニューから「Configure」→「Networking」と辿り、表紙されたリストで「Interfaces」をチェックして、「OK」を押します。
        2. 設定可能なインターフェースが表示されるので、設定したいインターフェースを選択します。
        3. IPv6の設定をするか聞かれるので、適切な方を選択してください。
        4. DHCPを使用するか聞かれるので、適切な方を選択してください。
        5. IPアドレス等のデータを入力する画面が開くので、入力してください。
    2. sendmailの無効化

      /etc/rc.confを開いて、以下の記述を追加します。デスクトップOSとして使う場合には使わないsendmailを立ち上がらせないようにするための記載です。起動時にsendmailがネットワーク探しに時間を使って、起動が遅くなったりするんですが、それを回避するためです。
          sendmail_enable="NO"
          sendmail_submit_enable="NO"
          sendmail_outbound_enable="NO"
          sendmail_msp_queue_enable="NO"
      コマンドプロンプト(#)で、ee /etc/rc.confと打つとエディタが開きます。上記の記載を入力して、[ESC]→[c]→[c]→[Enter]で、保存、[ESC]→[a]→[Enter]で、エディタ終了です。(UNIXの熟練者は、eeではなく、viとやるようですが、私はまだ修行が足りません。)
      ここで再起動します。
    3. portsのFTPサーバーの設定

      portsのサーバーを近くのものにすると、ダウンロードが早く済んで設定が楽なので、その設定をします。/etc/make.confに以下の記載をします。
         MASTER_SITE_OVERRIDE=ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
      こちらのサイトにFTPサーバーの一覧がありますので、必要に応じて指定してください。
    4. PACKAGESITEの指定

      環境構築する際、可能な限りpackageを使いたいので、そのための設定をします。/root/.cshrcに以下の記載を追加してください。
          setenv  PACKAGESITE  ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/
      これは、i386の場合です。amd64の場合は上のURLのi386をamd64に変えてください。
    5. シェアドメモリの拡張

      /etc/sysctl.confを開いて、以下の記述を追加します。FreeBSDでデフォルトで確保してあるシェアドメモリは32MB程度らしく、メモリがふんだんに搭載されている最近の環境であれば、拡張しておいた方がパフォーマンスが上がるそうです。ザクッと搭載メモリの半分くらいをシェアドメモリとして指定してやるのが良いようです。
         kern.ipc.shmmax=搭載メモリ(バイト単位)の半分
         kern.ipc.shmall=上記で設定したshmmax/4096
      (メモリが2GBの場合
         kern.ipc.shmmax=1073741824
         kern.ipc.shmall=262144)
      (メモリが256MBの場合
         kern.ipc.shmmax=134217728
         kern.ipc.shmall=32768)
      コマンドプロンプト(#)で、ee /etc/sysctl.confと打つとエディタが開きます。上記の記載を入力して、[ESC]→[c]→[c]→[Enter]で、保存、[ESC]→[a]→[Enter]で、エディタ終了です。(UNIXの熟練者は、eeではなく、viとやるようですが、私はまだ修行が足りません。)
      なお、メモリ量の確認は、
         # grep memory /var/run/dmesg.boot[ENTER]
      で、できます。
    6. FreeBSDのアップデート

      CDに入っているバージョンが最新とは限らないので、FreeBSDのアップデートをしておきます。コマンドプロンプトから、以下のコマンドを打ってください。(fetchで「アップデートはありません」といわれたら、installは不要ですが。)
         # freebsd-update fetch[ENTER]
         # freebsd-update install[ENTER]
      ここで再起動します。
    7. portsツリーの更新

      アプリケーションをインストールするためにはportsツリーを構築しておかないといけないので、それをここでします。コマンドプロンプトで、以下の入力をして、Enterキーを押します。
         # portsnap fetch && portsnap extract[ENTER]
      10〜30分ほどかかるので、気長に待ちます。
      (&& というのは、一連のコマンドを続けて実行させるための記号です。こんなんを見るとCUIも便利だなと思います。)
    8. portmasterのインストール

      アプリケーションのアップデート管理に使用するportmasterをインストールしておきます。コマンドプロンプトで、以下の入力をして、Enterキーを押します。
         # cd /usr/ports/ports-mgmt/portmaster[ENTER]
         # make config-recursive && make package-recursive clean[ENTER]
      途中、インストールのオプションをどう設定するか効いてくるかもしれませんが、よく分からなければデフォルトのままで進めてください。大抵の場合は、デフォルトで問題ないはずです。
    9. subversionのインストール

      ソースコードを取得するために必要なので、subversionをインストールします。コマンドプロンプトで以下のコマンドを打ちます。
         # portmaster -dP devel/subversion[ENTER]
    10. ソースコードの取得

      ソースコードを取得します。コマンドプロンプトで以下のコマンドを打ちます。
         # cd /usr/src[ENTER]
         # svn checkout svn://svn.freebsd.org/base/releng/9.0/ /usr/src[ENTER]
    11. pserarchのインストール

      アプリケーションのインストールの際にお目当てのアプリの場所を探すのに使うpsearchをインストールしておきます。コマンドプロンプトで、以下の入力をして、Enterキーを押します。
         # portmaster -dP ports-mgmt/psearch[ENTER]
      FreeBSDに標準で用意されているwhereisコマンドでも似たようなことが出来ますが、psearchはports検索用のツールですから、こっちの方が使い勝手がいいです。
    12. デバイスのインストール

      1. サウンドドライバのインストール

        FreeBSDは、インストールしただけではサウンド機能は無効になっています。以下の手順で、サウンドドライバーを起動時に読み込むようにします。
        1. 以下のコマンドを打って、メタドライバを読み込みます。
             # kldload snd_driver[ENTER]
        2. どのドライバを選んだか調べます。コマンドプロンプトで、以下のように打って、サウンドハードウェアの状況を調べます。
             # cat /dev/sndstat[ENTER]
          snd_xxxという表示があったら、これをメモします。ない場合は、サウンドデバイスの情報とおぼしきものをメモって、そのあと/boot/defaults/loader.confファイルを開いて、対応するsnd_xxxを探します。
          それから、サウンドデバイスがpcm0とかpcm1とかいう番号が振られて表示されますが、自分が使いたいサウンドデバイスがpcm0になっていることを確認してください。なっていない場合は、それがpcmの何番になっているか、メモってください。
        3. 起動ファイルに「snd_xxx_load="YES"」といった内容を追記します。
          /boot/loader.confファイルに以下の記述を追加します。
          (サウンドハードウェアがIntel ICHだった場合)
             snd_ich_load="YES"
          対応するドライバが分からなかった場合は、メタドライバを読み込んでください。
             snd_driver_load="YES"
          ただ、こうすると起動時に全部のサウンドドライバを読み込むようで、起動がちょっと遅くなります。
        4. 自分が使いたいサウンドデバイスがpcm0ではなかった場合、/etc/sysctl.confに以下の記述を追記します。
             hw.snd.default_unit=1
          (デフォルトにしたいサウンドデバイスが[pcm1]だった場合。1のところは、デフォルトにしたいサウンドデバイスがpcm2だったときは2にするとか、適宜替えてください。)
      2. CD/DVDドライブの書込設定

        CD/DVDドライブが、再生専用の場合はデフォルトのままで良いですが、書込可能な場合は以下の設定をします。
        1. /boot/loader.confに以下の内容を書き加えます。
             hw.ata.atapi_dma=1
        2. CD/DVDドライブがATA(IDE)接続の場合は、更に以下の内容を書き加えます。(未確認ですが、S-ATAも同様なはずです。)
             atapicam_load="YES"
        3. /etc/devfs.confに以下の内容を書き加えます。
             link    acd0    cdrom                               
             link    cd0    cdrom                               
             link    cd0    dvd                               
             perm    acd0    0666                               
             perm    xpt0    0666                               
             perm    pass0    0666                               
             perm    cd0    0666                               

トラブルシューティング等

今回のセットアップでの主なモジュールのバージョン
subversion 1.7.5
portmaster 3.13.13
psearch 2.0.2

(2012年 4月14日 記
2012年 9月 8日 更新)