diff --git a/board/nanopineo/boot-fwupdater.cmd b/board/nanopineo/boot-fwupdater.cmd new file mode 100644 index 0000000000..b1ce16c87b --- /dev/null +++ b/board/nanopineo/boot-fwupdater.cmd @@ -0,0 +1,7 @@ +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait ro no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1 + +fatload mmc 0 0x46000000 Image +fatload mmc 0 0x47000000 rootfs.cpio.uboot +fatload mmc 0 0x48000000 sun8i-h3-nanopi-neo.dtb + +booti 0x46000000 0x47000000 0x48000000 diff --git a/board/nanopineo/boot.cmd b/board/nanopineo/boot.cmd new file mode 100644 index 0000000000..4471bf4b40 --- /dev/null +++ b/board/nanopineo/boot.cmd @@ -0,0 +1,6 @@ +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait ro no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1 + +fatload mmc 0 0x46000000 Image +fatload mmc 0 0x48000000 sun8i-h3-nanopi-neo.dtb + +booti 0x46000000 - 0x48000000 diff --git a/board/nanopineo/mkimage.sh b/board/nanopineo/mkimage.sh new file mode 100755 index 0000000000..e9971785f1 --- /dev/null +++ b/board/nanopineo/mkimage.sh @@ -0,0 +1,13 @@ +#!/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=$BOARD_DIR/u-boot-with-spl.bin +export UBOOT_SEEK=16 +export PART_START=40960 +source $COMMON_DIR/mkimage.sh + + diff --git a/board/nanopineo/os.conf b/board/nanopineo/os.conf new file mode 100644 index 0000000000..dc77b07e6d --- /dev/null +++ b/board/nanopineo/os.conf @@ -0,0 +1,2 @@ +os_tty_login="ttyS0" + diff --git a/board/nanopineo/overlay-initramfs/remove_initramfs b/board/nanopineo/overlay-initramfs/remove_initramfs new file mode 100755 index 0000000000..646372bb44 --- /dev/null +++ b/board/nanopineo/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/nanopineo/overlay/etc/board b/board/nanopineo/overlay/etc/board new file mode 100644 index 0000000000..65b444f219 --- /dev/null +++ b/board/nanopineo/overlay/etc/board @@ -0,0 +1 @@ +nanopineo diff --git a/board/nanopineo/overlay/etc/init.d/boardsn b/board/nanopineo/overlay/etc/init.d/boardsn new file mode 100755 index 0000000000..34ca56a576 --- /dev/null +++ b/board/nanopineo/overlay/etc/init.d/boardsn @@ -0,0 +1,5 @@ +#!/bin/bash + +sn=$(cat /sys/class/net/eth0/address 2>/dev/null | tr -d ':') +echo ${sn: -8} + diff --git a/board/nanopineo/overlay/usr/libexec/fw-prepare-boot b/board/nanopineo/overlay/usr/libexec/fw-prepare-boot new file mode 100755 index 0000000000..86f340ad02 --- /dev/null +++ b/board/nanopineo/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/nanopineo/postscript.sh b/board/nanopineo/postscript.sh new file mode 100755 index 0000000000..f484f2590f --- /dev/null +++ b/board/nanopineo/postscript.sh @@ -0,0 +1,11 @@ +#!/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/Image $BOOT_DIR +cp $BOARD_DIR/sun8i-h3-nanopi-neo.dtb $BOOT_DIR +cp $BOARD_DIR/rootfs.cpio.uboot $BOOT_DIR + diff --git a/board/nanopineo/rootfs.cpio.uboot b/board/nanopineo/rootfs.cpio.uboot new file mode 100644 index 0000000000..32bf6d9ec9 Binary files /dev/null and b/board/nanopineo/rootfs.cpio.uboot differ diff --git a/board/nanopineo/sun8i-h3-nanopi-neo.dtb b/board/nanopineo/sun8i-h3-nanopi-neo.dtb new file mode 100644 index 0000000000..55e70df679 Binary files /dev/null and b/board/nanopineo/sun8i-h3-nanopi-neo.dtb differ diff --git a/board/nanopineo/u-boot-with-spl.bin b/board/nanopineo/u-boot-with-spl.bin new file mode 100644 index 0000000000..ec19f9564b Binary files /dev/null and b/board/nanopineo/u-boot-with-spl.bin differ diff --git a/configs/nanopineo_defconfig b/configs/nanopineo_defconfig new file mode 100644 index 0000000000..c894f1fe0e --- /dev/null +++ b/configs/nanopineo_defconfig @@ -0,0 +1,77 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV4=y +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-nanopineo" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_SKELETON_CUSTOM=y +BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_TARGET_TZ_INFO=y +BR2_ROOTFS_OVERLAY="board/common/overlay board/nanopineo/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/friendlyarm/linux/archive/3f0ec3a78591ef3f0d06c59ae935de76d2c2de9b.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="sunxu" +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_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_PACKAGE_HOST_DTC=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/nanopineo_initramfs_defconfig b/configs/nanopineo_initramfs_defconfig new file mode 100644 index 0000000000..173c7c8ccb --- /dev/null +++ b/configs/nanopineo_initramfs_defconfig @@ -0,0 +1,14 @@ +BR2_arm=y +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-nanopineo-initramfs" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_SKELETON_CUSTOM=y +BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton-initramfs" +BR2_ROOTFS_OVERLAY="board/common/overlay-initramfs board/nanopineo/overlay-initramfs" +BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox_initramfs.config" +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set