@ -1,5 +1,6 @@
#
# Copyright (C) 2013-2016 OpenWrt.org
# Copyright (C) 2016 Yousong Zhou
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -11,111 +12,182 @@ include $(INCLUDE_DIR)/host.mk
FAT32_BLOCK_SIZE = 1024
FAT32_BLOCKS = $( shell echo $$ ( ( $( CONFIG_SUNXI_SD_BOOT_PARTSIZE) *1024*1024/$( FAT32_BLOCK_SIZE) ) ) )
d e f i n e I m a g e / B u i l d K e r n e l
-mkdir -p $( KDIR_TMP)
mkimage -A arm -O linux -T kernel -C none \
-a 0x40008000 -e 0x40008000 \
-n 'ARM OpenWrt Linux-$(LINUX_VERSION)' \
-d $( KDIR) /zImage $( BIN_DIR) /$( IMG_PREFIX) -uImage
ifneq ( $( CONFIG_TARGET_ROOTFS_INITRAMFS) ,)
$( CP) $( KDIR) /zImage-initramfs $( BIN_DIR) /$( IMG_PREFIX) -zImage-initramfs
echo -ne '\x00\x00\x00\x00' >> $( BIN_DIR) /$( IMG_PREFIX) -zImage-initramfs
$( call Image/BuildKernel/MkuImage, \
none, 0x40008000, 0x40008000, \
$( BIN_DIR) /$( IMG_PREFIX) -zImage-initramfs, \
$( BIN_DIR) /$( IMG_PREFIX) -uImage-initramfs \
)
endif
e n d e f
d e f i n e I m a g e / B u i l d / S D C a r d
rm -f $( KDIR_TMP) /$( IMG_PREFIX) -$( PROFILE) -boot.img
mkfs.fat $( KDIR_TMP) /$( IMG_PREFIX) -$( PROFILE) -boot.img -C $( FAT32_BLOCKS)
mcopy -i $( KDIR_TMP) /$( IMG_PREFIX) -$( PROFILE) -boot.img $( KDIR) /uboot-sunxi-$( PROFILE) -boot.scr ::boot.scr
mcopy -i $( KDIR_TMP) /$( IMG_PREFIX) -$( PROFILE) -boot.img $( DTS_DIR) /$( 2) .dtb ::dtb
mcopy -i $( KDIR_TMP) /$( IMG_PREFIX) -$( PROFILE) -boot.img $( BIN_DIR) /$( IMG_PREFIX) -uImage ::uImage
./gen_sunxi_sdcard_img.sh \
$( BIN_DIR) /$( IMG_PREFIX) -$( PROFILE) -sdcard-vfat-$( 1) .img \
$( KDIR_TMP) /$( IMG_PREFIX) -$( PROFILE) -boot.img \
$( KDIR) /root.$( 1) \
KERNEL_LOADADDR := 0x40008000
d e f i n e B u i l d / s u n x i - s d c a r d
rm -f $@ .boot
mkfs.fat $@ .boot -C $( FAT32_BLOCKS)
mcopy -i $@ .boot $( KDIR) /uboot-sunxi-$( SUNXI_UBOOT) -boot.scr ::boot.scr
mcopy -i $@ .boot $( DTS_DIR) /$( SUNXI_DTS) .dtb ::dtb
mcopy -i $@ .boot $( IMAGE_KERNEL) ::uImage
./gen_sunxi_sdcard_img.sh $@ \
$@ .boot \
$( IMAGE_ROOTFS) \
$( CONFIG_SUNXI_SD_BOOT_PARTSIZE) \
$( CONFIG_TARGET_ROOTFS_PARTSIZE) \
$( KDIR) /uboot-sunxi-$( PROFILE) -u-boot-with-spl.bin
ifneq ( $( CONFIG_TARGET_IMAGES_GZIP) ,)
gzip -f9n $( BIN_DIR) /$( IMG_PREFIX) -$( PROFILE) -sdcard-vfat-$( 1) .img
endif
$( KDIR) /uboot-sunxi-$( SUNXI_UBOOT) -u-boot-with-spl.bin
rm -f $@ .boot
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / A 1 0 - O L i n u X i n o - L i m e
$( call Image/Build/SDCard,$( 1) ,sun4i-a10-olinuxino-lime)
# why \x00\x00\x00\x00 for zImage-initramfs
d e f i n e D e v i c e / D e f a u l t
PROFILES := Default
DEVICE_VARS := SUNXI_DTS SUNXI_UBOOT
KERNEL_NAME := zImage
KERNEL := kernel-bin | uImage none
IMAGES := sdcard.img.gz
IMAGE/sdcard.img.gz := sunxi-sdcard | gzip
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / A 1 3 - O L i n u X i n o
$( call Image/Build/SDCard,$( 1) ,sun5i-a13-olinuxino)
d e f i n e D e v i c e / s u n 4 i - a 1 0 - o l i n u x i n o - l i m e
DEVICE_TITLE:= Olimex A10-OLinuXino-LIME
DEVICE_PACKAGES:= uboot-sunxi-A10-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUNXI_DTS:= sun4i-a10-olinuxino-lime
SUNXI_UBOOT:= A10-OLinuXino-Lime
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / A 2 0 - O L i n u X i n o - L i m e
$( call Image/Build/SDCard,$( 1) ,sun7i-a20-olinuxino-lime)
TARGET_DEVICES += sun4i-a10-olinuxino-lime
d e f i n e D e v i c e / s u n 5 i - a 1 3 - o l i m e x - s o m
DEVICE_TITLE:= Olimex A13 SOM
DEVICE_PACKAGES:= uboot-sunxi-OLIMEX_A13_SOM kmod-rtl8192cu
SUNXI_DTS:= sun5i-a13-olinuxino
SUNXI_UBOOT:= OLIMEX_A13_SOM
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / A 2 0 - O L i n u X i n o _ M I C R O
$( call Image/Build/SDCard,$( 1) ,sun7i-a20-olinuxino-micro)
TARGET_DEVICES += sun5i-a13-olimex-som
d e f i n e D e v i c e / s u n 5 i - a 1 3 - o l i n u x i n o
DEVICE_TITLE:= Olimex A13-Olinuxino
DEVICE_PACKAGES:= uboot-sunxi-A13-OLinuXino kmod-rtl8192cu
SUNXI_DTS:= sun5i-a13-olinuxino
SUNXI_UBOOT:= A13-OLinuXino
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / B a n a n a p i
$( call Image/Build/SDCard,$( 1) ,sun7i-a20-bananapi)
TARGET_DEVICES += sun5i-a13-olinuxino
d e f i n e D e v i c e / s u n 7 i - a 2 0 - o l i n u x i n o - l i m e
DEVICE_TITLE:= Olimex A20-OLinuXino-LIME
DEVICE_PACKAGES:= uboot-sunxi-A20-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
SUNXI_DTS:= sun7i-a20-olinuxino-lime
SUNXI_UBOOT:= A20-OLinuXino-Lime
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / B a n a n a p r o
$( call Image/Build/SDCard,$( 1) ,sun7i-a20-bananapro)
TARGET_DEVICES += sun7i-a20-olinuxino-lime
d e f i n e D e v i c e / s u n 7 i - a 2 0 - o l i n u x i n o - m i c r o
DEVICE_TITLE:= Olimex A20-Olinuxino Micro
DEVICE_PACKAGES:= uboot-sunxi-A20-OLinuXino_MICRO kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUNXI_DTS:= sun7i-a20-olinuxino-micro
SUNXI_UBOOT:= A20-OLinuXino_MICRO
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / L a m o b o _ R 1
$( call Image/Build/SDCard,$( 1) ,sun7i-a20-lamobo-r1)
TARGET_DEVICES += sun7i-a20-olinuxino-micro
d e f i n e D e v i c e / s u n 7 i - a 2 0 - b a n a n a p i
DEVICE_TITLE:= LeMaker Banana Pi
DEVICE_PACKAGES:= uboot-sunxi-Bananapi kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
SUNXI_DTS:= sun7i-a20-bananapi
SUNXI_UBOOT:= Bananapi
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / C u b i e b o a r d
$( call Image/Build/SDCard,$( 1) ,sun4i-a10-cubieboard)
TARGET_DEVICES += sun7i-a20-bananapi
d e f i n e D e v i c e / s u n 7 i - a 2 0 - b a n a n a p r o
DEVICE_TITLE:= LeMaker Banana Pro
DEVICE_PACKAGES:= uboot-sunxi-Bananapro kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
SUNXI_DTS:= sun7i-a20-bananapro
SUNXI_UBOOT:= Bananapro
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / C u b i e b o a r d 2
$( call Image/Build/SDCard,$( 1) ,sun7i-a20-cubieboard2)
TARGET_DEVICES += sun7i-a20-bananapro
d e f i n e D e v i c e / s u n 7 i - a 2 0 - c u b i e b o a r d 2
DEVICE_TITLE:= Cubietech Cubieboard2
DEVICE_PACKAGES:= uboot-sunxi-Cubieboard2 kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUNXI_DTS:= sun7i-a20-cubieboard2
SUNXI_UBOOT:= Cubieboard2
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / C u b i e t r u c k
$( call Image/Build/SDCard,$( 1) ,sun7i-a20-cubietruck)
TARGET_DEVICES += sun7i-a20-cubieboard2
d e f i n e D e v i c e / s u n 4 i - a 1 0 - c u b i e b o a r d
DEVICE_TITLE:= Cubietech Cubieboard
DEVICE_PACKAGES:= uboot-sunxi-Cubieboard kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUNXI_DTS:= sun4i-a10-cubieboard
SUNXI_UBOOT:= Cubieboard
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / O L I M E X _ A 1 3 _ S O M
$( call Image/Build/SDCard,$( 1) ,sun5i-a13-olinuxino)
TARGET_DEVICES += sun4i-a10-cubieboard
d e f i n e D e v i c e / s u n 7 i - a 2 0 - c u b i e t r u c k
DEVICE_TITLE:= Cubietech Cubietruck
DEVICE_PACKAGES:= uboot-sunxi-Cubietruck kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
SUNXI_DTS:= sun7i-a20-cubietruck
SUNXI_UBOOT:= Cubietruck
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / M e l e _ M 9
$( call Image/Build/SDCard,$( 1) ,sun6i-a31-m9)
TARGET_DEVICES += sun7i-a20-cubietruck
d e f i n e D e v i c e / s u n 7 i - a 2 0 - l a m o b o - r 1
DEVICE_TITLE:= Lamobo R1
DEVICE_PACKAGES:= uboot-sunxi-Lamobo_R1 kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini
SUNXI_DTS:= sun7i-a20-lamobo-r1
SUNXI_UBOOT:= Lamobo_R1
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / L i n k s p r i t e _ p c D u i n o
$( call Image/Build/SDCard,$( 1) ,sun4i-a10-pcduino)
TARGET_DEVICES += sun7i-a20-lamobo-r1
d e f i n e D e v i c e / s u n 6 i - a 3 1 - m 9
DEVICE_TITLE:= Mele M9 top set box
DEVICE_PACKAGES:= uboot-sunxi-Mele_M9 kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUNXI_DTS:= sun6i-a31-m9
SUNXI_UBOOT:= Mele_M9
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / L i n k s p r i t e _ p c D u i n o 3
$( call Image/Build/SDCard,$( 1) ,sun7i-a20-pcduino3)
TARGET_DEVICES += sun6i-a31-m9
d e f i n e D e v i c e / s u n 8 i - h 3 - o r a n g e p i - p l u s
DEVICE_TITLE:= Xunlong Orange Pi Plus
DEVICE_PACKAGES:= kmod-rtc-sunxi uboot-sunxi-orangepi_plus
SUNXI_DTS:= sun8i-h3-orangepi-plus
SUNXI_UBOOT:= orangepi_plus
e n d e f
d e f i n e I m a g e / B u i l d / P r o f i l e / o r a n g e p i _ p l u s
$( call Image/Build/SDCard,$( 1) ,sun8i-h3-orangepi-plus)
TARGET_DEVICES += sun8i-h3-orangepi-plus
d e f i n e D e v i c e / s u n 7 i - a 2 0 - p c d u i n o 3
DEVICE_TITLE:= LinkSprite pcDuino3
DEVICE_PACKAGES:= uboot-sunxi-Linksprite_pcDuino3 kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
SUNXI_DTS:= sun7i-a20-pcduino3
SUNXI_UBOOT:= Linksprite_pcDuino3
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) ,$( 1) )
$( call Image/Build/Profile/$( PROFILE) ,$( 1) )
TARGET_DEVICES += sun7i-a20-pcduino3
dd if = $( KDIR) /root.$( 1) of = $( BIN_DIR) /$( IMG_PREFIX) -root.$( 1) bs = 128k conv = sync
d e f i n e D e v i c e / s u n 4 i - a 1 0 - p c d u i n o
DEVICE_TITLE:= LinkSprite pcDuino
DEVICE_PACKAGES:= uboot-sunxi-Linksprite_pcDuino kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUNXI_DTS:= sun4i-a10-pcduino
SUNXI_UBOOT:= Linksprite_pcDuino
e n d e f
TARGET_DEVICES += sun4i-a10-pcduino
$( eval $ ( call BuildImage ) )