diff options
Diffstat (limited to 'target/linux/realview/image')
-rw-r--r-- | target/linux/realview/image/Makefile | 36 | ||||
-rwxr-xr-x | target/linux/realview/image/gen_realview_sdcard_img.sh | 23 |
2 files changed, 59 insertions, 0 deletions
diff --git a/target/linux/realview/image/Makefile b/target/linux/realview/image/Makefile new file mode 100644 index 0000000..ad7aa69 --- /dev/null +++ b/target/linux/realview/image/Makefile @@ -0,0 +1,36 @@ +# +# Copyright (C) 2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/image.mk + +define Image/BuildKernel + cp $(KDIR)/$(KERNELNAME) $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf +endef + +define Image/BuildKernel/Initramfs + cp $(KDIR)/$(KERNELNAME)-initramfs $(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs.elf +endef + +define Image/Build/squashfs + $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) +endef + +define Image/Build + $(call Image/Build/$(1)) + $(call Build/sdcard-img) + dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync +endef + +define Build/sdcard-img + ./gen_realview_sdcard_img.sh \ + $(BIN_DIR)/$(IMG_PREFIX)-$(PROFILE)sdcard.img \ + $(KDIR)/root.ext4 \ + $(CONFIG_TARGET_ROOTFS_PARTSIZE) +endef + + +$(eval $(call BuildImage)) diff --git a/target/linux/realview/image/gen_realview_sdcard_img.sh b/target/linux/realview/image/gen_realview_sdcard_img.sh new file mode 100755 index 0000000..4619def --- /dev/null +++ b/target/linux/realview/image/gen_realview_sdcard_img.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -x +[ $# -eq 3 ] || { + echo "SYNTAX: $0 <file> <rootfs image> <rootfs size>" + exit 1 +} + +OUTPUT="$1" +ROOTFS="$2" +ROOTFSSIZE="$3" + +head=4 +sect=63 + +set `ptgen -o $OUTPUT -h $head -s $sect -l 4096 -t 83 -p ${ROOTFSSIZE}M` + +ROOTFSOFFSET="$(($1 / 512))" +ROOTFSSIZE="$(($2 / 512))" + +dd bs=512 if="$ROOTFS" of="$OUTPUT" seek="$ROOTFSOFFSET" conv=notrunc + + |