Initial commit

This commit is contained in:
domenico
2025-06-24 16:03:39 +02:00
commit f3256cdaf2
6949 changed files with 1441681 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
config SUNXI_SD_BOOT_PARTSIZE
int "Boot (SD Card) filesystem partition size (in MB)"
depends on TARGET_sunxi
default 20

View File

@@ -0,0 +1,46 @@
#
# 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.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
FAT32_BLOCK_SIZE=1024
FAT32_BLOCKS=$(shell echo $$(($(CONFIG_SUNXI_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
KERNEL_LOADADDR:=0x40008000
define Build/sunxi-sdcard
rm -f $@.boot
mkfs.fat $@.boot -C $(FAT32_BLOCKS)
mcopy -i $@.boot $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-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) \
$(STAGING_DIR_IMAGE)/$(DEVICE_NAME)-u-boot-with-spl.bin
rm -f $@.boot
endef
# why \x00\x00\x00\x00 for zImage-initramfs
define Device/Default
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 | append-metadata | gzip
endef
include cortex-a7.mk
include cortex-a8.mk
include cortex-a53.mk
$(eval $(call BuildImage))

View File

@@ -0,0 +1,71 @@
#
# 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.
#
ifeq ($(SUBTARGET),cortexa53)
define Device/sun50i-h5-nanopi-neo-plus2
DEVICE_TITLE:=Nanopi NEO Plus2 (H5)
SUPPORTED_DEVICES:=nanopi-neo-plus2
SUNXI_DTS:=allwinner/sun50i-h5-nanopi-neo-plus2
KERNEL_NAME := Image
KERNEL := kernel-bin
endef
TARGET_DEVICES += sun50i-h5-nanopi-neo-plus2
define Device/sun50i-h5-nanopi-neo2
DEVICE_TITLE:=Nanopi NEO2 (H5)
SUPPORTED_DEVICES:=nanopi-neo2
SUNXI_DTS:=allwinner/sun50i-h5-nanopi-neo2
KERNEL_NAME := Image
KERNEL := kernel-bin
endef
TARGET_DEVICES += sun50i-h5-nanopi-neo2
define Device/sun50i-a64-pine64-plus
DEVICE_TITLE:=Pine64 Plus A64
SUPPORTED_DEVICES:=pine64,pine64-plus
SUNXI_DTS:=allwinner/sun50i-a64-pine64-plus
KERNEL_NAME := Image
KERNEL := kernel-bin
endef
TARGET_DEVICES += sun50i-a64-pine64-plus
define Device/sun50i-a64-sopine-baseboard
DEVICE_TITLE:=Pine64 Sopine
SUPPORTED_DEVICES:=pine64,sopine-baseboard
SUNXI_DTS:=allwinner/sun50i-a64-sopine-baseboard
KERNEL_NAME := Image
KERNEL := kernel-bin
endef
TARGET_DEVICES += sun50i-a64-sopine-baseboard
define Device/sun50i-h5-orangepi-zero-plus
DEVICE_TITLE:=Xunlong Orange Pi Zero Plus
SUPPORTED_DEVICES:=xunlong,orangepi-zero-plus
SUNXI_DTS:=allwinner/sun50i-h5-orangepi-zero-plus
KERNEL_NAME := Image
KERNEL := kernel-bin
endef
TARGET_DEVICES += sun50i-h5-orangepi-zero-plus
define Device/sun50i-h5-orangepi-pc2
DEVICE_TITLE:=Xunlong Orange Pi PC2
SUPPORTED_DEVICES:=xunlong,orangepi-pc2
SUNXI_DTS:=allwinner/sun50i-h5-orangepi-pc2
KERNEL_NAME := Image
KERNEL := kernel-bin
endef
TARGET_DEVICES += sun50i-h5-orangepi-pc2
endif

View File

@@ -0,0 +1,220 @@
#
# Copyright (C) 2013-2019 OpenWrt.org
# Copyright (C) 2016 Yousong Zhou
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
ifeq ($(SUBTARGET),cortexa7)
define Device/sun7i-a20-olinuxino-lime
DEVICE_TITLE:=Olimex A20-OLinuXino-LIME
DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime
SUNXI_DTS:=sun7i-a20-olinuxino-lime
endef
TARGET_DEVICES += sun7i-a20-olinuxino-lime
define Device/sun7i-a20-olinuxino-lime2
DEVICE_TITLE:=Olimex A20-OLinuXino-LIME2
DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-usb-hid
SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime2
SUNXI_DTS:=sun7i-a20-olinuxino-lime2
endef
TARGET_DEVICES += sun7i-a20-olinuxino-lime2
define Device/sun7i-a20-olinuxino-lime2-emmc
DEVICE_TITLE:=Olimex A20-OLinuXino-LIME2-eMMC
DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-usb-hid
SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime2-emmc
SUNXI_DTS:=sun7i-a20-olinuxino-lime2-emmc
endef
TARGET_DEVICES += sun7i-a20-olinuxino-lime2-emmc
define Device/sun7i-a20-olinuxino-micro
DEVICE_TITLE:=Olimex A20-Olinuxino Micro
DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro
SUNXI_DTS:=sun7i-a20-olinuxino-micro
endef
TARGET_DEVICES += sun7i-a20-olinuxino-micro
define Device/sun7i-a20-bananapi
DEVICE_TITLE:=LeMaker Banana Pi
DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
SUPPORTED_DEVICES:=lemaker,bananapi
SUNXI_DTS:=sun7i-a20-bananapi
endef
TARGET_DEVICES += sun7i-a20-bananapi
define Device/sun7i-a20-bananapro
DEVICE_TITLE:=LeMaker Banana Pro
DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
SUPPORTED_DEVICES:=lemaker,bananapro
SUNXI_DTS:=sun7i-a20-bananapro
endef
TARGET_DEVICES += sun7i-a20-bananapro
define Device/sun7i-a20-cubieboard2
DEVICE_TITLE:=Cubietech Cubieboard2
DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=cubietech,cubieboard2
SUNXI_DTS:=sun7i-a20-cubieboard2
endef
TARGET_DEVICES += sun7i-a20-cubieboard2
define Device/sun7i-a20-cubietruck
DEVICE_TITLE:=Cubietech Cubietruck
DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
SUPPORTED_DEVICES:=cubietech,cubietruck
SUNXI_DTS:=sun7i-a20-cubietruck
endef
TARGET_DEVICES += sun7i-a20-cubietruck
define Device/sun7i-a20-lamobo-r1
DEVICE_TITLE:=Lamobo R1
DEVICE_PACKAGES:=kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-basic
SUPPORTED_DEVICES:=lamobo,lamobo-r1
SUNXI_DTS:=sun7i-a20-lamobo-r1
endef
TARGET_DEVICES += sun7i-a20-lamobo-r1
define Device/sun6i-a31-m9
DEVICE_TITLE:=Mele M9 top set box
DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUPPORTED_DEVICES:=mele,m9
SUNXI_DTS:=sun6i-a31-m9
endef
TARGET_DEVICES += sun6i-a31-m9
define Device/sun8i-h2-plus-orangepi-zero
DEVICE_TITLE:=Xunlong Orange Pi Zero
DEVICE_PACKAGES:=kmod-rtc-sunxi
SUPPORTED_DEVICES:=xunlong,orangepi-zero
SUNXI_DTS:=sun8i-h2-plus-orangepi-zero
endef
TARGET_DEVICES += sun8i-h2-plus-orangepi-zero
define Device/sun8i-h2-plus-orangepi-r1
DEVICE_TITLE:=Xunlong Orange Pi R1
DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-usb-net kmod-usb-net-rtl8152
SUPPORTED_DEVICES:=xunlong,orangepi-r1
SUNXI_DTS:=sun8i-h2-plus-orangepi-r1
endef
TARGET_DEVICES += sun8i-h2-plus-orangepi-r1
define Device/sun8i-h3-bananapi-m2-plus
DEVICE_TITLE:=Sinovoip Banana Pi M2 Plus
DEVICE_PACKAGES:=kmod-rtc-sunxi \
kmod-leds-gpio kmod-ledtrig-heartbeat \
kmod-brcmfmac brcmfmac-firmware-43430a0-sdio wpad-basic
SUPPORTED_DEVICES:=sinovoip,bananapi-m2-plus
SUNXI_DTS:=sun8i-h3-bananapi-m2-plus
endef
TARGET_DEVICES += sun8i-h3-bananapi-m2-plus
define Device/sun8i-h3-nanopi-m1-plus
DEVICE_TITLE:=FriendlyArm NanoPi M1 Plus
DEVICE_PACKAGES:=kmod-rtc-sunxi \
kmod-leds-gpio kmod-ledtrig-heartbeat \
kmod-brcmfmac brcmfmac-firmware-43430-sdio wpad-basic
SUPPORTED_DEVICES:=friendlyarm,nanopi-m1-plus
SUNXI_DTS:=sun8i-h3-nanopi-m1-plus
endef
TARGET_DEVICES += sun8i-h3-nanopi-m1-plus
define Device/sun8i-h3-nanopi-neo
DEVICE_TITLE:=FriendlyARM NanoPi NEO
SUPPORTED_DEVICES:=friendlyarm,nanopi-neo
SUNXI_DTS:=sun8i-h3-nanopi-neo
endef
TARGET_DEVICES += sun8i-h3-nanopi-neo
define Device/sun8i-h3-orangepi-one
DEVICE_TITLE:=Xunlong Orange Pi One
DEVICE_PACKAGES:=kmod-rtc-sunxi
SUPPORTED_DEVICES:=xunlong,orangepi-one
SUNXI_DTS:=sun8i-h3-orangepi-one
endef
TARGET_DEVICES += sun8i-h3-orangepi-one
define Device/sun8i-h3-orangepi-pc
DEVICE_TITLE:=Xunlong Orange Pi PC
DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug
SUPPORTED_DEVICES:=xunlong,orangepi-pc
SUNXI_DTS:=sun8i-h3-orangepi-pc
endef
TARGET_DEVICES += sun8i-h3-orangepi-pc
define Device/sun8i-h3-orangepi-pc-plus
DEVICE_TITLE:=Xunlong Orange Pi PC Plus
DEVICE_PACKAGES:=kmod-rtc-sunxi kmod-gpio-button-hotplug
SUPPORTED_DEVICES:=xunlong,orangepi-pc-plus
SUNXI_DTS:=sun8i-h3-orangepi-pc-plus
endef
TARGET_DEVICES += sun8i-h3-orangepi-pc-plus
define Device/sun8i-h3-orangepi-plus
DEVICE_TITLE:=Xunlong Orange Pi Plus
DEVICE_PACKAGES:=kmod-rtc-sunxi
SUPPORTED_DEVICES:=xunlong,orangepi-plus
SUNXI_DTS:=sun8i-h3-orangepi-plus
endef
TARGET_DEVICES += sun8i-h3-orangepi-plus
define Device/sun8i-h3-orangepi-2
DEVICE_TITLE:=Xunlong Orange Pi 2
DEVICE_PACKAGES:=kmod-rtc-sunxi
SUPPORTED_DEVICES:=xunlong,orangepi-2
SUNXI_DTS:=sun8i-h3-orangepi-2
endef
TARGET_DEVICES += sun8i-h3-orangepi-2
define Device/sun7i-a20-pcduino3
DEVICE_TITLE:=LinkSprite pcDuino3
DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
SUPPORTED_DEVICES:=linksprite,pcduino3
SUNXI_DTS:=sun7i-a20-pcduino3
endef
TARGET_DEVICES += sun7i-a20-pcduino3
endif

View File

@@ -0,0 +1,69 @@
#
# 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.
#
ifeq ($(SUBTARGET),cortexa8)
define Device/sun4i-a10-olinuxino-lime
DEVICE_TITLE:=Olimex A10-OLinuXino-LIME
DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime
SUNXI_DTS:=sun4i-a10-olinuxino-lime
endef
TARGET_DEVICES += sun4i-a10-olinuxino-lime
define Device/sun5i-a13-olimex-som
DEVICE_TITLE:=Olimex A13 SOM
DEVICE_PACKAGES:=kmod-rtl8192cu
SUPPORTED_DEVICES:=olimex,a13-olinuxino
SUNXI_DTS:=sun5i-a13-olinuxino
endef
TARGET_DEVICES += sun5i-a13-olimex-som
define Device/sun5i-a13-olinuxino
DEVICE_TITLE:=Olimex A13-Olinuxino
DEVICE_PACKAGES:=kmod-rtl8192cu
SUPPORTED_DEVICES:=olimex,a13-olinuxino
SUNXI_DTS:=sun5i-a13-olinuxino
endef
TARGET_DEVICES += sun5i-a13-olinuxino
define Device/sun4i-a10-cubieboard
DEVICE_TITLE:=Cubietech Cubieboard
DEVICE_PACKAGES:=kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=cubietech,a10-cubieboard
SUNXI_DTS:=sun4i-a10-cubieboard
endef
TARGET_DEVICES += sun4i-a10-cubieboard
define Device/sun4i-a10-pcduino
DEVICE_TITLE:=LinkSprite pcDuino
DEVICE_PACKAGES:=kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUPPORTED_DEVICES:=linksprite,a10-pcduino
SUNXI_DTS:=sun4i-a10-pcduino
endef
TARGET_DEVICES += sun4i-a10-pcduino
define Device/sun4i-a10-marsboard
DEVICE_TITLE:=HAOYU Electronics Marsboard A10
DEVICE_PACKAGES:=mod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi sound-soc-sunxi
SUPPORTED_DEVICES:=marsboard,a10-marsboard
SUNXI_DTS:=sun4i-a10-marsboard
endef
TARGET_DEVICES += sun4i-a10-marsboard
endif

View File

@@ -0,0 +1,34 @@
#!/usr/bin/env bash
#
# Copyright (C) 2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
set -ex
[ $# -eq 6 ] || {
echo "SYNTAX: $0 <file> <bootfs image> <rootfs image> <bootfs size> <rootfs size> <u-boot image>"
exit 1
}
OUTPUT="$1"
BOOTFS="$2"
ROOTFS="$3"
BOOTFSSIZE="$4"
ROOTFSSIZE="$5"
UBOOT="$6"
head=4
sect=63
set `ptgen -o $OUTPUT -h $head -s $sect -l 1024 -t c -p ${BOOTFSSIZE}M -t 83 -p ${ROOTFSSIZE}M`
BOOTOFFSET="$(($1 / 512))"
BOOTSIZE="$(($2 / 512))"
ROOTFSOFFSET="$(($3 / 512))"
ROOTFSSIZE="$(($4 / 512))"
dd bs=1024 if="$UBOOT" of="$OUTPUT" seek=8 conv=notrunc
dd bs=512 if="$BOOTFS" of="$OUTPUT" seek="$BOOTOFFSET" conv=notrunc
dd bs=512 if="$ROOTFS" of="$OUTPUT" seek="$ROOTFSOFFSET" conv=notrunc