diff --git a/board/orangepizero/boot-fwupdater.cmd b/board/orangepizero/boot-fwupdater.cmd new file mode 100644 index 0000000000..a30cfaa885 --- /dev/null +++ b/board/orangepizero/boot-fwupdater.cmd @@ -0,0 +1,7 @@ +setenv bootargs earlyprintk console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootwait ro no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1 + +fatload mmc 0 $kernel_addr_r zImage +fatload mmc 0 $ramdisk_addr_r uInitrd +fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb + +bootz $kernel_addr_r $ramdisk_addr_r $fdt_addr_r diff --git a/board/orangepizero/boot-fwupdater.scr b/board/orangepizero/boot-fwupdater.scr new file mode 100644 index 0000000000..6341e8baf8 Binary files /dev/null and b/board/orangepizero/boot-fwupdater.scr differ diff --git a/board/orangepizero/boot.cmd b/board/orangepizero/boot.cmd new file mode 100644 index 0000000000..df62ad4a6e --- /dev/null +++ b/board/orangepizero/boot.cmd @@ -0,0 +1,6 @@ +setenv bootargs earlyprintk console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootwait ro no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1 + +fatload mmc 0 $kernel_addr_r zImage +fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb + +bootz $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepizero/boot.scr b/board/orangepizero/boot.scr new file mode 100644 index 0000000000..9821e1d0a5 Binary files /dev/null and b/board/orangepizero/boot.scr differ diff --git a/board/orangepizero/cpinitramfs.sh b/board/orangepizero/cpinitramfs.sh new file mode 100755 index 0000000000..6b79ac324c --- /dev/null +++ b/board/orangepizero/cpinitramfs.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd + diff --git a/board/orangepizero/mkimage.sh b/board/orangepizero/mkimage.sh new file mode 100755 index 0000000000..2a136cac1e --- /dev/null +++ b/board/orangepizero/mkimage.sh @@ -0,0 +1,11 @@ +#!/bin/bash -e + +BOARD_DIR=$(dirname $0) +COMMON_DIR=${BOARD_DIR}/../common + +export BOARD=$(basename ${BOARD_DIR}) +export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/ +export UBOOT_BIN=${IMG_DIR}/u-boot-sunxi-with-spl.bin +export UBOOT_SEEK=16 +export BOOT_START=20 +source ${COMMON_DIR}/mkimage.sh diff --git a/board/orangepizero/os.conf b/board/orangepizero/os.conf new file mode 100644 index 0000000000..bbfeece44c --- /dev/null +++ b/board/orangepizero/os.conf @@ -0,0 +1,2 @@ +OS_TTY_LOGIN="ttyS0" + diff --git a/board/orangepizero/overlay-initramfs/remove_initramfs b/board/orangepizero/overlay-initramfs/remove_initramfs new file mode 100755 index 0000000000..646372bb44 --- /dev/null +++ b/board/orangepizero/overlay-initramfs/remove_initramfs @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -f /boot/boot-normal.scr ]; then + mv /boot/boot.scr /boot/boot-fwupdater.scr + mv /boot/boot-normal.scr /boot/boot.scr +fi diff --git a/board/orangepizero/overlay/etc/board b/board/orangepizero/overlay/etc/board new file mode 100644 index 0000000000..b7043d5e36 --- /dev/null +++ b/board/orangepizero/overlay/etc/board @@ -0,0 +1 @@ +orangepizero diff --git a/board/orangepizero/overlay/etc/init.d/boardsn b/board/orangepizero/overlay/etc/init.d/boardsn new file mode 100755 index 0000000000..16881c26f7 --- /dev/null +++ b/board/orangepizero/overlay/etc/init.d/boardsn @@ -0,0 +1,5 @@ +#!/bin/bash + +sn=$(cat /proc/cpuinfo | grep Serial | tr -d ' ' | cut -d ':' -f 2) +echo ${sn: -8} + diff --git a/board/orangepizero/overlay/usr/libexec/fw-prepare-boot b/board/orangepizero/overlay/usr/libexec/fw-prepare-boot new file mode 100755 index 0000000000..86f340ad02 --- /dev/null +++ b/board/orangepizero/overlay/usr/libexec/fw-prepare-boot @@ -0,0 +1,7 @@ +#!/bin/bash + +if [ -f /boot/boot-fwupdater.scr ]; then + mv /boot/boot.scr /boot/boot-normal.scr + mv /boot/boot-fwupdater.scr /boot/boot.scr +fi + diff --git a/board/orangepizero/postscript.sh b/board/orangepizero/postscript.sh new file mode 100755 index 0000000000..ac5221051f --- /dev/null +++ b/board/orangepizero/postscript.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot.cmd ${BOOT_DIR}/boot.scr +${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot-fwupdater.cmd ${BOOT_DIR}/boot-fwupdater.scr + +cp ${IMG_DIR}/zImage ${BOOT_DIR} +cp ${IMG_DIR}/sun8i-h2-plus-orangepi-zero.dtb ${BOOT_DIR} +cp ${BOARD_DIR}/rootfs.cpio.uboot ${BOOT_DIR} diff --git a/board/orangepizero/uInitrd b/board/orangepizero/uInitrd new file mode 100644 index 0000000000..5b91f1266c Binary files /dev/null and b/board/orangepizero/uInitrd differ diff --git a/configs/orangepizero_defconfig b/configs/orangepizero_defconfig new file mode 100644 index 0000000000..5868e41ff6 --- /dev/null +++ b/configs/orangepizero_defconfig @@ -0,0 +1,85 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-orangepione" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y +BR2_ROOTFS_OVERLAY="board/common/overlay board/orangepione/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.9" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero" +BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_B43_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y +BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y +BR2_PACKAGE_USB_MODESWITCH_DATA=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y +BR2_PACKAGE_LIBFUSE=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_CURL=y +BR2_PACKAGE_LIBCAP=y +BR2_PACKAGE_PCRE=y +BR2_PACKAGE_PCRE_UCP=y +BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_CRDA=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_CLIENT=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_NETCAT=y +BR2_PACKAGE_NET_TOOLS=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_PPPD=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y +BR2_PACKAGE_WPA_SUPPLICANT_EAP=y +BR2_PACKAGE_WPA_SUPPLICANT_WPS=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_LOGROTATE=y +BR2_PACKAGE_TAR=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_NANO=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/orangepizero_initramfs_defconfig b/configs/orangepizero_initramfs_defconfig new file mode 100644 index 0000000000..16899e7f20 --- /dev/null +++ b/configs/orangepizero_initramfs_defconfig @@ -0,0 +1,16 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_VFPV4=y +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-orangepizero-initramfs" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_OVERLAY="board/common/overlay-initramfs board/orangepione/overlay-initramfs" +BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox_initramfs.config" +BR2_PACKAGE_UTIL_LINUX=y +BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set