@ -7,18 +7,10 @@
i n c l u d e $( TOPDIR ) / r u l e s . m k
i n c l u d e $( INCLUDE_DIR ) / i m a g e . m k
TARGET_DTBS := armada-xp-db armada-370-db armada-xp-openblocks-ax3-4 armada-370-mirabox \
armada-370-rd armada-xp-gp armada-xp-mamba
NANDBOARDS := armada-xp-mamba
LOADADDR := 0x00008000
JFFS2_BLOCKSIZE = 128k
UBIFS_OPTS = -F -m 2048 -e 124KiB -c 4096 -U
UBI_OPTS = -m 2048 -p 128KiB -s 512 -O 2048
KDIR_TMP := $( KDIR) /tmp
@ -33,16 +25,70 @@ define Image/Build/DTB
cp $( KDIR) /uImage$( 2) -$( 1) $( UIMAGE) $( 2) -$( 1) ;
e n d e f
d e f i n e I m a g e / B u i l d K e r n e l
$( foreach dtb,$( TARGET_DTBS) ,$( call Image/Build/DTB,$( dtb) ) )
ifneq ( $( CONFIG_TARGET_ROOTFS_INITRAMFS) ,)
$( call Image/Build/Initramfs)
endif
# $(1): Profile Name
# $(2): DTB Name
# $(3): Erase Block Size
# $(4): Page Size
# $(5): Sub-Page Size (optional)
d e f i n e N A N D P r o f i l e
define Image/BuildKernel/Profile/$( 1)
$( call Image/Build/DTB,$( 2) )
ifneq ( $( CONFIG_TARGET_ROOTFS_INITRAMFS) ,)
$( call Image/Build/Profile,$( 1) /Initramfs)
endif
endef
define Image/Build/Profile/$( 1) /BuildSysupgrade
$( call Image/Build/SysupgradeNAND,$( 2) ,$$ ( 1) ,$( KDIR) /uImage-$( 2) )
endef
define Image/Build/Profile/$( 1) /Initramfs
$( call Image/Build/DTB,$( 2) ,-initramfs)
endef
define Image/Build/Profile/$( 1) /squashfs
$( call Image/Build/UbinizeImage,$( 2) ,,squashfs, -p $( 3) -m $( 4) $( if $( 5) ,-s $( 5) ) )
cp $( KDIR) /$$ ( IMG_PREFIX) -$( 2) -squashfs-ubinized.bin $( BIN_DIR)
endef
PROFILES_LIST += $( 1)
e n d e f
d e f i n e I m a g e / B u i l d / s q u a s h f s
$( call prepare_generic_squashfs,$( KDIR) /root.squashfs)
$( foreach nandboard,$( NANDBOARDS) ,$( call Image/Build/UbinizeImage,$( nandboard) ,,squashfs,$( UBI_OPTS) ) ; )
# $(1): Profile Name
# $(2): Sub Profiles list
d e f i n e M u l t i P r o f i l e
define Image/BuildKernel/Profile/$( 1)
$( foreach profile, $( 2) ,
$( call Image/BuildKernel/Profile/$( profile) ) )
endef
define Image/Build/Profile/$( 1) /BuildSysupgrade
$( foreach profile, $( 2) ,
$( call Image/Build/Profile/$( profile) /BuildSysupgrade,$$ ( 1) ) )
endef
define Image/Build/Profile/$( 1) /Initramfs
$( foreach profile, $( 2) ,
$( call Image/Build/Profile/$( profile) /Initramfs) )
endef
define Image/Build/Profile/$( 1) /squashfs
$( foreach profile, $( 2) ,
$( call Image/Build/Profile/$( profile) /squashfs) )
endef
e n d e f
# Boards with NAND, with subpages
$( eval $ ( call NANDProfile ,370-DB ,armada -370-db ,128KiB ,2048,512) )
$( eval $ ( call NANDProfile ,370-RD ,armada -370-rd ,128KiB ,2048,512) )
$( eval $ ( call NANDProfile ,Mamba ,armada -xp -mamba ,128KiB ,2048,512) )
$( eval $ ( call NANDProfile ,Mirabox ,armada -370-mirabox ,128KiB ,2048,512) )
$( eval $ ( call NANDProfile ,OpenBlocks -AX -3-4,armada -xp -openblocks -ax 3-4,128KiB ,2048,512) )
$( eval $ ( call NANDProfile ,XP -DB ,armada -xp -db ,128KiB ,2048,512) )
$( eval $ ( call NANDProfile ,XP -GP ,armada -xp -gp ,128KiB ,2048,512) )
d e f i n e I m a g e / B u i l d / P r o f i l e / M a m b a / s q u a s h f s
$( call Image/Build/UbinizeImage,armada-xp-mamba,,squashfs, -p 128KiB -m 2048 -s 512)
( \
dd if = $( KDIR) /uImage-armada-xp-mamba bs = 3072k conv = sync; \
dd if = $( KDIR) /$( IMG_PREFIX) -armada-xp-mamba-squashfs-ubinized.bin \
@ -50,20 +96,26 @@ define Image/Build/squashfs
) > $( BIN_DIR) /$( IMG_PREFIX) -armada-xp-mamba-squashfs-factory.img
e n d e f
d e f i n e I m a g e / B u i l d / I n i t r a m f s
$( foreach dtb,$( TARGET_DTBS) ,$( call Image/Build/DTB,$( dtb) ,-initramfs) )
$( eval $ ( call MultiProfile ,Generic ,$ ( PROFILES_LIST ) ) )
$( eval $ ( call MultiProfile ,Evalboards ,$ ( PROFILES_LIST ) ) )
d e f i n e I m a g e / B u i l d K e r n e l
$( call Image/BuildKernel/Profile/$( PROFILE) )
e n d e f
d e f i n e B u i l d S y s u p g r a d e
$( call Image/Build/SysupgradeNAND,$( 2) ,$( 1) ,$( KDIR) /uImage-$( 2) )
d e f i n e I m a g e / B u i l d / s q u a s h f s
# Align the squashfs image size before calling the profiles,
# otherwise the size would keep growing
$( call prepare_generic_squashfs,$( KDIR) /root.squashfs)
$( call Image/Build/Profile/$( PROFILE) /squashfs)
e n d e f
d e f i n e I m a g e / B u i l d
$( call Image/Build/$( 1) )
dd if = $( KDIR) /root.$( 1) of = $( BIN_DIR) /$( IMG_PREFIX) -root.$( 1) bs = 128k conv = sync
$( foreach nandboard,$( NANDBOARDS) ,$( call BuildSysupgrade,$( 1) ,$( nandboard) ) ; )
$( call Image/Build/Profile/$( PROFILE) / BuildSysupgrade,$( 1) )
i f n e q ( $( CONFIG_TARGET_ROOTFS_INITRAMFS ) , )
$( call Image/Build/Initramfs)
$( call Image/Build/Profile/$( PROFILE) / Initramfs)
e n d i f
e n d e f