1: 2009-08-20 (木) 00:21:14 maruo[5] [6] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | [[玄箱HGにGentoo格闘記]] | ||
+ | *入れるも何も [#l50e7619] | ||
+ | まずは情報収集から。 | ||
+ | |||
+ | -[[玄箱にGentoo:http://raccy.xrea.jp/pukiwiki/pukiwiki.php?%5B%5B%B8%BC%C8%A2%A4%CBgentoo%5D%5D]] | ||
+ | -[[玄箱でGentooLinuxを動かす:http://www.7501.net/~matsuu/index.php?%B8%BC%C8%A2%A4%C7GentooLinux%A4%F2%C6%B0%A4%AB%A4%B9]] | ||
+ | -[[LinkStation/玄箱をハックしよう:http://www.yamasita.jp/linkstation/]] | ||
+ | -[[玄箱うぉううぉう♪:http://kuro.kaguya.biz/]] | ||
+ | |||
+ | よ~くよく調べてみると、なんだかモーレツに難しいらしい。というのも | ||
+ | +カーネルはFlashROMに書き込まれている | ||
+ | +独自フォーマット | ||
+ | +ブートローダ・カーネルがブートできないと素人では復旧不可 | ||
+ | +シリアルコンソールがデフォルトで無い。ケーブルを引っ張りださないといけない | ||
+ | |||
+ | すなわち、自宅でやるのはかなり時間がかかるということ。まずシリアルコンソール引き出しケーブルの自作、FlashROMとフォーマットの解析(これは既に済んでいるらしいが)、デバッグ用のJTAGの入手(200万円ぐらいするだよなー)。ありえねぇな…せめてシリアルコンソールとカーネルはHDに置いておくぐらいはやって欲しかった…uboot使えばHDからブートぐらいできるだろぉに… | ||
+ | と、言うことをいろいろ調べていたら、すばらしいツールがあることを発見いたしました!! | ||
+ | |||
+ | *loader.o [#z48df035] | ||
+ | これは、Linuxのカーネルモジュールで、起動済みのLinuxカーネルにモジュールロードすることによってカーネルを2段ブートするものです。このページの一番下に、 | ||
+ | -ソースアーカイブ | ||
+ | -うちで動いている実行可能バイナリ | ||
+ | |||
+ | を置いておきます。これを使うと、カーネル2.6でもブート可能!!なのです。 | ||
+ | |||
+ | *ではやってみよう [#d3da9b92] | ||
+ | |||
+ | 先に書いておきますが、[[ProjectGentoo:http://www.kurobox.com/online/tiki-index.php?page=ProjectGentoo]]なるプロジェクトが海外のwww.kurobox.comにありまして、活発に活動している模様。2.6.15のkurobox-kernelもGentooPortageに取り込まれる予定らしいので、玄箱用インストール手順が正式に整備される可能性があります。ここで書いたやり方よりも便利になることもありますので、お気をつけくださいね…でも多分ルート2面で2段ブート、って形になるんじゃないかな…??ProjectsGenTooという先行プロジェクトもあったので、成果がマージされるんだと思うんですけどね... | ||
+ | |||
+ | **今回のポイント [#nc431e84] | ||
+ | おいちゃんがやるべきLinux2.6化では、NPTL化が必要。NPTLはGentooの場合カーネル2.6でなければ動かない。んで、玄箱用2.4.17カーネルがNPTL化しているかどうかはちっともわからない。なので、2.6カーネル向けに、別のルートディレクトリを用意してやることにしました。 | ||
+ | |||
+ | **参考に:EMモード起動のしかた [#qdc47dec] | ||
+ | EMモードとは、玄箱購入時、かならず起動するファームモードです。HDDなしでも、フラッシュ領域で起動する緊急用Linuxと考えてください。これの起動を知ってると、動かなくなったときに便利、かも。 | ||
+ | |||
+ | 玄箱にTelnetして、EMモードで起動します。 | ||
+ | # echo "NGNG" >/dev/fl3 | ||
+ | えふ''いち''さんでは無くてえふ''える''さんですよ。だまされないでね?おいちゃんはだまされますた…でリブートしたら、EMモード起動時のデフォルトIPアドレス192.168.11.150にTelnetできるようになります… | ||
+ | 解除のしかたは | ||
+ | # echo "OKOK" >/dev/fl3 | ||
+ | えふ''える''さんですよ。これでリブートすると、今度はHDDをマウントしてあがって来てくれます。 | ||
+ | |||
+ | **1strootの作り方 [#g4086c61] | ||
+ | **その1:Debian化ツールでも使用して [#j753c806] | ||
+ | [[玄箱うぉううぉう♪:http://kuro.kaguya.biz/]]さんに、Debian化キットが置いてありますので、これで/dev/hda1を作ります。 | ||
+ | |||
+ | **その2:GentooBeta1を使う [#x67bb286] | ||
+ | おいちゃんはこの方法でやりました。[[このページ:http://www.kurobox.com/online/tiki-index.php?page=InstallGentooBeta1]]にGentooBeta1のインストール方法は書いてあるっす。これ見てやってみてください。 | ||
+ | |||
+ | **どれが良いか?? [#p4adfa4e] | ||
+ | 一番便利なのはDebian化キットを使うやつでしょうね…この後に続くカーネル2.6.15のコンパイルとかを考えると、ね…コンパイラとかインストールしないといかんですし。GentooBeta1は基本がGentooなので | ||
+ | おいちゃんは使いやすいですが、猛烈に時間を食います!!!一昼夜…万人にはお勧めできません…玄箱標準ルートを使う方法も考えたのですが、正直この後のlinux2.6.15のコンパイルとかがめんどーくさそう… | ||
+ | |||
+ | *ここからが本番です [#s7d32101] | ||
+ | **2ndrootを作る [#bf5f6d43] | ||
+ | さて。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へのシンボリックリンクとして作る | ||
+ | |||
+ | これぐらいやっておけばまず大丈夫。 | ||
+ | |||
+ | **1strootにてカーネルコンパイル [#y5b3afad] | ||
+ | 次に、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します。そして… | ||
+ | |||
+ | |||
+ | **loader.oにて2.6.15起動! [#ta42d050] | ||
+ | # 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入れた人は…自動起動したい場合はなんかシェルスクリプト作りましょう。 | ||
+ | |||
+ | *後は… [#obd5fef1] | ||
+ | 好き勝手やってください。make.conf編集して、emerge sync; emerge -uD world ..... |
(This host) = https://femt.ddo.jp