Hack BBS

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

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

【No.2699】のスレッド
05/06/18(土) 17:41:47 投稿者[goshawk] [No.2699]のスレッド内
【No.2699】 タイトル[ハックキット2.0αインストール後のカーネル入れ換え] この記事がスレッドの最初です
goshawkと申します。

カーネル入れ換えではまっております。
かなり初歩的なことなのかも知れないのですが、このBBSを検索しても手がかりが得られず、
質問させていただきます。
御存じの方がいらっしゃいましたらご教授お願いいたします。

"玄箱をハックしよう"を購入して早速ハックキット2.0αで玄箱HGにvine環境をインストール
しました。各種サーバなどは正常に動いているようで、apt-get upgradeなども出来ました。

で、p137からの記述に従って

1.玄箱HGでアーカイブ展開
[root@kuro kernel]# pwd
/mnt/kernel
[root@kuro kernel]# tar xfz linux-2.4.17_mvl21-sandpoint_040729.tar.gz

2.Makefileの修正。INSTALL_MOD_PATHコメントアウト

3. .hhl_target_lspname .hhl_cross_compileの削除

4. カーネルコンフィギュレーション

[root@kuro linux-2.4.17_mvl21-sandpoint]# make hdhglan_config
rm -f .config arch/ppc/defconfig
cp -f arch/ppc/configs/hdhglan_defconfig arch/ppc/defconfig
cp -f firminfo.txt.hdhglan firminfo.txt
[root@kuro linux-2.4.17_mvl21-sandpoint]# make oldconfig
rm -f include/asm
( cd include ; ln -sf asm-ppc asm)
/bin/sh scripts/Configure -d arch/ppc/config.in

中略

Magic SysRq key (CONFIG_MAGIC_SYSRQ) [N/y/?]
Include kgdb kernel debugger (CONFIG_KGDB) [N/y/?]
Include xmon kernel debugger (CONFIG_XMON) [N/y/?]
Include BDI-2000 user context switcher (CONFIG_BDI_SWITCH) [N/y/?]
Support for early boot texts over serial port (CONFIG_SERIAL_TEXT_DEBUG) [N/y/?]

*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you must run 'make dep'.

とここまでは来るのですがmake depすると

[root@kuro linux-2.4.17_mvl21-sandpoint]# make dep
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/arch/ppc -o scripts/mkdep scripts/mkdep.c
/usr/include/bits/posix1_lim.h:130 から include されたファイル中,
/usr/include/limits.h:144 から,
/usr/lib/gcc-lib/ppc-vine-linux/3.3.2/include/limits.h:122 から,
/usr/lib/gcc-lib/ppc-vine-linux/3.3.2/include/syslimits.h:7 か ら,
/usr/lib/gcc-lib/ppc-vine-linux/3.3.2/include/limits.h:11 から, scripts/mkdep.c:35 から:
/usr/include/bits/local_lim.h:36:26: linux/limits.h: そのようなファイルやディレ クトリはありません
scripts/mkdep.c: 関数 `add_path' 内:
scripts/mkdep.c:221: error: `PATH_MAX' undeclared (first use in this function)
scripts/mkdep.c:221: error: (Each undeclared identifier is reported only once
scripts/mkdep.c:221: error: for each function it appears in.)
scripts/mkdep.c:221: 警告: unused variable `resolved_path'
make: *** [scripts/mkdep] エラー 1

というようにエラーになります。
単にインクルードのパスがgccに渡ってないだけか?と思い、Makefileの30行目付近を

HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I$(HPATH)
##HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

などといじって再びmake depすると今度は通ったようです。

そこでmakeするのですが、

[root@kuro linux-2.4.17_mvl21-sandpoint]# make
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/arch/ppc -o scripts/split-include scripts/split-include.c
scripts/split-include include/linux/autoconf.h include/config
gcc -D__KERNEL__ -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/arch/ppc -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -c -o init/main.o init/main.c
/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h: 関数 `do_linuxrc' 内:
/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h:413: error: asm-specifier for variable `__sc_4' conflicts with asm clobber list
/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h:413: error: asm-specifier for variable `__sc_5' conflicts with asm clobber list

中略

/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h:416: error: asm-specifier for variable `__sc_5' conflicts with asm clobber list
/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h:416: 前のエラーに より混乱していますので、脱出します
make: *** [init/main.o] エラー 1

というようにコンパイルエラーとなります。

皆さんは問題無くコンパイルが通っておられるのでしょうか?
よろしくお願いいたします。

05/06/19(日) 14:03:34 投稿者[のりん] [No.2699]のスレッド内
【No.2707】 タイトル[Re: ハックキット2.0αインストール後のカーネル入れ換え] 【No.2699】に対する返信
>goshawkと申します。
>
>カーネル入れ換えではまっております。
>かなり初歩的なことなのかも知れないのですが、このBBSを検索しても手がかりが得られず、
>質問させていただきます。
>御存じの方がいらっしゃいましたらご教授お願いいたします。
>
>"玄箱をハックしよう"を購入して早速ハックキット2.0αで玄箱HGにvine環境をインストール
>しました。各種サーバなどは正常に動いているようで、apt-get upgradeなども出来ました。
>
>で、p137からの記述に従って
>
>1.玄箱HGでアーカイブ展開
>[root@kuro kernel]# pwd
>/mnt/kernel
>[root@kuro kernel]# tar xfz linux-2.4.17_mvl21-sandpoint_040729.tar.gz
>
>2.Makefileの修正。INSTALL_MOD_PATHコメントアウト
>
>3. .hhl_target_lspname .hhl_cross_compileの削除
>
>4. カーネルコンフィギュレーション
>
>[root@kuro linux-2.4.17_mvl21-sandpoint]# make hdhglan_config
>rm -f .config arch/ppc/defconfig
>cp -f arch/ppc/configs/hdhglan_defconfig arch/ppc/defconfig
>cp -f firminfo.txt.hdhglan firminfo.txt
>[root@kuro linux-2.4.17_mvl21-sandpoint]# make oldconfig
>rm -f include/asm
>( cd include ; ln -sf asm-ppc asm)
>/bin/sh scripts/Configure -d arch/ppc/config.in
>
>中略
>
>Magic SysRq key (CONFIG_MAGIC_SYSRQ) [N/y/?]
>Include kgdb kernel debugger (CONFIG_KGDB) [N/y/?]
>Include xmon kernel debugger (CONFIG_XMON) [N/y/?]
>Include BDI-2000 user context switcher (CONFIG_BDI_SWITCH) [N/y/?]
>Support for early boot texts over serial port (CONFIG_SERIAL_TEXT_DEBUG) [N/y/?]
>
>*** End of Linux kernel configuration.
>*** Check the top-level Makefile for additional configuration.
>*** Next, you must run 'make dep'.
>
>とここまでは来るのですがmake depすると
>
>[root@kuro linux-2.4.17_mvl21-sandpoint]# make dep
>gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/arch/ppc -o scripts/mkdep scripts/mkdep.c
>/usr/include/bits/posix1_lim.h:130 から include されたファイル中,
> /usr/include/limits.h:144 から,
> /usr/lib/gcc-lib/ppc-vine-linux/3.3.2/include/limits.h:122 から,
> /usr/lib/gcc-lib/ppc-vine-linux/3.3.2/include/syslimits.h:7 か ら,
> /usr/lib/gcc-lib/ppc-vine-linux/3.3.2/include/limits.h:11 から, scripts/mkdep.c:35 から:
>/usr/include/bits/local_lim.h:36:26: linux/limits.h: そのようなファイルやディレ クトリはありません
>scripts/mkdep.c: 関数 `add_path' 内:
>scripts/mkdep.c:221: error: `PATH_MAX' undeclared (first use in this function)
>scripts/mkdep.c:221: error: (Each undeclared identifier is reported only once
>scripts/mkdep.c:221: error: for each function it appears in.)
>scripts/mkdep.c:221: 警告: unused variable `resolved_path'
>make: *** [scripts/mkdep] エラー 1
>
>というようにエラーになります。
>単にインクルードのパスがgccに渡ってないだけか?と思い、Makefileの30行目付近を
>
>HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I$(HPATH)
>##HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
>
>などといじって再びmake depすると今度は通ったようです。
>
>そこでmakeするのですが、
>
>[root@kuro linux-2.4.17_mvl21-sandpoint]# make
>gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/arch/ppc -o scripts/split-include scripts/split-include.c
>scripts/split-include include/linux/autoconf.h include/config
>gcc -D__KERNEL__ -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -I/mnt/kernel/linux-2.4.17_mvl21-sandpoint/arch/ppc -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -c -o init/main.o init/main.c
>/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h: 関数 `do_linuxrc' 内:
>/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h:413: error: asm-specifier for variable `__sc_4' conflicts with asm clobber list
>/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h:413: error: asm-specifier for variable `__sc_5' conflicts with asm clobber list
>
>中略
>
>/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h:416: error: asm-specifier for variable `__sc_5' conflicts with asm clobber list
>/mnt/kernel/linux-2.4.17_mvl21-sandpoint/include/asm/unistd.h:416: 前のエラーに より混乱していますので、脱出します
>make: *** [init/main.o] エラー 1
>
>というようにコンパイルエラーとなります。
>
>皆さんは問題無くコンパイルが通っておられるのでしょうか?
>よろしくお願いいたします。
>
gccが新しすぎるのが問題ですね。

05/06/19(日) 16:20:47 投稿者[goshawk] [No.2699]のスレッド内
【No.2710】 タイトル[Re: ハックキット2.0αインストール後のカーネル入れ換え] 【No.2707】に対する返信
goshawkです。

のりんさん返信ありがとうございます。

>gccが新しすぎるのが問題ですね。

私の玄箱HGでは
-bash-2.05b$ rpm -q gcc
gcc-3.3.2-0vl8

となってます。これはハックキット2.0αからインストールされたものなのですが、、、
#やはりハックキット2.0αは未対応か

self-compileはちょっと諦めモードになってしまってたため、下記サイトを参照させて
いただき母艦機(athlon XP, FC3)にtoolchainをインストールしてcross-compile
してみました。
http://linkstation.yi.org/index.php?Kernel_source%2FCompile

するとあっさりvmlinuxは出来ました。

loader.oは玄箱HGの上でself-compileできました。

で、いよいよと思い
[root@kuro loader]# insmod loader.o kernel=../vmlinux.bin
としましたが、何も反応無しでした。

玄箱のLED見てたんですが、LINK/ACTが一度消えてすぐ点灯しただけでした。
母艦機から新たにtelnetで入ろうとしても

$ telnet kuro
Trying 192.168.XXX.XXX...
telnet: connect to address 192.168.XXX.XXX: No route to host
telnet: Unable to connect to remote host: No route to host

というようにつながりません。

From http://www.yamasita.jp/linkstation/0506/050619.html
> 前から欲しかったシリアルコンソール用のコネクタを買ってきた。

私もシリアルコネクタ買ってこなきゃ駄目かな。