Support building jffs2 filesystems. Update top level
makefile accordingly
This commit is contained in:
parent
f541cb7fdc
commit
27bc59d488
20
Makefile
20
Makefile
@ -32,6 +32,7 @@ TARGETS=
|
||||
# What sortof target system shall we compile this for?
|
||||
ARCH:=i386
|
||||
#ARCH:=arm
|
||||
#ARCH:=powerpc
|
||||
#ARCH:=whatever
|
||||
|
||||
# enable to build a native gcc toolchain with uclibc support
|
||||
@ -53,6 +54,16 @@ BUILD_WITH_LARGEFILE:=true
|
||||
# Command used to download source code
|
||||
WGET:=wget --passive-ftp
|
||||
|
||||
# Optimize toolchain for which type of CPU?
|
||||
#OPTIMIZE_FOR_CPU:=i486
|
||||
#OPTIMIZE_FOR_CPU:=strongarm
|
||||
#OPTIMIZE_FOR_CPU:=whatever
|
||||
OPTIMIZE_FOR_CPU:=$(ARCH)
|
||||
|
||||
# Any additional gcc options you may want to include....
|
||||
#EXTRA_GCC_CONFIG_OPTIONS:=--without-float
|
||||
EXTRA_GCC_CONFIG_OPTIONS:=
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# The list of stuff to build for the target filesystem
|
||||
@ -95,6 +106,14 @@ TARGETS+=busybox tinylogin
|
||||
# Pick your root filesystem type.
|
||||
TARGETS+=ext2root
|
||||
|
||||
# Must mount cramfs with 'ramdisk_blocksize=4096'
|
||||
#TARGETS+=cramfsroot
|
||||
|
||||
# You may need to edit make/jffs2root.mk to change target
|
||||
# endian-ness or similar, but this is sufficient for most
|
||||
# things as-is...
|
||||
#TARGETS+=jffs2root
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# You should probably leave this stuff alone unless you know
|
||||
@ -116,6 +135,7 @@ TARGET_PATH:=$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:/bin:/sbin:/usr/bin:/usr/
|
||||
STRIP:=$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
|
||||
#STRIP:=/bin/true
|
||||
IMAGE:=$(BASE_DIR)/root_fs
|
||||
GNU_TARGET_NAME:=$(OPTIMIZE_FOR_CPU)-pc-linux-gnu
|
||||
ifneq ($(strip $(ARCH)),i386)
|
||||
CROSS:=$(ARCH)-linux-
|
||||
endif
|
||||
|
49
make/jffs2root.mk
Normal file
49
make/jffs2root.mk
Normal file
@ -0,0 +1,49 @@
|
||||
#############################################################
|
||||
#
|
||||
# mtd provides us with mkfs.jffs2, to target JFFS2 filesystems
|
||||
#
|
||||
#############################################################
|
||||
|
||||
MTD_DIR:=$(BUILD_DIR)/mtd-20011217
|
||||
MTD_SOURCE=mtd_20011217.orig.tar.gz
|
||||
MTD_SITE=http://ftp.debian.org/debian/pool/main/m/mtd
|
||||
MKFS_JFFS2=$(shell which mkfs.jffs2 || echo $(MTD_DIR)/util/mkfs.jffs2)
|
||||
|
||||
$(DL_DIR)/$(MTD_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE)
|
||||
|
||||
$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
|
||||
zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
touch $(MTD_DIR)/.unpacked
|
||||
|
||||
$(MTD_DIR)/util/mkfs.jffs2: $(MTD_DIR)/.unpacked
|
||||
CFLAGS=-I$(LINUX_DIR)/include $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_DIR)/util
|
||||
|
||||
mtd: $(MKFS_JFFS2)
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Build the jffs2 root filesystem image
|
||||
#
|
||||
#############################################################
|
||||
|
||||
jffs2root: jffs2
|
||||
-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true;
|
||||
-@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
|
||||
@rm -rf $(TARGET_DIR)/usr/man
|
||||
@rm -rf $(TARGET_DIR)/usr/info
|
||||
$(MKFS_JFFS2) --pad --little-endian --squash -e 0x20000 \
|
||||
-D $(SOURCE_DIR)/device_table.txt -d $(TARGET_DIR) \
|
||||
-o $(IMAGE)
|
||||
|
||||
jffs2root-source: $(DL_DIR)/$(GENEXT2_SOURCE)
|
||||
|
||||
jffs2root-clean:
|
||||
-make -C $(GENEXT2_DIR) clean
|
||||
|
||||
jffs2root-dirclean:
|
||||
rm -rf $(GENEXT2_DIR)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user