[玄箱PRO]入手→Fedora化着手

7月末に、人の買いものに付き添って某家電量販店にいったとき、ふと、目に止まってしまった「玄箱PRO」。そのまま、500GBのHDDとともに購入してしまいました。買ってきて、さて、何に使おうか、と思いつつ、とりあえず、管理しやすい状態にしようと。で、Debian化はいろいろ情報もあったりパッケージがあったりして結構簡単にできそうなんですが、私は普段Fedoraを使っているのでDebianでは使いにくい。

ということで、Fedora化することにしました。その前に、シリアルコンソールからいじれると便利なので、玄箱PRO用シリアルコンソールキット(付けると本体が無保証になる)も買ってきて付けました。と言うわけで、ここにはFedora化の手順を含めて、いろいろ書いていきたいと思います。

本文を少し書き直しました。

Fedora-ARMの入手

全てはここから始まります。

Fedora-ARMのページ:http://fedoraproject.org/wiki/ARM

「Using the Fedora ARM Port」にある「prebuilt root filesystem」(fc6-arm-root-with-rpm.tar.bz2)をゲットします。これは、Fedora-ARM用のrootファイルシステムで、ごくごく基本的な環境およびRPM関連コマンド等が含まれています。 RPM用のDB等もあり、レポジトリ設定もあるので、これをルートに起動できればあとはyumコマンドで必要なものを追加できます。

#どうやらFedora8からはARMが標準対応になる様子。今のところは、Fedora Core 6ベース。

玄箱開発環境の用意(1)

いきなり玄箱PROに突っ込むわけではなく、まずは別環境で展開して、たりないものを追加&既存カーネルでの動作確認をします。

  1. fc6-arm-root-with-rpm.tar.bz2を展開
  2. nfsで玄箱PROに見せる
  3. /etc/exportsに
    (展開した場所)/fc6-arm-root-with-rpm (玄箱のIPアドレス)(rw,no_root_squash)
    を追加

玄箱側の準備・設定

  1. 玄箱でnfsマウント
  2. # mmount -t nfs -o nolock サーバ:パス /mnt/tmp
    ロックしないようにしておかないと、書き込みがうまくいかずにいろいろ困る。
  3. 時間を直す
  4. dateを実行してみると時間が全然違う。
    Sat Jun 16 03:50:03 UTC 2007
    とかでる。とりあえず、時間を直す。UTF時間を調べておいて
    # date -u 090105302007
  5. chrootで/を変える
  6.  # chroot /mnt/tmp
  7. /procをchroot内でマウントし直し
  8. # mount /proc
    これをしておけば、psコマンドがちゃんと反応する。
  9. yumで見に行けるように/etc/hostsを作成
  10. # cat > /etc/hosts 
    127.0.0.1   localhost.localdomain localhost
    83.160.184.112  fedora-arm.wantstofly.org
  11. yumでパッケージをインストール
  12. とりあえず、lessとwhichを入れてみる:
    # yum install which less
    うまくいったら、このあと必要と思われる以下のパッケージをインストール:
    passwd openssh openssh-clients openssh-server
    vim-enhanced vim-common vim-minimal pam_passwdqc
    lftp wget
  13. 全体アップデート
  14. # yum update
  15. /devのコピー
  16. #cp -a /dev /mnt/tmp/

    カーネルがudev対応でないため。たぶん、カーネル作りなおせば不要かな。

  17. デバイスファイルの追加
  18. # MAKEDEV /dev/sda4
    # MAKEDEV /dev/random
    # MAKEDEV /dev/urandom
    /dev関連の作業はカーネル作りなおしにより不要になりました。ただし、いくつかデバイスファイルを作っておく必要があります。 詳細は2007/09/02の記事を参照。
  19. shadowの生成とpasswdの修正
  20. /etc/fstabの生成
  21. proc            /proc           proc    defaults        0       0
    sysfs           /sys            sysfs   defaults        0       0
    devpts          /dev/pts        devpts  gid=5,mode=620  0       0
    tmpfs           /dev/shm        tmpfs   defaults        0       0
    /dev/sda2       /               ext3    rw              0       0
    /dev/sda3       swap            swap    defaults        0       0
    /dev/sda4       /home           xfs     rw              0       0
    sda3のswap領域を書き忘れていたので追記。また、ルート(/)はext3に変更。
  22. /etc/inittabの書き換え:追加
  23. S0:2345:respawn:/sbin/agetty -L ttyS0 115200 vt100
  24. /etc/sysconfig/networkの生成
  25. NETWORKING=yes
    HOSTNAME=qemu-arm-guest

カーネルの構築(1)

以下は失敗したことなのですが、一応メモ。これらはやる意味がないです。

  1. もとのkernelではudevに対応していないので、カーネル作りなおし
  2. # wget http://fedora-arm.wantstofly.org/pub/fedora/linux/core/updates/6/SRPMS/kernel-2.6.20-1.2948.fc6.fa1.src.rpm
  3. ビルド用パッケージインストール:
  4. gcc rpmbuild tar bzip2 gzip m4 make diffutils unifdef
    失敗。どうやらネイティブビルドはできない模様。クロスコンパイルするしかないのか…。昔やったけど、既に忘れてるし…。

Posted by TechStrom on Thursday, August 09, 2007