chroot-debian26環境の構築 Edit

  • はじめに
    今までdebian26は、オリジナルLANDISKのchroot環境下で動作しませんでした。
    しかし、bash-3.0を用いると、それが可能になることが解りました。
    本ページでは、その方法について簡単に記します。

  • chroot-debian26環境の特徴
    chroot-iohack版debianと同様に以下の特徴があります。

    • LANDISKのオリジナル環境は一切変更しない。
      LANDISKのルートファイルシステムをrwで再マウントすることなしにdebian環境を構築可能。

    • debianディストリビューションをchrootの環境に構築
      debian環境で作業しながら、NAS(LANDISK)としても使用可能。

    • データ領域の共有化
      LANDISKの/mnt/hda3/shareは、debian環境から/shareでアクセス可能。
      当然ながら、ネットワークで接続されたWindowsやMac等からも/shareディレクトリへアクセス可能。

    さらには、下記のような比較的新しい環境が使用可能です。
    • glibc-2.3.5ベース
    • gcc-3.4系の開発環境

    副作用として、kernel-2.6向けのプログラムをkernel-2.4で実行することになるため、互換性問題が多少なりとも発生する可能性があります。具体的には、mysqlやnetatalk等が動作しませんでした。

    ということで、実際にインストールを行ってみましょう。

インストール&設定 Edit

  • rootになる
    省略します。
    まだ、telnetdを組み込んでない方は、LANDISKへログイン を参照してtelnetdを組み込み、rootになってください。

  • ベースパッケージの取得および解凍
    /mnt/hda3/debian26以下にdebian26のシステムをフルインストールします。
    まず、次のベースファイルを用意します。

    次に、ベースファイルを展開します。
    debian26というディレクトリが生成され、その中へシステム一式が展開されます。
    # cd  /mnt/hda3
    # tar vxfzp どこかの/base26-sh4-20050912-bash3.tgz
    ネットワーク関連のファイルをLANDISK環境からコピーします。
    # cp /etc/hosts       /mnt/hda3/debian26/etc/
    # cp /etc/resolv.conf /mnt/hda3/debian26/etc/
    # hostname      >     /mnt/hda3/debian26/etc/hostname
    shareディレクトリを作成します。
    # mkdir /mnt/hda3/debian26/share
  • debian環境の起動・終了スクリプトの作成と実行
    • 起動スクリプト(debian26_start)
      /mnt/hda3/debian26_startを以下の内容で作成します。
      (/mnt/hda3/debian26/boot/chroot/debian26_startを参考までにご用意)
      #!/bin/sh
      root=/mnt/hda3/debian26
      chroot=$root/boot/chroot/chroot
      
      if [ ! -e $root/proc/cpuinfo ]; then
          $chroot $root mount -t proc proc /proc
      fi
      
      if [ ! -e $root/share/disk ]; then
          mount --bind /mnt/hda3/share $root/share
      fi
      
      /etc/rc.d/init.d/S95httpd stop
      sleep 1;
      
      $chroot $root /etc/init.d/mysql restart
      $chroot $root /etc/init.d/apache restart
      $chroot $root /etc/init.d/cron restart
      $chroot $root /etc/init.d/wdm restart
      
      $chroot $root /bin/bash -l
      
    • 終了スクリプト(debian26_stop)
      /mnt/hda3/debian26_stopを以下の内容で作成します。
      (/mnt/hda3/debian26/boot/chroot/debian26_stopを参考までにご用意)
      #!/bin/sh
      
      root=/mnt/hda3/debian26
      chroot=$root/boot/chroot/chroot
      
      PATH=$PATH:/usr/local/bin
      export PATH
      
      $chroot $root /etc/init.d/wdm stop
      $chroot $root /etc/init.d/cron stop
      $chroot $root /etc/init.d/apache stop
      $chroot $root /etc/init.d/mysql stop
      
      killall -HUP debian26_start
      sleep 1;
      
      umount $root/proc
      umount $root/share
      
    • debian環境の起動(終了)
      それぞれのスクリプトに実行属性をセットします。
      # chmod +x /mnt/hda3/debian26_start
      # chmod +x /mnt/hda3/debian26_stop

chroot-debian26の起動 Edit

動作確認 Edit

  • 次のアプリが動作しました。
    • vncserver, wdm, xterm等
    • emacs, anthy等
    • gcc-3.4, g++-3.4, gcj-3.4等の開発環境
    • apache, php4, turck-mmcache
    • samba3
  • 次のアプリが動作しませんでした。
    (本環境でリビルドすれば動きそうな気がしますが、試していません。)
    • mysql
    • netatalk2

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-03-16 (金) 12:48:44 (6414d)