Hack BBS

[全部のスレッド一覧][新規投稿][記事の削除・変更] [Home Page]

返信投稿はタイトルのリンクをクリックして下さい
スレッド【No.2890】の中の記事をすべて表示しています

【No.2890】のスレッド
05/08/22(月) 14:26:50 投稿者[YAHOO] [No.2890]のスレッド内
【No.2890】 タイトル[玄箱/HGでloader.oによるkernel起動] この記事がスレッドの最初です
こんにちは。YAHOOと申します。

初めての投稿ですが、宜しくお願い致します。

状況説明のため、長文となっております。申し訳ありません。

現在、玄箱/HGを購入して、山下さんやたつやさんのホームページを参考に
させて頂き、debian 3.1(sarge)化して、media server( wizrd, mt-daapd )
を導入して使用しております。このdebian 3.1(sarge)化に際しては、特に
問題もなく、ここまでこれたのも山下さん、たつやさんなどの先人のご苦労
があってのことと深く感謝しております。
今後は、kernel moduleの追加やkernelのバージョンアップが必要となるので
この作業を進めております。

H/Wについては、シリアルコンソールの改造はしておりません。
S/Wについては、debian 3.1(sarge)をベースになっており、kernelは
$uname -r
2.4.17_mvl21
$ dpkg -l | grep gcc
ii gcc 3.3.5-3 The GNU C compiler
ii gcc-2.95 2.95.4-22 The GNU C compiler
ii gcc-3.3 3.3.5-13 The GNU C compiler
ii gcc-3.3-base 3.3.5-13 The GNU Compiler Collection (base package)
ii libgcc1 3.4.3-13 GCC support library
# cd /usr/bin
# ln -sf gcc-2.95 gcc

また、たつやさんのホームページから
linux-2.4.17_mvl21-sandpoint_040729.tar.gz
toolchain-powerpc-linux_040728.tar.gz
更に、
http://jan.csie.ntu.edu.tw/~jo/kuro/loader/loader.tar.gz
をダウンロードさせて頂きました。

たつやさんのホームページに従って、
$ cd /mnt/kernel
$ tar -zxvf linux-2.4.17_mvl21-sandpoint_040729.tar.gz
$ cd linux-2.4.17_mvl21-sandpoint
## 現在使用しているkernelのバージョンに合ったloader.oを作成するため
$ vi include/linux/version.hで修正

- #define UTS_RELEASE "2.4.17_mvl21-sandpoint"
+ #define UTS_RELEASE "2.4.17_mvl21"

$ mv .hhl_cross_compile .hhl_cross_compile.org
$ mv .hhl_target_lspname .hhl_target_lspname.org
$ make modproper
$ make hdhglan_config
$ make dep zImage
$ objcopy -O binary vmlinux vmlinux.bin
# cp -p vmlinux.bin /boot/
$ cd /mnt/kernel
$ tar -zxvf loader.tzr.gz
$ cd loader
$ make clean
$ make
# chown root:root loader.o
# cp -p loader.o /lib/modules/2.4.17_mvl21/kernel/
# cd /usr/local/sbin
# vi loader.sh を作成
#!/bin/bash

sync
sync
speep 30
insmod /lib/modules/2.4.17_mvl21/kernel//loader.o kernel=/boot/vmlinux.bin

# chown root:root loader.sh
# ./usr/local/sbin/loader.sh&
# exit( suをexit)
$ exit( telnet session closed)

3〜5分経過後、telnet,pingを打っても、なにも応答なし。

更に、山下さんのLink Station/玄箱 Hack BBS内の
記事番号【No.2554】
投稿者:oyajingさん
タイトル:Re: loader.oでのカーネル入れ換え
を参考にして、
$ make kurobox_config
$ make menuconfig
Network device support ---> Ethernet (1000 Mbit) --->
<*> Realtek R8110S/R8169S support
[*] Support RTL8169 Jumbo Frame
$ make dep zImage
$ objcopy -O binary vmlinux vmlinux.bin
$ su
# cp -p vmlinux.bin /boot
# /usr/local/sbin/loader.sh&
# exit
$ exit

3〜5分経過後、telnet,pingを打っても、なにも応答なし。

更に、
# cd /etc
# cp -p kuro_load_param kuro_load_param.org
# vi kuro_load_paramを修正

- LOADER="/lib/modules/2.4.17_kuro-box/kernel/loader.o"
+ LOADER="/lib/modules/2.4.17_mvl21/kernel/loader.o"

# sync;sync;sleep 30;init 3&
を実行しても、3〜5分経過後、telnet,pingを打っても、なにも応答なし。

以上の結果となっております。debian 3.1(sarge)の場合、
どのようにしたら、loader.oを使ってkernelを起動できてtelnetで
loginできるようになるのでしょうか?

 #山下さんのハックの記録では、linux-2.4.20ベースのカーネルでは
 #ちゃんと起動しているようですが、HD-HGLANは購入していないので
 #ソースCDを購入できないし...(^_^;;




05/08/24(水) 22:03:15 投稿者[TACOS] [No.2890]のスレッド内
【No.2905】 タイトル[Re: 玄箱/HGでloader.oによるkernel起動] 【No.2890】に対する返信
はじめまして。
うちもHGですがたつやさんのサイトの手順で起動はできました。
ちゃんと設定していないのでAVRが勝手に電源をきってしまいますが・・・
手順も忘れてしまいました。

>$ make hdhglan_config

のあとに meke oldconfig が無いの気になりますが
関係ないですかね?


05/08/24(水) 22:58:06 投稿者[YAHOO] [No.2890]のスレッド内
【No.2906】 タイトル[Re: 玄箱/HGでloader.oによるkernel起動] 【No.2905】に対する返信
>はじめまして。

はじめましてTACOSさん、宜しくお願い致します。

>うちもHGですがたつやさんのサイトの手順で起動はできました。

そうですか、うまく起動できている方もいらっしゃるんですね。
ちょっと、環境を確認させて下さい。私は、debian 3.1(sarge)を
ベースにgccは2.95、ldは2.15でコンパイルとリンケージを実施して
います。どちらも、apt-getでインストールしております。

 gccの3.3.5ではコンパイルできませんでした。

TACOSさんの環境はどのような環境でしょうか?

更に、toolchain-powerpc-linux_040728.tar.gzをx85のLinux(debian 3.1)
のPCに展開してcross compileしたものを玄箱/HGにftpして
objcopy -O binary vmlinux vmlinux.bin
で作成したvmlinux.binもうまくloader.oで起動出来ませんでした。

>ちゃんと設定していないのでAVRが勝手に電源をきってしまいますが・・・

そうですか、こちらは事前に調査してみます。貴重な情報ありがとう
ございました。

>>$ make hdhglan_config
>
>のあとに meke oldconfig が無いの気になりますが

TACOSさんはやはり、make hdhglan_configで.configを作成された
んでしょうか?

いえ、今は自分としては煮詰まった状態ですのでありがたいです。
で、早速試してみました。しかし、相変わらず3〜5分経過後も、
telnet,pingを打っても、なにも応答なしの状態でした。残念。

山下さんのハックの記録の
2005/05/14 玄箱/HG のカーネル入れ換え
2005/05/30 玄箱/HG のカーネル入れ換え(2)
2005/05/31 loader による玄箱の別カーネル起動
2005/06/03 loader による玄箱の別カーネル起動(2)
などの記録を拝見させて頂くとkernelのversion、libraryのversion、
.configのパラメータなども関係しているようで確認する組み合わせ数
が多くてどうしたら良いのかわからず、投稿させて頂きました。

皆様の情報を集めさせて頂き、どのような条件が必要かをまとめさせて
頂きたいと思いますので宜しくお願い致します。

05/08/25(木) 00:02:05 投稿者[TACOS] [No.2890]のスレッド内
【No.2908】 タイトル[Re: 玄箱/HGでloader.oによるkernel起動] 【No.2906】に対する返信
>TACOSさんの環境はどのような環境でしょうか?

うちは、なんちゃって Gentoo Linux を利用しています。
matsuuさん、らっしーさんのサイトを参考に構築しました。
gcc は 3.4.4 、2.95.3 の両方が入っています。
3.4.4ではカーネルコンパイル時に怒られてしまうので
2.95.3でセルフコンパイルしました。(loaderも)

カーネルのコンパイル方法は、たつやさんのサイトを参考に
loader.o のコンパイル使用方法は、 n0nt!tl3さんのサイト
を参考に行いました。

カーネルソースはたつやさんのサイトから
linux-2.4.17_mvl21-sandpoint_050131.tar.gz
をftpでゲットし利用しました。YAHOOさんの利用されている
バージョンでは試していません。

hdhglan_config は利用せず、kurobox_defconfig をベースに
NICドライバ選択だけ変更したものを利用しました。
これも失敗でメインメモリが64MBの認識になってしまいました。
ここも何とかしないとな〜と思いながら早1ヶ月。

自分のスキルではつらいものがあります。
世の中には、2.6系カーネルを起動させている方も
NetBSDを起動されている方もいらっしゃるのに・・・

あまりお力にはなれませんが、頑張って下さい。


05/08/25(木) 21:51:19 投稿者[YAHOO] [No.2890]のスレッド内
【No.2910】 タイトル[ビンゴ!!玄箱/HGでloader.oでkernelが起動できました] 【No.2908】に対する返信
こんばんは、TACOSさん。

 #他の方の参考になればと思い、長文となってしまいました。

>うちは、なんちゃって Gentoo Linux を利用しています。

そうですか、私の環境debian 3.1( sarge )とはベースが違うようですね。

>gcc は 3.4.4 、2.95.3 の両方が入っています。
>3.4.4ではカーネルコンパイル時に怒られてしまうので
>2.95.3でセルフコンパイルしました。(loaderも)

私の場合も、3.3.5、2.95.4の両方が入っており、3.3.5では同様にカーネル
コンパイル時に怒られてしまうので、2.95.4でセルフコンパイルしています。
gccのrevisionが若干私の方が新しいようですが、kernelとloaderをコンパイル
しているのはほぼ同じ(?)条件のようですね。一安心しました。

>カーネルのコンパイル方法は、たつやさんのサイトを参考に
>loader.o のコンパイル使用方法は、 n0nt!tl3さんのサイト
>を参考に行いました。

私も、お二方のサイトを参考にさせて頂きました。助かっております。

>カーネルソースはたつやさんのサイトから
>linux-2.4.17_mvl21-sandpoint_050131.tar.gz
>をftpでゲットし利用しました。YAHOOさんの利用されている
>バージョンでは試していません。

http://linkstation.yi.org/index.php?cmd=read&page=Kernel_source%2FDownload
からでは、linux-2.4.17_mvl21-sandpoint_040729.tar.gzしかdownload
できないようですね。internetを検索してみたら、なんと
ftp://linkstation.yi.org/pub/linkstation/kernel/
のdirectory list上に
linux-2.4.17_mvl21-sandpoint_050131.patch.gz
linux-2.4.17_mvl21-sandpoint_050131.tar.gz
というファイルがありました。こちらを使われたんですね。

では、早速試してみます。
$ cd /usr/src
$ wget ftp://linkstation.yi.org/pub/linkstation/kernel/linux-2.4.17_mvl21-sandpoint_050131.patch.gz
$ zgip -d linux-2.4.17_mvl21-sandpoint_050131.patch.gz
$ cd linux-2.4.17_mvl21-sandpoint
$ patch -p1 < ../linux-2.4.17_mvl21-sandpoint_050131.patch
!!! patchがはじかれていないかを確認
$ find ./ -name "*.rej" -print
!!! *.rejファイルは発生していないので全てのpatchがあたったようです。
$ make mrproper
$ make kurobox_config
$ make menuconfig
!!! Network device support ---> Ethernet (1000 Mbit) --->
!!! <*> Realtek R8110S/R8169S support をselectして
!!! .configを確認
$ grep 8169 .config
CONFIG_R8169=y
# RTL8169_JUMBO_FRAME_SUPPORT is not set
$ make dep kernimg.bin
$ objcopy -O binary vmlinux vmlinux.bin
# cp -p vmlinux.bin /boot/
!!! いざ、reboot...の前に、他のpcからpingを打っておいて
!!! 今度こそreboot。うまくいくかな?
# sync; insmod loader.o kernel=/boot/vmlinux.bin

私の環境だと、40秒位でLINK/ACTがいったん消灯して
pingに応答がなくなって、そのまま...、うぉぉぉ再度pingに応答している。
もうしばらくシステムが準備完了になるまでじっと1分ほど待ってtelnetして
みると
Debian GNU/Linux 3.1 KURO-BOX
KURO-BOX login:
ちゃんどloginプロンプトが出た〜〜〜ぁ。感激!!
でも、本当に今回コンパイルしたkernelがbootしたか確認、確認。

今までは、
Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.17_mvl21 (root@toda_dev.melcoinc.co.jp) (gcc version 2.95.3 20010315 (release/MontaVista)) #24 2004年 10月 19日 火曜日 17:17:03 JST
だったけれど
$ dmesg | head -3
Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.17_mvl21 (staffx@KURO-BOX) (gcc version 2.95.4 20011002 (Debian prerelease)) #9 2005年 8月 25日 木曜日 12:42:42 JST
KURO-BOX (C) 2004 KUROUTO-SHIKOU.
確かに、2004年 10月 19日 火曜日 17:17:03 JSTから2005年 8月 25日 木曜日 12:42:42 JSTに変わっています。もちろん、作成者も変わっています。

TACOSさんのアドバイスで大きな一歩が踏み出せました。ありがとう
ございました。

>これも失敗でメインメモリが64MBの認識になってしまいました。
>ここも何とかしないとな〜と思いながら早1ヶ月。

確かに、
make kurobox_config+Realtek R8110S/R8169S support selectでkernelを
buildすると
Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
となってしまい、64Mbしか認識してくれませんね。

loaderについては、REAEME内に記述されているcmdlineを入力可能にする
patchを適用しているので、memoryに関しては、mem=128Mを指定してみました。

# sync;insmod loader.o kernel=/boot/vmlinux.bin cmdline="mem=128M"
として,kernel bootしましたが、memoryは相変わらず
$ dmesg | head -1
Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
となってしまい、64MBのままでした。この件は、決めうちのpatchですが

--- ./arch/ppc/platforms/sandpoint_setup.c.org 2005-08-25 18:52:34.000000000 +0900
+++ ./arch/ppc/platforms/sandpoint_setup.c 2005-08-25 19:26:01.000000000 +0900
@@ -406,6 +406,8 @@
#else /* CONFIG_LINKSTATION_HGLAN */
size = 64*1024*1024;
#endif /* CONFIG_LINKSTATION_HGLAN */
+/* added YAHOO 2005.08.25 KURO-BOX/HG momory size=128MB */
+ size = 128*1024*1024;

return size;
}

 #でもなんでCONFIG_LINKSTATION_HGLAN=yが効かないのかな?

上記のpatchを適用してからkernelをbuildしてloare.oでbootすれば

$ dmesg | head -1
Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb

のように128Mbを認識してくれました。

因みに、
$ cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 130301952 55025664 75276288 0 14966784 24203264
Swap: 263200768 0 263200768
MemTotal: 127248 kB
MemFree: 73512 kB
MemShared: 0 kB
Buffers: 14616 kB
Cached: 23636 kB
SwapCached: 0 kB
Active: 12236 kB
Inactive: 36684 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 127248 kB
LowFree: 73512 kB
SwapTotal: 257032 kB
SwapFree: 257032 kB

本当に、適切なアドバイスありがとうございました。

>世の中には、2.6系カーネルを起動させている方も
>NetBSDを起動されている方もいらっしゃるのに・・・

早く。2.6系のkernelを起動させたいな〜ぁ。

 #でも、玄箱/HGで動く2.6系のkernel sourceはどこにあるのかな?

最後に、TACOSさん本当にありがとうございました。

05/08/25(木) 22:48:49 投稿者[TACOS] [No.2890]のスレッド内
【No.2911】 タイトル[起動おめでとうございます。] 【No.2910】に対する返信
こんばんは。

カーネル起動おめでとうございます。YAHOOさん。

2.6は、虹野 彼方さんが起動させているようです。
素人よけなのか?ダウンロードは出来ずCD−Rでの配布を
行っていたようです。
ローダ部分のファームの書き換えが必要なようで
自分には怖くて手出しが出来ませんでした。

NetBSDの起動も出来ているのだから適当なパッチを当てれは
loader.oからの起動も出来るのではないかな〜と思っています。

他力本願で誰か作ってくれる人を待ちたいと思っています。

05/08/25(木) 23:16:36 投稿者[YAHOO] [No.2890]のスレッド内
【No.2912】 タイトル[的確なアドバイスをありがとうございました] 【No.2911】に対する返信
>こんばんは。

こんばんは。

>カーネル起動おめでとうございます。YAHOOさん。

ありがとうございます。TACOSさんのご助言がなかったら、解決が
いつになったかわかりません。本当にありがとうございました。

>2.6は、虹野 彼方さんが起動させているようです。
>素人よけなのか?ダウンロードは出来ずCD−Rでの配布を
>行っていたようです。
>ローダ部分のファームの書き換えが必要なようで
>自分には怖くて手出しが出来ませんでした。

H/Wの変更は、技術も工具もなくなかなか手がでません。しかし、
今後のことを考えると先ずは、シリアルコンソールの引き出し、
更には、ファームウェアの書き換えも検討が必要かと思います。

 #でも、難しそうだし、FLASHが飛ぶなどのリスクはちょっと
 #きついかな?

虹野 彼方さんのCD-Rは、今後ご厄介になるとは思いますが、
もう少し修行が必要かなと思っています。

>NetBSDの起動も出来ているのだから適当なパッチを当てれは
>loader.oからの起動も出来るのではないかな〜と思っています。

そうですね、素人にはこちらからの方が敷居が低そうに思えます。
今後、もう少し情報を集めて行きたいと思っています。

>他力本願で誰か作ってくれる人を待ちたいと思っています。

そういわずに、お互いに頑張りましょう!!

余りきれいな対応ではありませんが、memoryも128MBを認識しましたので
お土産に使って見て下さいませ。

それでは、今回は本当に的確なアドバイスをありがとうございました。

05/08/28(日) 00:22:03 投稿者[fさf] [No.2890]のスレッド内
【No.2914】 タイトル[マルチ野郎が] 【No.2912】に対する返信

なにちょうしのってんだか

05/08/24(水) 10:57:36 投稿者[ぽんこつ] [No.2890]のスレッド内
【No.2898】 タイトル[Re: 玄箱/HGでloader.oによるkernel起動] 【No.2890】に対する返信
最新の玄箱うぉううぉう♪さんのDebianイメージなら、/bootにカーネル入れるだけなんで、詳しくは分かりません。
なんか、bootにイメージがあるかないかチェックして、あればそのイメージを起動してくれます。

05/08/24(水) 13:49:10 投稿者[YAHOO] [No.2890]のスレッド内
【No.2900】 タイトル[Re: 玄箱/HGでloader.oによるkernel起動] 【No.2898】に対する返信
ぽんこつさん、返信ありがとうございます。

>最新の玄箱うぉううぉう♪さんのDebianイメージなら、/bootにカーネル入れるだけなんで、詳しくは分かりません。
>なんか、bootにイメージがあるかないかチェックして、あればそのイメージを起動してくれます。
>

長文にもかかわらず、debian化の際の手順の記述を漏らしておりました。
debian化の際には、ご指摘の玄箱うぉううぉう♪さんのDebianイメージ
debian_2005_04_09_dist.tgzを使わして頂きました。

 #現在は、更新されていてdebian_2005_08_21_dist.tgzがdownload
 #できるようです。
 #UNIX USER 2005.9月号読ませて頂きました。

このため、
1)/bootにvmlinux.binをコピー
2)/lib/modules/2.4.17_mvl21/kernelにloader.oをコピー
した後、/etc/kuro_load_paramを
LOADER="/lib/modules/2.4.17_mvl21/kernel/loader.o"
に修正してから、runlevel 3に切り替えました。

しかし、【No.2890】に記述しましたが、
>> sync;sync;sleep 30;init 3&
>>を実行しても、3〜5分経過後、telnet,pingを打っても、なにも応答なし。
となってしまい、うまく新しいkernelが起動してくれません。