FAQ

カーネルのサイズが4MBを越えるとブートしない

ARM用のLinuxでは、カーネル全体のサイズの上限を4MBとしています。これを超えるとデータのコピー時またはBSSの初期化時にカーネルがアボートします。

この問題は、「kernelのサイズを小さくする」ことで対応できます。具体的には:

  • システム起動時に必要のないドライバは、モジュール化する
  • 完全に必要の無い機能は、組み込まない

などの方法があります。

カーネルサイズは、カーネルのビルド時に生成されるlinux-2.6.x/System.mapを確認してください。System.mapの一番最後の行にある「xxxxxxxx B _end」のxxxxxxx部分がサイズとなります。