EABI で debootstrapをしようとしたところ、 FATAL: kernel too oldといわれた。
too old でないカーネルにするために、まずは カーネルのコンパイル方法を確認した。
ところが、 コンパイルしたカーネルで起動しようとすると initrd で起動 してしまった。
試行錯誤の結果、 /etc/linkstation_release を新しくすればよい ことを見つけ、 無事新しいカーネルで HDD Boot モードで起動するようにできた。
というわけで、カーネルを自分でコンパイルして
起動できるようにはなったので、
次は too old でないカーネルの作成。
「偽」餅屋はいつかボロを出すだろう。
[yasunari@giga tmp]$ less patch-2.6.13 : : diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 6 -SUBLEVEL = 12 +SUBLEVEL = 13 EXTRAVERSION = NAME=Woozy Numbat : :こういう場合、どうすればいいのだろう???
[yasunari@giga ls-lgl]$ tar zxvf linux-2.6.12_lsp2.1.10.tar.gz ./linux-feroceon_2_1_10/ ./linux-feroceon_2_1_10/buffalo/ : : [yasunari@giga ls-lgl]$
[yasunari@giga ls-lgl]$ cd linux-feroceon_2_1_10/ [yasunari@giga linux-feroceon_2_1_10]$ zcat ../patch-2.6.12.6.gz | grep '^diff' | wc -l 58 [yasunari@giga linux-feroceon_2_1_10]$58 の差分のどれだけが reject することやら。
[yasunari@giga linux-feroceon_2_1_10]$ zcat ../patch-2.6.12.6.gz | patch -R -p1 patching file Makefile Hunk #1 FAILED at 1. Hunk #2 FAILED at 1149. 2 out of 2 hunks FAILED -- saving rejects to file Makefile.rej patching file arch/i386/kernel/cpu/cpufreq/powernow-k8.c : : patching file include/linux/if_shaper.h patching file include/linux/skbuff.h Hunk #1 succeeded at 1201 (offset 9 lines). patching file include/linux/zlib.h : : patching file security/keys/process_keys.c [yasunari@giga linux-feroceon_2_1_10]$reject は Makefile だけ。
[yasunari@giga linux-feroceon_2_1_10]$ cat Makefile.rej *************** *** 1,7 **** VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 12 - EXTRAVERSION = .6 NAME=Woozy Numbat # *DOCUMENTATION* --- 1,7 ---- VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 12 + EXTRAVERSION = NAME=Woozy Numbat # *DOCUMENTATION* *************** *** 1149,1155 **** #(which is the most common case IMHO) to avoid unneeded clutter in the big tags file. #Adding $(srctree) adds about 20M on i386 to the size of the output file! - ifeq ($(src),$(obj)) __srctree = else __srctree = $(srctree)/ --- 1149,1155 ---- #(which is the most common case IMHO) to avoid unneeded clutter in the big tags file. #Adding $(srctree) adds about 20M on i386 to the size of the output file! + ifeq ($(KBUILD_OUTPUT),) __srctree = else __srctree = $(srctree)/ [yasunari@giga linux-feroceon_2_1_10]$1つ目の reject は、、、EXTRAVERSION に -arm がついているから。 reject して当然。
手で修正するが、今後も reject するので -arm は取る。
2つめは、もともと ifeq ($(KBUILD_OUTPUT),) だった。 この差分は、patch-2.6.12.4 に含まれるが、patch-2.6.12.4 が ちゃんとあたっていないみたい。
[yasunari@giga linux-feroceon_2_1_10]$ cd .. [yasunari@giga ls-lgl]$ tar zcvf linux-2.6.12.0_lsp2.1.10.tar.gz linux-feroceon_2_1_10 linux-feroceon_2_1_10/ linux-feroceon_2_1_10/buffalo/ :
|
← 中の様子を探る(7)HDD Boot にする |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ カーネルパッチ(2)2.6.13 |