linux 2.6.26 on C7x0

2009/10/15の時点で

  • 通常のlinux-rp 2.6.26 → 起動しない
  • kexecboot用linux 2.6.26 → 起動する

というのが判っていたので、両者の.configを比較して起動しない原因になりそうなものを削除してみた。

--- a/recipes/linux/linux-rp-2.6.26/defconfig-c7x0
+++ b/recipes/linux/linux-rp-2.6.26/defconfig-c7x0
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.26
-# Tue Feb  3 01:27:59 2009
+# Fri Jan  1 20:29:16 2010
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -279,22 +279,12 @@ CONFIG_ATAGS_PROC=y
 #
 # CPU Frequency scaling
 #
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=y
-CONFIG_CPU_FREQ_DEBUG=y
-CONFIG_CPU_FREQ_STAT=y
-# CONFIG_CPU_FREQ_STAT_DETAILS is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPU_FREQ_PXA=y
 
 #
 # Floating point emulation

結果。ばっちり起動成功。

root@c7x0:~# uname -a
Linux c7x0 2.6.26 #1 PREEMPT Fri Jan 1 20:41:56 UTC 2010 armv5tel unknown

というわけで、とりあえずCONFIG_CPU_FREQを無効化しておけばC7x0でもlinux 2.6.26が起動できる模様。このあとは本来はCONFIG_CPU_FREQに関係するコードを調べてフリーズの原因を特定すべきなんだろうけど、優先順位の関係で後回し。というか「動けばいいや」としか思ってないので、何か不具合でもでない限り調べることはないと思う(笑)