さて ”version.h” そのほかを ツールチェーンに必要な include ディレク トリ を 作成してそこにコピします。
$ echo ${TARGET_PREFIX} /home/ksim/proj/tools/i386-linux
少し思い出しておきましょう
tools/ /* 完全なクロスプラットフォーム開発ツールチェーンと C ライブラリ */
ここが 目標の場所です。
$ ls -a ${PRJROOT}/tools ./ ../
”/home/ksim/proj/tools/i386-linux” というディレクトリは間だ存在して いません。そのまえに 現在の include ディレクトリ を 拝見しておいても 良いでしょう。
沢山有るのですが 今回は それを全て コピする理由ではありません。
$ pwd /home/ksim/proj/kernel/linux-2.4.18 $ ls include/ asm@ asm-generic/ asm-mips/ asm-s390/ asm-sparc64/ pcmcia/ asm-alpha/ asm-i386/ asm-mips64/ asm-s390x/ linux/ scsi/ asm-arm/ asm-ia64/ asm-parisc/ asm-sh/ math-emu/ video/ asm-cris/ asm-m68k/ asm-ppc/ asm-sparc/ net/
”linux/”、”asm-i386/”、”asm-generic/”の 3個 のディレクトリです。
ディレクトリ 作成 と コピ をします。 また 当然 ディレクトリが 存在していないので ”-p” オプションで ディレクトリ を作成する必要があります。
$ mkdir -p ${TARGET_PREFIX}/include $ ls -a ${TARGET_PREFIX}/include ./ ../ $ cp -r include/linux/ ${TARGET_PREFIX}/include $ cp -r include/asm-i386/ ${TARGET_PREFIX}/include/asm $ cp -r include/asm-generic/ ${TARGET_PREFIX}/include/ $ ls ${TARGET_PREFIX}/ include/ $ ls ${TARGET_PREFIX}/include asm/ asm-generic/ linux/ $ ls -R ${TARGET_PREFIX}/include $ echo ${TARGET_PREFIX}/include /home/ksim/proj/tools/i386-linux/include
コピの選択は 今回 i386 の ターゲットという事で選択したものです 当然他の ターゲットの場合は 別のものを 選択コピする必要があります。
どうも make dep まで する必要は 無いようですが
後で basicio.c を 少し変更するのですが limits.h は 最初に展開した時に もう存在 しているようです。
$ cat include/linux/limits.h #ifndef _LINUX_LIMITS_H #define _LINUX_LIMITS_H #define NR_OPEN 1024 #define NGROUPS_MAX 32 /* supplemental group IDs are available */ #define ARG_MAX 131072 /* # bytes of args + environ for exec() */ #define CHILD_MAX 999 /* no limit :-) */ #define OPEN_MAX 256 /* # open files a process may have */ #define LINK_MAX 127 /* # links a file may have */ #define MAX_CANON 255 /* size of the canonical input queue */ #define MAX_INPUT 255 /* size of the type-ahead buffer */ #define NAME_MAX 255 /* # chars in a file name */ #define PATH_MAX 4096 /* # chars in a path name including nul */ #define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */ #define RTSIG_MAX 32 #endif
心にとどめておきましょう。
以下本質的な事では有りません 最後に削除しますが 上書きされるものが有 ると という確認用です。
$ cp -dpR ${TARGET_PREFIX}/include ../../../08_backup/001_Kernel-H-CP $ du -h ../../../08_backup/001_Kernel-H-CP/ ... 5.4M ../../../08_backup/001_Kernel-H-CP $ echo ${TARGET_PREFIX}/ /home/ksim/proj/tools/i386-linux/ $ du -h /home/ksim/proj/tools/ ... 5.4M /home/ksim/proj/tools/i386-linux 5.4M /home/ksim/proj/tools
にゃんたろう 拝!
2011年 3月11日 (金) 21:01:23 JST 作成
2011年 7月25日 (月) 21:13:20 JST 改定