1. 修改 e2fsck/Makefile.in , line 18
XTRA_CFLAGS= -DRESOURCE_TRACK -I.
改成
XTRA_CFLAGS= -I.
==> 如果不修改,在 link 時,會出現找不到 sbrk() 函數的錯誤,由於 uClinux 沒有 mmu,所以 sbrk() 無法實現。

2. 修改 e2fsck/unix.c , line 12
#define _XOPEN_SOURCE 600 /* for inclusion of sa_handler in Solaris */
改成(刪除也可)
//#define _XOPEN_SOURCE 600 /* for inclusion of sa_handler in Solaris */
==> 如果不修改,在 make 時,會出現 error: field `uc_mcontext' has incomplete type

3. 修改 debugfs/util.c , line 9
#define _XOPEN_SOURCE 600 /* needed for strptime */
改成(刪除也可)
//#define _XOPEN_SOURCE 600 /* needed for strptime */
==> 如果不修改,在 make 時,會出現 error: field `uc_mcontext' has incomplete type

4. 修改 misc/mke2fs.c , line 19
#define _XOPEN_SOURCE 600 /* for inclusion of PATH_MAX in Solaris */
改成(刪除也可)
#define PATH_MAX 4096
==> 如果不修改,在 make 時,會出現錯誤 `PATH_MAX' undeclared

5. 修改 misc/logsave.c , line 13
#define _XOPEN_SOURCE 600 /* for inclusion of sa_handler in Solaris */
改成(刪除也可)
//#define _XOPEN_SOURCE 600 /* for inclusion of sa_handler in Solaris */
==> 如果不修改,在 make 時,會出現 error: field `uc_mcontext' has incomplete type

6. 修改 misc/fsck.c , line 28
#define _XOPEN_SOURCE 600 /* for inclusion of sa_handler in Solaris */
改成(刪除也可)
//#define _XOPEN_SOURCE 600 /* for inclusion of sa_handler in Solaris */
==> 如果不修改,在 make 時,會出現 error: field `uc_mcontext' has incomplete type

7. 執行 configure
./configure --host=arm-elf --with-cc=arm-elf-gcc --with-linker=arm-elf-ld --with-ldopts=-elf2flt

8. 執行 make
make

9. 完成。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()