From ce417dedd75e85bf6dc4aa8bd1ace08ed61324f8 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 8 Jul 2024 06:57:15 +0200 Subject: [PATCH] Finalize board support for StarFive VisionFive2 - Sync defconfig with aarch64 - Sync linux_defconfig with aarch64 - ethtool w/ netlink not supported yet for the StarFice dwmac - note, waaay too many unused drivers still - Add aux/cfg/var partitions to sdcard, no rauc support yet - Add factory-password-hash to device tree Signed-off-by: Joachim Wiberg --- board/riscv64/linux_defconfig | 266 +++++++++++++++++- board/riscv64/visionfive2/genimage.cfg | 57 +++- .../jh7110-starfive-visionfive-2-dtsi.patch | 14 + .../rootfs/boot/extlinux/extlinux.conf | 4 +- .../visionfive2/rootfs/etc/rauc/system.conf | 18 ++ configs/riscv64_defconfig | 149 +++++++++- 6 files changed, 488 insertions(+), 20 deletions(-) create mode 100644 board/riscv64/visionfive2/jh7110-starfive-visionfive-2-dtsi.patch create mode 100644 board/riscv64/visionfive2/rootfs/etc/rauc/system.conf diff --git a/board/riscv64/linux_defconfig b/board/riscv64/linux_defconfig index d6d1a652..0933fae3 100644 --- a/board/riscv64/linux_defconfig +++ b/board/riscv64/linux_defconfig @@ -1,16 +1,37 @@ CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y # CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_AUDIT=y CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +CONFIG_PREEMPT=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y CONFIG_PSI=y # CONFIG_CPU_ISOLATION is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y -CONFIG_CGROUPS=y -CONFIG_CGROUP_SCHED=y +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_BPF=y CONFIG_NAMESPACES=y +CONFIG_USER_NS=y +CONFIG_SCHED_AUTOGROUP=y CONFIG_BLK_DEV_INITRD=y # CONFIG_RD_BZIP2 is not set # CONFIG_RD_LZMA is not set @@ -19,7 +40,8 @@ CONFIG_BLK_DEV_INITRD=y # CONFIG_RD_LZ4 is not set CONFIG_EXPERT=y # CONFIG_SYSFS_SYSCALL is not set -CONFIG_PERF_EVENTS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_PROFILING=y CONFIG_SOC_STARFIVE=y CONFIG_ERRATA_SIFIVE=y CONFIG_NONPORTABLE=y @@ -30,12 +52,12 @@ CONFIG_HIBERNATION=y CONFIG_CPU_IDLE=y CONFIG_RISCV_SBI_CPUIDLE=y CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPUFREQ_DT=y +CONFIG_KPROBES=y CONFIG_JUMP_LABEL=y # CONFIG_STACKPROTECTOR is not set # CONFIG_GCC_PLUGINS is not set @@ -49,50 +71,222 @@ CONFIG_PARTITION_ADVANCED=y # CONFIG_MQ_IOSCHED_DEADLINE is not set # CONFIG_MQ_IOSCHED_KYBER is not set CONFIG_KSM=y -# CONFIG_VM_EVENT_COUNTERS is not set +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_CMA=y CONFIG_NET=y CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=y +CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_IP_PNP=y +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=m +CONFIG_NET_FOU_IP_TUNNELS=y CONFIG_INET_DIAG=m # CONFIG_IPV6_SIT is not set +CONFIG_IPV6_GRE=m CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETFILTER=y +CONFIG_BRIDGE_NETFILTER=y +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_TABLES=y +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NFT_CT=m +CONFIG_NFT_CONNLIMIT=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_NAT=m +CONFIG_NFT_TUNNEL=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_HASH=m +CONFIG_NFT_XFRM=m +CONFIG_NFT_SOCKET=m +CONFIG_NFT_OSF=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_REJECT_NETDEV=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_NF_TABLES_BRIDGE=m +CONFIG_NFT_BRIDGE_META=m +CONFIG_NF_CONNTRACK_BRIDGE=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BRIDGE=y +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_BRIDGE_MRP=y +CONFIG_BRIDGE_CFM=y +CONFIG_NET_DSA=y +CONFIG_VLAN_8021Q=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_MQPRIO=y +CONFIG_NET_CLS_BASIC=y +CONFIG_NET_CLS_BPF=y +CONFIG_NET_CLS_FLOWER=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_GACT=y +CONFIG_NET_ACT_MIRRED=y +CONFIG_NET_ACT_SKBEDIT=y +CONFIG_DCB=y +CONFIG_NETLINK_DIAG=y +CONFIG_MPLS=y +CONFIG_NET_MPLS_GSO=y +CONFIG_MPLS_ROUTING=m +CONFIG_MPLS_IPTUNNEL=m +CONFIG_NET_PKTGEN=y # CONFIG_WIRELESS is not set +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +CONFIG_LWTUNNEL=y # CONFIG_ETHTOOL_NETLINK is not set CONFIG_PCI=y CONFIG_PCIEPORTBUS=y +CONFIG_PCI_IOV=y CONFIG_PCI_HOST_GENERIC=y +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_STANDALONE is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set CONFIG_FW_LOADER=m CONFIG_SIFIVE_CCACHE=y +CONFIG_FW_CFG_SYSFS=y +CONFIG_FW_CFG_SYSFS_CMDLINE=y CONFIG_EFI_DISABLE_RUNTIME=y CONFIG_MTD=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_BLOCK2MTD=y +CONFIG_MTD_RAW_NAND=y CONFIG_MTD_SPI_NOR=y +CONFIG_OF_OVERLAY=y +CONFIG_BLK_DEV_NULL_BLK=y CONFIG_ZRAM=y CONFIG_ZRAM_MEMORY_TRACKING=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=1 +CONFIG_BLK_DEV_RAM=y +CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_NVME=y -CONFIG_SCSI=y +CONFIG_EEPROM_AT24=y CONFIG_BLK_DEV_SD=y -CONFIG_BLK_DEV_SR=y +CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_PATA_OF_PLATFORM=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_INIT=y +CONFIG_DM_VERITY=y +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y CONFIG_NETDEVICES=y +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_NET_TEAM=m +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m +CONFIG_NET_TEAM_MODE_LOADBALANCE=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_IPVLAN=m +CONFIG_IPVTAP=m +CONFIG_VXLAN=m +CONFIG_GENEVE=m +CONFIG_BAREUDP=m +CONFIG_MACSEC=m +CONFIG_TUN=m +CONFIG_VETH=m +CONFIG_VIRTIO_NET=y +CONFIG_NLMON=y +CONFIG_NET_VRF=y +CONFIG_8139CP=y CONFIG_STMMAC_ETH=y CONFIG_DWMAC_DWC_QOS_ETH=y # CONFIG_DWMAC_GENERIC is not set CONFIG_DWMAC_STARFIVE=y CONFIG_MICROCHIP_PHY=y CONFIG_MOTORCOMM_PHY=y +CONFIG_USB_RTL8152=m +CONFIG_USB_USBNET=m # CONFIG_WLAN is not set -# CONFIG_INPUT_KEYBOARD is not set +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_GPIO=y # CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set # CONFIG_VT is not set # CONFIG_LEGACY_PTYS is not set # CONFIG_LDISC_AUTOLOAD is not set @@ -106,12 +300,17 @@ CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_VIRTIO_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_JH7110=y # CONFIG_I2C_COMPAT is not set CONFIG_I2C_CHARDEV=y -# CONFIG_I2C_HELPER_AUTO is not set +CONFIG_I2C_MUX=y +CONFIG_I2C_MUX_GPIO=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_I2C_MUX_PINCTRL=y CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_SLAVE=y CONFIG_SPI=y CONFIG_SPI_CADENCE_QUADSPI=y CONFIG_SPI_PL022=y @@ -126,6 +325,8 @@ CONFIG_THERMAL=y CONFIG_CPU_THERMAL=y CONFIG_THERMAL_EMULATION=y CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_SYSFS=y +CONFIG_SOFT_WATCHDOG=y CONFIG_MFD_AXP20X_I2C=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y @@ -169,6 +370,20 @@ CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SDHCI_OF_DWCMSHC=y CONFIG_MMC_DW=y CONFIG_MMC_DW_STARFIVE=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_SYSCON=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_NETDEV=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_PCF8523=y +CONFIG_RTC_DRV_DS3232=y +CONFIG_RTC_DRV_EFI=y +CONFIG_RTC_DRV_PL031=y CONFIG_DMADEVICES=y CONFIG_AMBA_PL08X=y CONFIG_DW_AXI_DMAC=y @@ -187,12 +402,18 @@ CONFIG_PWM=y CONFIG_PHY_STARFIVE_JH7110_DPHY_RX=y CONFIG_PHY_STARFIVE_JH7110_PCIE=y CONFIG_PHY_STARFIVE_JH7110_USB=y -CONFIG_EXT4_FS=y +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_BTRFS_FS=y CONFIG_BTRFS_FS_POSIX_ACL=y -# CONFIG_DNOTIFY is not set CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_QUOTA=y CONFIG_AUTOFS_FS=y +CONFIG_FUSE_FS=y +CONFIG_VIRTIO_FS=y +CONFIG_OVERLAY_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_UTF8=y @@ -205,21 +426,37 @@ CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_EFIVAR_FS=y CONFIG_JFFS2_FS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZSTD=y CONFIG_NFS_FS=y CONFIG_NFS_V4=y CONFIG_NFS_V4_1=y CONFIG_NFS_V4_2=y CONFIG_ROOT_NFS=y +CONFIG_9P_FS=y CONFIG_NLS_DEFAULT="iso8859-15" CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_15=y +CONFIG_SECURITY=y CONFIG_LSM="" +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_ECHAINIV=y CONFIG_CRYPTO_ZSTD=y +CONFIG_CRYPTO_ANSI_CPRNG=y # CONFIG_RAID6_PQ_BENCHMARK is not set +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=0 +CONFIG_IRQ_POLL=y +CONFIG_PRINTK_TIME=y # CONFIG_DEBUG_MISC is not set +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_STRIP_ASM_SYMS=y CONFIG_DEBUG_SECTION_MISMATCH=y # CONFIG_SECTION_MISMATCH_WARN_ONLY is not set +CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_FS=y # CONFIG_SLUB_DEBUG is not set CONFIG_DEBUG_RODATA_TEST=y @@ -232,3 +469,4 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_RCU_TRACE is not set # CONFIG_FTRACE is not set # CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_MEMTEST=y diff --git a/board/riscv64/visionfive2/genimage.cfg b/board/riscv64/visionfive2/genimage.cfg index 8133e740..91238725 100644 --- a/board/riscv64/visionfive2/genimage.cfg +++ b/board/riscv64/visionfive2/genimage.cfg @@ -1,4 +1,41 @@ -# Minimal SD card image for the Starfive VisionFive2 board +# Infix SD card image for the Starfive VisionFive2 +# +# NOTE: The aux partition doesn't do anything more than silence the boot atm. +# The current U-Boot for the VisionFive2 doesn't support loading kernel +# from rootfs.squashfs, so we've made this ugly hack with ext4 instead. + +image aux.ext4 { + #mountpoint = "/aux" + temporary = true + size = 16M + + ext4 { + label = "aux" + use-mke2fs = true + } +} + +image cfg.ext4 { + empty = true + temporary = true + size = 16M + + ext4 { + label = "cfg" + use-mke2fs = true + } +} + +image var.ext4 { + empty = true + temporary = true + size = 512M + + ext4 { + label = "var" + use-mke2fs = true + } +} image sdcard.img { hdimage { @@ -20,4 +57,22 @@ image sdcard.img { bootable = true image = "rootfs.ext4" } + + partition aux { + partition-uuid = D4EF35A0-0652-45A1-B3DE-D63339C82035 + image = "aux.ext4" + } + + partition cfg { + partition-uuid = 7aa497f0-73b5-47e5-b2ab-8752d8a48105 + image = "cfg.ext4" + } + + partition var { + partition-uuid = 8046A06A-E45A-4A14-A6AD-6684704A393F + image = "var.ext4" + } } + +# Silence genimage warnings +config {} diff --git a/board/riscv64/visionfive2/jh7110-starfive-visionfive-2-dtsi.patch b/board/riscv64/visionfive2/jh7110-starfive-visionfive-2-dtsi.patch new file mode 100644 index 00000000..38c6f023 --- /dev/null +++ b/board/riscv64/visionfive2/jh7110-starfive-visionfive-2-dtsi.patch @@ -0,0 +1,14 @@ +--- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi ++++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi +@@ -24,6 +24,11 @@ aliases { + + chosen { + stdout-path = "serial0:115200n8"; ++ ++ infix { ++ /* Default admin user password: 'admin' */ ++ factory-password-hash = "$5$mI/zpOAqZYKLC2WU$i7iPzZiIjOjrBF3NyftS9CCq8dfYwHwrmUK097Jca9A"; ++ }; + }; + + cpus { diff --git a/board/riscv64/visionfive2/rootfs/boot/extlinux/extlinux.conf b/board/riscv64/visionfive2/rootfs/boot/extlinux/extlinux.conf index fd772f36..622ccd58 100644 --- a/board/riscv64/visionfive2/rootfs/boot/extlinux/extlinux.conf +++ b/board/riscv64/visionfive2/rootfs/boot/extlinux/extlinux.conf @@ -1,4 +1,4 @@ -label linux +label Infix (riscv64) kernel /boot/Image devicetree /boot/jh7110-starfive-visionfive-2-v1.3b.dtb - append console=ttyS0,115200 root=/dev/mmcblk1p3 + append console=ttyS0,115200 root=/dev/mmcblk1p3 quiet diff --git a/board/riscv64/visionfive2/rootfs/etc/rauc/system.conf b/board/riscv64/visionfive2/rootfs/etc/rauc/system.conf new file mode 100644 index 00000000..3a4f9c2f --- /dev/null +++ b/board/riscv64/visionfive2/rootfs/etc/rauc/system.conf @@ -0,0 +1,18 @@ +[system] +compatible=infix-riscv64 +bootloader=uboot +statusfile=/mnt/aux/rauc.status +mountprefix=/var/lib/rauc/mnt +bundle-formats=-plain +max-bundle-download-size=1073741824 + +[keyring] +directory=/etc/rauc/keys + +[slot.rootfs.0] +device=/dev/mmcblk1p3 +bootname=primary + +[slot.net.0] +device=/dev/ram0 +bootname=net diff --git a/configs/riscv64_defconfig b/configs/riscv64_defconfig index f366aede..c05a2c5d 100644 --- a/configs/riscv64_defconfig +++ b/configs/riscv64_defconfig @@ -1,26 +1,133 @@ BR2_riscv=y BR2_TOOLCHAIN_EXTERNAL=y +BR2_DL_DIR="${BR2_EXTERNAL_INFIX_PATH}/dl" BR2_CCACHE=y BR2_CCACHE_DIR="${BR2_EXTERNAL_INFIX_PATH}/.ccache" -BR2_GLOBAL_PATCH_DIR="${BR2_EXTERNAL_INFIX_PATH}/board/riscv64/visionfive2/patches" +BR2_ENABLE_DEBUG=y +BR2_GLOBAL_PATCH_DIR="${BR2_EXTERNAL_INFIX_PATH}/patches ${BR2_EXTERNAL_INFIX_PATH}/board/riscv64/visionfive2/patches" BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="infix" BR2_TARGET_GENERIC_ISSUE="Infix by KernelKit" +BR2_INIT_FINIT=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt ${BR2_EXTERNAL_INFIX_PATH}/board/common/xattrs" +# BR2_TARGET_ENABLE_ROOT_LOGIN is not set +BR2_SYSTEM_BIN_SH_BASH=y +BR2_TARGET_GENERIC_GETTY_PORT="@console" +BR2_TARGET_GENERIC_GETTY_TERM="xterm" BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/riscv64/visionfive2/rootfs" -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ENABLE_LOCALE_WHITELIST="C en_US en_CA C.UTF-8" +BR2_GENERATE_LOCALE="en_US en_CA C.UTF-8" +BR2_TARGET_TZ_INFO=y +BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNAL_INFIX_PATH}/board/riscv64/visionfive2/rootfs" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_INFIX_PATH)/board/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_INFIX_PATH)/board/common/post-image.sh support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BR2_EXTERNAL_INFIX_PATH)/board/riscv64/visionfive2/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.8.2" +BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_INFIX_PATH)/board/riscv64/visionfive2/jh7110-starfive-visionfive-2-dtsi.patch" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/riscv64/linux_defconfig" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="starfive/jh7110-starfive-visionfive-2-v1.3b" BR2_LINUX_KERNEL_INSTALL_TARGET=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_INFIX_PATH)/board/common/busybox_defconfig" +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_STRESS_NG=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_LINUX_FIRMWARE=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_LINUX_FIRMWARE_RTL_RTW88=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_815X=y +BR2_PACKAGE_DBUS_CXX=y +BR2_PACKAGE_DBUS_GLIB=y +BR2_PACKAGE_DBUS_TRIGGERD=y +BR2_PACKAGE_EUDEV_RULES_GEN=y +# BR2_PACKAGE_EUDEV_ENABLE_HWDB is not set +BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y +BR2_PACKAGE_MDIO_TOOLS=y +BR2_PACKAGE_RNG_TOOLS=y +BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y +BR2_PACKAGE_UBOOT_TOOLS_FIT_CHECK_SIGN=y +BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE=y +BR2_PACKAGE_PYTHON3=y +BR2_PACKAGE_PYTHON_GUNICORN=y +BR2_PACKAGE_LIBSSH_OPENSSL=y +BR2_PACKAGE_LIBSSH2=y +BR2_PACKAGE_LIBSSH2_OPENSSL=y +BR2_PACKAGE_LIBXCRYPT=y +BR2_PACKAGE_LIBOPENSSL_BIN=y +BR2_PACKAGE_LIBOPENSSL_ENGINES=y +BR2_PACKAGE_LIBINPUT=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_NETOPEER2_CLI=y +BR2_PACKAGE_NSS_MDNS=y +BR2_PACKAGE_LINUX_PAM=y +BR2_PACKAGE_LIBPAM_RADIUS_AUTH=y +BR2_PACKAGE_ONIGURUMA=y +BR2_PACKAGE_AVAHI_DAEMON=y +BR2_PACKAGE_AVAHI_DEFAULT_SERVICES=y +BR2_PACKAGE_CHRONY=y +BR2_PACKAGE_CONNTRACK_TOOLS=y +BR2_PACKAGE_DNSMASQ=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_FPING=y +BR2_PACKAGE_FRR=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES_NFTABLES=y +BR2_PACKAGE_IPUTILS=y +BR2_PACKAGE_LLDPD=y +BR2_PACKAGE_NETCALC=y +BR2_PACKAGE_NETCAT_OPENBSD=y +BR2_PACKAGE_NETSNMP=y +BR2_PACKAGE_NFTABLES=y +BR2_PACKAGE_NGINX=y +BR2_PACKAGE_NGINX_HTTP_SSL_MODULE=y +BR2_PACKAGE_NGINX_HTTP_V2_MODULE=y +BR2_PACKAGE_NMAP=y +BR2_PACKAGE_NMAP_NCAT=y +BR2_PACKAGE_NMAP_NMAP=y +BR2_PACKAGE_NMAP_NPING=y +BR2_PACKAGE_OPENRESOLV=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_SOCAT=y +BR2_PACKAGE_TCPDUMP=y +BR2_PACKAGE_TRACEROUTE=y +BR2_PACKAGE_ULOGD=y +BR2_PACKAGE_WHOIS=y +BR2_PACKAGE_BASH_COMPLETION=y +BR2_PACKAGE_SUDO=y +BR2_PACKAGE_TTYD=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_IRQBALANCE=y +BR2_PACKAGE_KMOD_TOOLS=y +BR2_PACKAGE_PWGEN=y +BR2_PACKAGE_RAUC=y +BR2_PACKAGE_RAUC_DBUS=y +BR2_PACKAGE_RAUC_GPT=y +BR2_PACKAGE_RAUC_NETWORK=y +BR2_PACKAGE_SYSKLOGD=y +BR2_PACKAGE_SYSKLOGD_LOGGER=y +BR2_PACKAGE_WATCHDOGD=y +BR2_PACKAGE_LESS=y +BR2_PACKAGE_MG=y +BR2_PACKAGE_NANO=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_TARGET_ROOTFS_EXT2_INODE_SIZE=0 +BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS="-O ^64bit,large_file,ext_attr" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_OPENSBI=y BR2_TARGET_OPENSBI_CUSTOM_VERSION=y @@ -43,3 +150,39 @@ BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin.normal.out" BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_RAUC=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +INFIX_VENDOR_HOME="https://github.com/kernelkit" +INFIX_DESC="Infix is a Network Operating System based on Linux. It can be set up both as a switch, with offloading using switchdev, and a router with firewalling." +INFIX_HOME="https://github.com/kernelkit/infix/" +INFIX_DOC="https://github.com/kernelkit/infix/tree/main/doc" +INFIX_SUPPORT="mailto:kernelkit@googlegroups.com" +BR2_PACKAGE_CONFD=y +BR2_PACKAGE_EXECD=y +BR2_PACKAGE_GENCERT=y +BR2_PACKAGE_STATD=y +BR2_PACKAGE_FACTORY=y +BR2_PACKAGE_FINIT_PLUGIN_HOTPLUG=y +BR2_PACKAGE_FINIT_PLUGIN_HOOK_SCRIPTS=y +BR2_PACKAGE_FINIT_PLUGIN_MODULES_LOAD=y +BR2_PACKAGE_FINIT_PLUGIN_RTC=y +BR2_PACKAGE_FINIT_PLUGIN_TTY=y +BR2_PACKAGE_FINIT_PLUGIN_URANDOM=y +BR2_PACKAGE_IITO=y +BR2_PACKAGE_K8S_LOGGER=y +BR2_PACKAGE_KEYACK=y +BR2_PACKAGE_KLISH_PLUGIN_INFIX=y +BR2_PACKAGE_LANDING=y +BR2_PACKAGE_LOWDOWN=y +BR2_PACKAGE_MCD=y +BR2_PACKAGE_MDNS_ALIAS=y +BR2_PACKAGE_NETBROWSE=y +BR2_PACKAGE_PODMAN=y +BR2_PACKAGE_PODMAN_DRIVER_BTRFS=y +BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER=y +BR2_PACKAGE_PODMAN_DRIVER_VFS=y +BR2_PACKAGE_TETRIS=y +BR2_PACKAGE_ROUSETTE=y +BR2_PACKAGE_HOST_PYTHON_YANGDOC=y +# SIGN_ENABLED is not set +# GNS3_APPLIANCE is not set