all: replace genext2fs with make_ext4fs
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45517
This commit is contained in:
parent
3edc273a33
commit
0ee9504911
4 changed files with 46 additions and 12 deletions
|
@ -231,15 +231,15 @@ define Image/mkfs/targz
|
|||
$(TAR) -czpf $(BIN_DIR)/$(IMG_PREFIX)$(if $(PROFILE),-$(PROFILE))-rootfs.tar.gz --numeric-owner --owner=0 --group=0 -C $(TARGET_DIR)/ .
|
||||
endef
|
||||
|
||||
E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024/$(CONFIG_TARGET_EXT4_BLOCKSIZE))))
|
||||
E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024)))
|
||||
|
||||
define Image/mkfs/ext4
|
||||
# generate an ext2 fs
|
||||
$(STAGING_DIR_HOST)/bin/genext2fs -U -B $(CONFIG_TARGET_EXT4_BLOCKSIZE) -b $(E2SIZE) -N $(CONFIG_TARGET_EXT4_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext4 -m $(CONFIG_TARGET_EXT4_RESERVED_PCT) $(MKFS_DEVTABLE_OPT)
|
||||
# convert it to ext4
|
||||
$(STAGING_DIR_HOST)/bin/tune2fs $(if $(CONFIG_TARGET_EXT4_JOURNAL),-j) -O extents,uninit_bg,dir_index $(KDIR)/root.ext4
|
||||
# fix it up
|
||||
$(STAGING_DIR_HOST)/bin/e2fsck -fy $(KDIR)/root.ext4
|
||||
$(STAGING_DIR_HOST)/bin/make_ext4fs \
|
||||
-l $(E2SIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \
|
||||
-i $(CONFIG_TARGET_EXT4_MAXINODE) \
|
||||
-m $(CONFIG_TARGET_EXT4_RESERVED_PCT) \
|
||||
$(if $(CONFIG_TARGET_EXT4_JOURNAL),,-J) \
|
||||
$(KDIR)/root.ext4 $(TARGET_DIR)/
|
||||
endef
|
||||
|
||||
define Image/mkfs/prepare/default
|
||||
|
|
|
@ -23,17 +23,15 @@ cyl=$(( ($KERNELSIZE + $ROOTFSSIZE) * 1024 * 1024 / ($head * $sect * 512)))
|
|||
set `ptgen -o "$OUTPUT" -h $head -s $sect -p ${KERNELSIZE}m -p ${ROOTFSSIZE}m ${ALIGN:+-l $ALIGN} ${SIGNATURE:+-S 0x$SIGNATURE}`
|
||||
|
||||
KERNELOFFSET="$(($1 / 512))"
|
||||
KERNELSIZE="$(($2 / 512))"
|
||||
KERNELSIZE="$2"
|
||||
ROOTFSOFFSET="$(($3 / 512))"
|
||||
ROOTFSSIZE="$(($4 / 512))"
|
||||
|
||||
BLOCKS="$((($KERNELSIZE / 2) - 1))"
|
||||
|
||||
[ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc count="$ROOTFSSIZE"
|
||||
dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc
|
||||
|
||||
[ -n "$NOGRUB" ] && exit 0
|
||||
|
||||
genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel"
|
||||
make_ext4fs -J -l "$KERNELSIZE" "$OUTPUT.kernel" "$KERNELDIR"
|
||||
dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc
|
||||
rm -f "$OUTPUT.kernel"
|
||||
|
|
|
@ -25,7 +25,7 @@ endif
|
|||
|
||||
tools-$(BUILD_TOOLCHAIN) += gmp mpfr mpc libelf
|
||||
tools-y += m4 libtool autoconf automake flex bison pkg-config sed mklibs
|
||||
tools-y += sstrip genext2fs e2fsprogs mtd-utils mkimage
|
||||
tools-y += sstrip make-ext4fs e2fsprogs mtd-utils mkimage
|
||||
tools-y += firmware-utils patch-image patch quilt yaffs2 flock padjffs2
|
||||
tools-y += mm-macros missing-macros xz cmake scons bc findutils gengetopt patchelf
|
||||
tools-$(CONFIG_TARGET_orion_generic) += wrt350nv2-builder upslug2
|
||||
|
|
36
tools/make-ext4fs/Makefile
Normal file
36
tools/make-ext4fs/Makefile
Normal file
|
@ -0,0 +1,36 @@
|
|||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=make-ext4fs
|
||||
PKG_VERSION:=2015-04-08
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://git.openwrt.org/project/make_ext4fs.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=2f713da924fa20cf89c25f2d122b54b959b09f87
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_MIRROR_MD5SUM:=c88f4f7c76e3142fc5ef12a723d9ef9b
|
||||
PKG_CAT:=zcat
|
||||
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
define Host/Compile
|
||||
$(MAKE) -C $(HOST_BUILD_DIR) make_ext4fs
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/make_ext4fs $(STAGING_DIR_HOST)/bin/
|
||||
endef
|
||||
|
||||
define Host/Clean
|
||||
rm -f $(STAGING_DIR_HOST)/bin/make_ext4fs
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
Loading…
Reference in a new issue