玄箱HGにGentoo格闘記

入れるも何も anchor.png

まずは情報収集から。

よ~くよく調べてみると、なんだかモーレツに難しいらしい。というのも

  1. カーネルはFlashROMに書き込まれている
  2. 独自フォーマット
  3. ブートローダ・カーネルがブートできないと素人では復旧不可
  4. シリアルコンソールがデフォルトで無い。ケーブルを引っ張りださないといけない

すなわち、自宅でやるのはかなり時間がかかるということ。まずシリアルコンソール引き出しケーブルの自作、FlashROMとフォーマットの解析(これは既に済んでいるらしいが)、デバッグ用のJTAGの入手(200万円ぐらいするだよなー)。ありえねぇな…せめてシリアルコンソールとカーネルはHDに置いておくぐらいはやって欲しかった…uboot使えばHDからブートぐらいできるだろぉに… と、言うことをいろいろ調べていたら、すばらしいツールがあることを発見いたしました!!

Page Top

loader.o anchor.png

これは、Linuxのカーネルモジュールで、起動済みのLinuxカーネルにモジュールロードすることによってカーネルを2段ブートするものです。このページの一番下に、

  • ソースアーカイブ
  • うちで動いている実行可能バイナリ

を置いておきます。これを使うと、カーネル2.6でもブート可能!!なのです。

Page Top

ではやってみよう anchor.png

先に書いておきますが、ProjectGentooなるプロジェクトが海外のwww.kurobox.comにありまして、活発に活動している模様。2.6.15のkurobox-kernelもGentooPortageに取り込まれる予定らしいので、玄箱用インストール手順が正式に整備される可能性があります。ここで書いたやり方よりも便利になることもありますので、お気をつけくださいね…でも多分ルート2面で2段ブート、って形になるんじゃないかな…??ProjectsGenTooという先行プロジェクトもあったので、成果がマージされるんだと思うんですけどね...

Page Top

今回のポイント anchor.png

おいちゃんがやるべきLinux2.6化では、NPTL化が必要。NPTLはGentooの場合カーネル2.6でなければ動かない。んで、玄箱用2.4.17カーネルがNPTL化しているかどうかはちっともわからない。なので、2.6カーネル向けに、別のルートディレクトリを用意してやることにしました。

Page Top

参考に:EMモード起動のしかた anchor.png

EMモードとは、玄箱購入時、かならず起動するファームモードです。HDDなしでも、フラッシュ領域で起動する緊急用Linuxと考えてください。これの起動を知ってると、動かなくなったときに便利、かも。

玄箱にTelnetして、EMモードで起動します。

# echo "NGNG" >/dev/fl3

えふいちさんでは無くてえふえるさんですよ。だまされないでね?おいちゃんはだまされますた…でリブートしたら、EMモード起動時のデフォルトIPアドレス192.168.11.150にTelnetできるようになります… 解除のしかたは

# echo "OKOK" >/dev/fl3

えふえるさんですよ。これでリブートすると、今度はHDDをマウントしてあがって来てくれます。

Page Top

1strootの作り方 anchor.png

Page Top

その1:Debian化ツールでも使用して anchor.png

玄箱うぉううぉう♪さんに、Debian化キットが置いてありますので、これで/dev/hda1を作ります。

Page Top

その2:GentooBeta1を使う anchor.png

おいちゃんはこの方法でやりました。このページにGentooBeta1のインストール方法は書いてあるっす。これ見てやってみてください。

Page Top

どれが良いか?? anchor.png

一番便利なのはDebian化キットを使うやつでしょうね…この後に続くカーネル2.6.15のコンパイルとかを考えると、ね…コンパイラとかインストールしないといかんですし。GentooBeta1は基本がGentooなので おいちゃんは使いやすいですが、猛烈に時間を食います!!!一昼夜…万人にはお勧めできません…玄箱標準ルートを使う方法も考えたのですが、正直この後のlinux2.6.15のコンパイルとかがめんどーくさそう…

Page Top

ここからが本番です anchor.png

Page Top

2ndrootを作る anchor.png

さて。2ndrootを作りましょう。fdisk使って/dev/hda3を作ります。そこをお好みのフォーマットでフォーマット。さらにGentooのPowerPC版Stage3を持ってきてやって、/dev/hda3に展開します。

このStage3。きっとNPTL対応でコンパイルされているだろうから、このルートで後々起動可能なように設定しておいてやりましょう。ここでは、/dev/hda3を/mnt/gentooにマウントしたと仮定して。

  • /mnt/gentoo/etc/conf.d/netを設定。DHCPにしたら駄目ですよ!dhcpcd入ってないですからね…アドレスをしっかり設定してやりましょう...
  • /mnt/gentoo/etc/fstabを適切に設定
  • /mnt/gentoo/etc/runlevels/defauntの下に、/etc/init.d/sshdへのシンボリックリンクと、/etc/init.d/net.eth0へのシンボリックリンクを作る
  • /mnt/gentoo/etc/init.d/net.eth0を/etc/init.d/net.loへのシンボリックリンクとして作る

これぐらいやっておけばまず大丈夫。

Page Top

1strootにてカーネルコンパイル anchor.png

次に、linux2.6.15のカーネルソースを持ってきて、このページについているkurobox-sources-2.6.15.2ntp.patchを当ててやります。ちなみにlinux-2.6.15-gentoo-r1にもパッチは当たりました。

# tar jxvf linux-2.6.15.tar.bz2
# cd linux-2.6.15
# patch -p1 < kurobox-sources-2.6.15.2ntp.patch

んで、配下にあるconfig_kuroboxもしくはconfig_kuroboxhgを、.configにコピーしてさし上げます。で、以下を実行

# make oldconfig
# make menuconfig
 /dev/hda3で使用したファイルシステムをカーネルに組み込んでやってね。モジュールとかになってるとブートできません…
# make vmlinux
# make modules
# make modules_install

ここで、直下にvmlinuxが出来ていますよね。以下のコマンドを実行

# objcopy -O binary vmlinux

さて、お立会い。このページのloader.oを、/lib/modules/2.4.17_mvl21/extraとか適当にディレクトリ作って、depmod -aします。そして…

Page Top

loader.oにて2.6.15起動! anchor.png

# sync; modprobe loader kernel=vmlinux cmdline="root=/dev/hda3"

どーだ!!!ブートにしばらくかかると思うので、しばらくしたら、前に/mnt/gentoo/etc/conf.d/netに設定したアドレスにsshでつないで見ましょう。接続できましたか?uname -a打ってみましょう

Linux 2.6.15-kurobox #1 PREEMPT Sat Jan 28 05:01:16 JST 2006 ppc 82xx PC8241 GNU/Linux

こんな表示出た?

# df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/hda3              4891620    965716   3925904  20% /
udev                     63596        68     63528   1% /dev
none                     63596         0     63596   0% /dev/shm

こんな表示になった?おめでとうございます…

Debian化キット使ってる人は、Debianルートの方の/bootにvmlinuxを置いておくと、勝手に2.6.15でブートしてくれるみたい。カーネルコンパイル時のCONFIG_CMDLINEに

CONFIG_CMDLINE="root=/dev/hda3 loglevel=7"

と書き込んでおけば、勝手にGentooでブートしてくれるでしょう。

GentooBeta1入れた人は…自動起動したい場合はなんかシェルスクリプト作りましょう。

Page Top

後は… anchor.png

好き勝手やってください。make.conf編集して、emerge sync; emerge -uD world .....


Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 4344, today: 1, yesterday: 0
Princeps date: 2009-08-20 (Thu) 00:21:14
Last-modified: 2009-08-20 (Thu) 00:23:09 (JST) (5150d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード