Ubuntuでのカーネル移植プロセスの些細な問題記録


以前のlinuxへの移植の試みは、カーネルバージョン2.4.0とRedhat 9に基づいている.0やってるんだけど、最近はこのクラシックなオペレーティングシステムから离れて
質問1:
最外層Makefileのプラットフォームとcross compileに関する内容を変更すると、make menuconfigで次のエラーが発生します.
{make: ***/linux-2.6.300/arch/arm : Is a directory. Stop.}
理由:
ARCH ?=arm、armの後ろにスペースが残っています.エラーの原因はMakefileのincludeコマンドパラメータがディレクトリであるためです.
質問2:
コンパイル環境:
Windows vmware下ubuntu 9.10 with arm-linux-gcc-4.1.0
カーネルをコンパイルするとき:
shuangbi@shuangbi-desktop:~/Toolchain/linux-2.6.30$ make
  CHK     include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-arm
  CC      kernel/bounds.s
In file included from include/linux/compiler-gcc.h:86,
                 from include/linux/compiler.h:40,
                 from include/linux/stddef.h:4,
                 from include/linux/posix_types.h:4,
                 from include/linux/types.h:14,
                 from include/linux/page-flags.h:8,
                 from kernel/bounds.c:9:
include/linux/compiler-gcc4.h:8:4: error: #error Your version of gcc miscompiles the __weak directive
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
shuangbi@shuangbi-desktop:~/Toolchain/linux-2.6.30$