강좌 & 팁
글 수 2,412
2012.11.12 11:00:21 (*.52.177.29)
42905
mtd-util을 컴파일 하기 전에 아래의 3가지 util들이 arm 포팅 되어 있어야 합니다.
1. zlib-1.2.3
http://forum.falinux.com/zbxe/?document_srl=552877
2. lzo-2.06
http://forum.falinux.com/zbxe/?mid=lecture_tip&page=2&document_srl=575262
3. e2fsprogs-1.42.5
http://forum.falinux.com/zbxe/?mid=lecture_tip&document_srl=575900
----------------------------
1. 다운로드
ftp://ftp.infradead.org/pub/mtd-utils/
또는
git clone git://git.infradead.org/mtd-utils.git
에서 mtd-utils-1.5.0.tar.bz2 를 다운로드 받습니다.
2. 압축풀기 및 설정 변경하기
root@ubuntu:mtd-utils-1.5.0# tar -jxvf mtd-utils-1.5.0.tar.bz2
root@ubuntu:mtd-utils-1.5.0# cd mtd-utils-1.5.0
root@ubuntu:mtd-utils-1.5.0# vi common.mk
1. CROSS=arm-generic-linux-gnueabi-
2. ...
...
...
9 try-run = $(shell set -e; ($(1)) >/dev/null 2>&1 && echo "$(2)" || echo "$(3)")
10 cc-option = $(call try-run, $(CC) $(1) -c -xc /dev/null -o /dev/null,$(1),$(2))
11
12 PREFIX=/staff/temp/mtd-utils-1.5.0
13
14 ZLIBCPPFLAGS = -I$(PREFIX)/include
15 ZLIBLDFLAGS = -L$(PREFIX)/lib
16
17 LZOCPPFLAGS = -I$(PREFIX)/include
18 LZOLDFLAGS = -L$(PREFIX)/lib
19
20 LDFLAGS += $(ZLIBLDFLAGS) $(LZOLDFLAGS)
21
22 CFLAGS ?= -O2 -g --static $(ZLIBLDFLAGS) $(LZOLDFLAGS)
23 WFLAGS := -Wall \
1라인 추가, 12라인에서 22라인까지 추가 및 수정
3. 컴파일하기
root@ubuntu:mtd-utils-1.5.0# WITHOUT_XATTR=1 make
------------
[참고]
WITHOUT_XATTR=1 옵션없이 컴파일 할 경우 아래와 같이 에러가 발생합니다.
root@ubuntu:mtd-utils-1.5.0# make
CHK include/version.h
CC mkfs.jffs2.o
mkfs.jffs2.c:71:21: error: sys/acl.h: No such file or directory
mkfs.jffs2.c: In function 'formalize_posix_acl':
mkfs.jffs2.c:1025: error: 'ACL_USER_OBJ' undeclared (first use in this function)
mkfs.jffs2.c:1025: error: (Each undeclared identifier is reported only once
mkfs.jffs2.c:1025: error: for each function it appears in.)
mkfs.jffs2.c:1026: error: 'ACL_GROUP_OBJ' undeclared (first use in this function)
mkfs.jffs2.c:1027: error: 'ACL_MASK' undeclared (first use in this function)
mkfs.jffs2.c:1028: error: 'ACL_OTHER' undeclared (first use in this function)
mkfs.jffs2.c:1034: error: 'ACL_USER' undeclared (first use in this function)
mkfs.jffs2.c:1035: error: 'ACL_GROUP' undeclared (first use in this function)
make: *** [/staff/temp/mtd-utils-1.5.0/arm-generic-linux-gnueabi/mkfs.jffs2.o] Error 1
root@ubuntu:mtd-utils-1.5.0#
------------
common.mk 파일은 첨부파일을 참조하세요.