diff --git a/board/aarch64/rpi/bcm2711-rpi-4-b-dts.patch b/board/aarch64/rpi/bcm2711-rpi-4-b-dts.patch deleted file mode 100644 index e98ac70d6..000000000 --- a/board/aarch64/rpi/bcm2711-rpi-4-b-dts.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts 2025-04-28 00:13:06.880003668 +0200 -+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts 2025-04-28 00:14:17.708941263 +0200 -@@ -14,6 +14,11 @@ - chosen { - /* 8250 auxiliary UART instead of pl011 */ - stdout-path = "serial1:115200n8"; -+ -+ infix { -+ /* Default admin user password: 'admin' */ -+ factory-password-hash = "$5$mI/zpOAqZYKLC2WU$i7iPzZiIjOjrBF3NyftS9CCq8dfYwHwrmUK097Jca9A"; -+ }; - }; - - cam1_reg: regulator-cam1 { diff --git a/board/aarch64/rpi/bcm2711_defconfig b/board/aarch64/rpi/bcm2711_defconfig deleted file mode 100644 index b1936503e..000000000 --- a/board/aarch64/rpi/bcm2711_defconfig +++ /dev/null @@ -1,1638 +0,0 @@ -CONFIG_LOCALVERSION="-v8" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_GENERIC_IRQ_DEBUGFS=y -CONFIG_NO_HZ=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_PSI_DEFAULT_DISABLED=y -CONFIG_IKCONFIG=m -CONFIG_IKCONFIG_PROC=y -CONFIG_MEMCG=y -CONFIG_BLK_CGROUP=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_CGROUP_PIDS=y -CONFIG_CGROUP_FREEZER=y -CONFIG_CPUSETS=y -CONFIG_CPUSETS_V1=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_CHECKPOINT_RESTORE=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_EXPERT=y -CONFIG_PROFILING=y -CONFIG_ARCH_BCM=y -CONFIG_ARCH_BCM2835=y -CONFIG_ARCH_BRCMSTB=y -CONFIG_ARM64_ERRATUM_834220=y -CONFIG_ARM64_ERRATUM_2441007=y -CONFIG_ARM64_ERRATUM_1286807=y -CONFIG_ARM64_ERRATUM_1542419=y -CONFIG_ARM64_ERRATUM_2441009=y -# CONFIG_CAVIUM_ERRATUM_22375 is not set -# CONFIG_CAVIUM_ERRATUM_23154 is not set -# CONFIG_CAVIUM_ERRATUM_27456 is not set -CONFIG_ARM64_VA_BITS_39=y -CONFIG_NR_CPUS=4 -CONFIG_HOTPLUG_CPU=y -CONFIG_NUMA=y -CONFIG_COMPAT=y -CONFIG_ARMV8_DEPRECATED=y -CONFIG_SWP_EMULATION=y -CONFIG_CP15_BARRIER_EMULATION=y -CONFIG_SETEND_EMULATION=y -CONFIG_RANDOMIZE_BASE=y -CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" -# CONFIG_SUSPEND is not set -CONFIG_PM=y -CONFIG_PM_DEBUG=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_STAT=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_ARM_RASPBERRYPI_CPUFREQ=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=y -CONFIG_JUMP_LABEL=y -# CONFIG_GCC_PLUGINS is not set -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODVERSIONS=y -CONFIG_MODULE_SRCVERSION_ALL=y -CONFIG_MODULE_COMPRESS=y -CONFIG_MODULE_COMPRESS_XZ=y -CONFIG_BLK_DEV_THROTTLING=y -CONFIG_PARTITION_ADVANCED=y -CONFIG_MAC_PARTITION=y -CONFIG_BINFMT_MISC=m -CONFIG_ZSWAP=y -# CONFIG_COMPAT_BRK is not set -CONFIG_CMA=y -CONFIG_CMA_AREAS=7 -CONFIG_LRU_GEN=y -CONFIG_LRU_GEN_ENABLED=y -CONFIG_NUMA_EMU=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_XFRM_USER=m -CONFIG_XFRM_INTERFACE=m -CONFIG_XFRM_SUB_POLICY=y -CONFIG_XFRM_STATISTICS=y -CONFIG_NET_KEY=m -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_RARP=y -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IPGRE=m -CONFIG_IP_MROUTE=y -CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -CONFIG_NET_IPVTI=m -CONFIG_NET_FOU_IP_TUNNELS=y -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_DIAG=m -CONFIG_TCP_CONG_ADVANCED=y -CONFIG_TCP_CONG_BBR=m -CONFIG_IPV6=m -CONFIG_IPV6_ROUTER_PREF=y -CONFIG_IPV6_ROUTE_INFO=y -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_ESP_OFFLOAD=m -CONFIG_INET6_IPCOMP=m -CONFIG_IPV6_ILA=m -CONFIG_IPV6_VTI=m -CONFIG_IPV6_SIT_6RD=y -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_MPTCP=y -CONFIG_NETWORK_PHY_TIMESTAMPING=y -CONFIG_NETFILTER=y -CONFIG_BRIDGE_NETFILTER=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CONNTRACK_ZONES=y -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CONNTRACK_TIMESTAMP=y -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_SNMP=m -CONFIG_NF_CONNTRACK_PPTP=m -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -CONFIG_NF_TABLES=m -CONFIG_NF_TABLES_INET=y -CONFIG_NF_TABLES_NETDEV=y -CONFIG_NFT_NUMGEN=m -CONFIG_NFT_CT=m -CONFIG_NFT_FLOW_OFFLOAD=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_QUOTA=m -CONFIG_NFT_REJECT=m -CONFIG_NFT_COMPAT=m -CONFIG_NFT_HASH=m -CONFIG_NFT_FIB_INET=m -CONFIG_NFT_XFRM=m -CONFIG_NFT_SOCKET=m -CONFIG_NFT_OSF=m -CONFIG_NFT_TPROXY=m -CONFIG_NFT_SYNPROXY=m -CONFIG_NFT_DUP_NETDEV=m -CONFIG_NFT_FWD_NETDEV=m -CONFIG_NFT_FIB_NETDEV=m -CONFIG_NF_FLOW_TABLE_INET=m -CONFIG_NF_FLOW_TABLE=m -CONFIG_NETFILTER_XTABLES_COMPAT=y -CONFIG_NETFILTER_XT_SET=m -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HMARK=m -CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -CONFIG_NETFILTER_XT_TARGET_LED=m -CONFIG_NETFILTER_XT_TARGET_LOG=m -CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -CONFIG_NETFILTER_XT_TARGET_TEE=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -CONFIG_NETFILTER_XT_TARGET_TRACE=m -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -CONFIG_NETFILTER_XT_MATCH_BPF=m -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_CPU=m -CONFIG_NETFILTER_XT_MATCH_DCCP=m -CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_IPVS=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=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_NFACCT=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_IP_SET=m -CONFIG_IP_SET_BITMAP_IP=m -CONFIG_IP_SET_BITMAP_IPMAC=m -CONFIG_IP_SET_BITMAP_PORT=m -CONFIG_IP_SET_HASH_IP=m -CONFIG_IP_SET_HASH_IPPORT=m -CONFIG_IP_SET_HASH_IPPORTIP=m -CONFIG_IP_SET_HASH_IPPORTNET=m -CONFIG_IP_SET_HASH_NET=m -CONFIG_IP_SET_HASH_NETPORT=m -CONFIG_IP_SET_HASH_NETIFACE=m -CONFIG_IP_SET_LIST_SET=m -CONFIG_IP_VS=m -CONFIG_IP_VS_IPV6=y -CONFIG_IP_VS_PROTO_TCP=y -CONFIG_IP_VS_PROTO_UDP=y -CONFIG_IP_VS_PROTO_ESP=y -CONFIG_IP_VS_PROTO_AH=y -CONFIG_IP_VS_PROTO_SCTP=y -CONFIG_IP_VS_RR=m -CONFIG_IP_VS_WRR=m -CONFIG_IP_VS_LC=m -CONFIG_IP_VS_WLC=m -CONFIG_IP_VS_LBLC=m -CONFIG_IP_VS_LBLCR=m -CONFIG_IP_VS_DH=m -CONFIG_IP_VS_SH=m -CONFIG_IP_VS_SED=m -CONFIG_IP_VS_NQ=m -CONFIG_IP_VS_FTP=m -CONFIG_IP_VS_PE_SIP=m -CONFIG_NFT_DUP_IPV4=m -CONFIG_NFT_FIB_IPV4=m -CONFIG_NF_TABLES_ARP=y -CONFIG_NF_LOG_ARP=m -CONFIG_NF_LOG_IPV4=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m -CONFIG_NFT_DUP_IPV6=m -CONFIG_NFT_FIB_IPV6=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -CONFIG_IP6_NF_MATCH_RPFILTER=m -CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_MATCH_SRH=m -CONFIG_IP6_NF_TARGET_HL=m -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_TARGET_REJECT=m -CONFIG_IP6_NF_TARGET_SYNPROXY=m -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_RAW=m -CONFIG_IP6_NF_SECURITY=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_REJECT=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_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_IP6=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=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_MARK_T=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_NFLOG=m -CONFIG_SCTP_COOKIE_HMAC_SHA1=y -CONFIG_ATM=m -CONFIG_L2TP=m -CONFIG_L2TP_V3=y -CONFIG_L2TP_IP=m -CONFIG_L2TP_ETH=m -CONFIG_BRIDGE=m -CONFIG_BRIDGE_VLAN_FILTERING=y -CONFIG_VLAN_8021Q=m -CONFIG_VLAN_8021Q_GVRP=y -CONFIG_ATALK=m -CONFIG_6LOWPAN=m -CONFIG_IEEE802154=m -CONFIG_IEEE802154_6LOWPAN=m -CONFIG_MAC802154=m -CONFIG_NET_SCHED=y -CONFIG_NET_SCH_HTB=m -CONFIG_NET_SCH_HFSC=m -CONFIG_NET_SCH_PRIO=m -CONFIG_NET_SCH_MULTIQ=m -CONFIG_NET_SCH_RED=m -CONFIG_NET_SCH_SFB=m -CONFIG_NET_SCH_SFQ=m -CONFIG_NET_SCH_TEQL=m -CONFIG_NET_SCH_TBF=m -CONFIG_NET_SCH_GRED=m -CONFIG_NET_SCH_NETEM=m -CONFIG_NET_SCH_DRR=m -CONFIG_NET_SCH_MQPRIO=m -CONFIG_NET_SCH_CHOKE=m -CONFIG_NET_SCH_QFQ=m -CONFIG_NET_SCH_CODEL=m -CONFIG_NET_SCH_FQ_CODEL=m -CONFIG_NET_SCH_CAKE=m -CONFIG_NET_SCH_FQ=m -CONFIG_NET_SCH_HHF=m -CONFIG_NET_SCH_PIE=m -CONFIG_NET_SCH_INGRESS=m -CONFIG_NET_SCH_PLUG=m -CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_ROUTE4=m -CONFIG_NET_CLS_FW=m -CONFIG_NET_CLS_U32=m -CONFIG_CLS_U32_MARK=y -CONFIG_NET_CLS_FLOW=m -CONFIG_NET_CLS_CGROUP=m -CONFIG_NET_CLS_BPF=y -CONFIG_NET_EMATCH=y -CONFIG_NET_EMATCH_CMP=m -CONFIG_NET_EMATCH_NBYTE=m -CONFIG_NET_EMATCH_U32=m -CONFIG_NET_EMATCH_META=m -CONFIG_NET_EMATCH_TEXT=m -CONFIG_NET_EMATCH_IPSET=m -CONFIG_NET_CLS_ACT=y -CONFIG_NET_ACT_POLICE=m -CONFIG_NET_ACT_GACT=m -CONFIG_GACT_PROB=y -CONFIG_NET_ACT_MIRRED=m -CONFIG_NET_ACT_NAT=m -CONFIG_NET_ACT_PEDIT=m -CONFIG_NET_ACT_SIMP=m -CONFIG_NET_ACT_SKBEDIT=m -CONFIG_NET_ACT_CSUM=m -CONFIG_BATMAN_ADV=m -CONFIG_OPENVSWITCH=m -CONFIG_VSOCKETS=m -CONFIG_CGROUP_NET_PRIO=y -CONFIG_NET_PKTGEN=m -CONFIG_HAMRADIO=y -CONFIG_AX25=m -CONFIG_NETROM=m -CONFIG_ROSE=m -CONFIG_MKISS=m -CONFIG_6PACK=m -CONFIG_BPQETHER=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -CONFIG_YAM=m -CONFIG_CAN=m -CONFIG_CAN_J1939=m -CONFIG_CAN_ISOTP=m -CONFIG_BT=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_HIDP=m -CONFIG_BT_6LOWPAN=m -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_3WIRE=y -CONFIG_BT_HCIUART_BCM=y -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIVHCI=m -CONFIG_BT_MRVL=m -CONFIG_BT_MRVL_SDIO=m -CONFIG_BT_ATH3K=m -CONFIG_CFG80211=m -CONFIG_CFG80211_WEXT=y -CONFIG_MAC80211=m -CONFIG_MAC80211_MESH=y -CONFIG_RFKILL=m -CONFIG_RFKILL_INPUT=y -CONFIG_NET_9P=m -CONFIG_NFC=m -CONFIG_PCI=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCIEAER=y -CONFIG_PCIEASPM_POWERSAVE=y -CONFIG_PCIE_DPC=y -CONFIG_UEVENT_HELPER=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_BRCMSTB_GISB_ARB is not set -CONFIG_RASPBERRYPI_FIRMWARE=y -# CONFIG_EFI_VARS_PSTORE is not set -CONFIG_MTD=m -CONFIG_MTD_BLOCK=m -CONFIG_MTD_BLOCK2MTD=m -CONFIG_MTD_SPI_NAND=m -CONFIG_MTD_SPI_NOR=m -CONFIG_MTD_UBI=m -CONFIG_ZRAM=m -CONFIG_ZRAM_BACKEND_LZ4=y -CONFIG_ZRAM_BACKEND_ZSTD=y -CONFIG_ZRAM_BACKEND_LZO=y -CONFIG_ZRAM_DEF_COMP_ZSTD=y -CONFIG_ZRAM_WRITEBACK=y -CONFIG_ZRAM_MULTI_COMP=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_DRBD=m -CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_RAM=y -CONFIG_ATA_OVER_ETH=m -CONFIG_BLK_DEV_RBD=m -CONFIG_BLK_DEV_NVME=y -CONFIG_NVME_HWMON=y -CONFIG_SRAM=y -CONFIG_EEPROM_AT24=m -CONFIG_EEPROM_AT25=m -CONFIG_TI_ST=m -CONFIG_SCSI=y -# CONFIG_SCSI_PROC_FS is not set -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=m -CONFIG_BLK_DEV_SR=m -CONFIG_CHR_DEV_SG=m -CONFIG_SCSI_ISCSI_ATTRS=y -CONFIG_ISCSI_TCP=m -CONFIG_ISCSI_BOOT_SYSFS=m -CONFIG_ATA=m -CONFIG_SATA_AHCI=m -CONFIG_SATA_MV=m -CONFIG_MD=y -CONFIG_BCACHE=m -CONFIG_BLK_DEV_DM=m -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_THIN_PROVISIONING=m -CONFIG_DM_CACHE=m -CONFIG_DM_WRITECACHE=m -CONFIG_DM_MIRROR=m -CONFIG_DM_LOG_USERSPACE=m -CONFIG_DM_RAID=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m -CONFIG_DM_DELAY=m -CONFIG_DM_VERITY=m -CONFIG_DM_INTEGRITY=m -CONFIG_NETDEVICES=y -CONFIG_BONDING=m -CONFIG_DUMMY=m -CONFIG_WIREGUARD=m -CONFIG_IFB=m -CONFIG_MACVLAN=m -CONFIG_MACVTAP=m -CONFIG_IPVLAN=m -CONFIG_VXLAN=m -CONFIG_NETCONSOLE=m -CONFIG_TUN=m -CONFIG_VETH=m -CONFIG_NETKIT=y -CONFIG_NET_VRF=m -CONFIG_VSOCKMON=m -CONFIG_BCMGENET=y -CONFIG_MACB=y -CONFIG_IGB=m -CONFIG_IXGBE=m -CONFIG_I40E=m -CONFIG_IGC=m -CONFIG_ENC28J60=m -CONFIG_LAN743X=m -CONFIG_QCA7000_SPI=m -CONFIG_QCA7000_UART=m -CONFIG_R8169=m -CONFIG_MSE102X=m -CONFIG_WIZNET_W5100=m -CONFIG_WIZNET_W5100_SPI=m -CONFIG_MICREL_PHY=y -CONFIG_CAN_VCAN=m -CONFIG_CAN_SLCAN=m -CONFIG_CAN_MCP251X=m -CONFIG_CAN_MCP251XFD=m -CONFIG_CAN_8DEV_USB=m -CONFIG_CAN_EMS_USB=m -CONFIG_CAN_GS_USB=m -CONFIG_CAN_PEAK_USB=m -CONFIG_MDIO_BITBANG=m -CONFIG_PPP=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_FILTER=y -CONFIG_PPP_MPPE=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPPOATM=m -CONFIG_PPPOE=m -CONFIG_PPPOL2TP=m -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_SLIP=m -CONFIG_SLIP_COMPRESSED=y -CONFIG_SLIP_SMART=y -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_RTL8152=m -CONFIG_USB_LAN78XX=y -CONFIG_USB_USBNET=y -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_AX88179_178A=m -CONFIG_USB_NET_CDCETHER=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_CDC_NCM=m -CONFIG_USB_NET_HUAWEI_CDC_NCM=m -CONFIG_USB_NET_CDC_MBIM=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_SR9700=m -CONFIG_USB_NET_SR9800=m -CONFIG_USB_NET_SMSC75XX=m -CONFIG_USB_NET_SMSC95XX=y -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_KC2190=y -CONFIG_USB_NET_ZAURUS=m -CONFIG_USB_NET_CX82310_ETH=m -CONFIG_USB_NET_KALMIA=m -CONFIG_USB_NET_QMI_WWAN=m -CONFIG_USB_HSO=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_IPHETH=m -CONFIG_USB_SIERRA_NET=m -CONFIG_USB_VL600=m -CONFIG_USB_NET_AQC111=m -CONFIG_ATH9K=m -CONFIG_ATH9K_HTC=m -CONFIG_CARL9170=m -CONFIG_ATH6KL=m -CONFIG_ATH6KL_USB=m -CONFIG_AR5523=m -CONFIG_AT76C50X_USB=m -CONFIG_B43=m -# CONFIG_B43_PHY_N is not set -CONFIG_B43LEGACY=m -CONFIG_BRCMFMAC=m -CONFIG_BRCMFMAC_USB=y -CONFIG_IWLWIFI=m -CONFIG_IWLDVM=m -CONFIG_IWLMVM=m -CONFIG_P54_COMMON=m -CONFIG_P54_USB=m -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_USB=m -CONFIG_LIBERTAS_SDIO=m -CONFIG_LIBERTAS_THINFIRM=m -CONFIG_LIBERTAS_THINFIRM_USB=m -CONFIG_MWIFIEX=m -CONFIG_MWIFIEX_SDIO=m -CONFIG_MT7601U=m -CONFIG_MT76x0U=m -CONFIG_MT76x2U=m -CONFIG_MT7921U=m -CONFIG_RT2X00=m -CONFIG_RT2500USB=m -CONFIG_RT73USB=m -CONFIG_RT2800USB=m -CONFIG_RT2800USB_RT3573=y -CONFIG_RT2800USB_RT53XX=y -CONFIG_RT2800USB_RT55XX=y -CONFIG_RT2800USB_UNKNOWN=y -CONFIG_RTL8187=m -CONFIG_RTL8192CU=m -CONFIG_RTL8XXXU=m -CONFIG_RTW88=m -CONFIG_RTW88_8822BU=m -CONFIG_RTW88_8822CU=m -CONFIG_RTW88_8723DU=m -CONFIG_RTW88_8821CU=m -CONFIG_ZD1211RW=m -CONFIG_MAC80211_HWSIM=m -CONFIG_IEEE802154_AT86RF230=m -CONFIG_IEEE802154_MRF24J40=m -CONFIG_IEEE802154_CC2520=m -CONFIG_INPUT_MOUSEDEV=y -CONFIG_INPUT_JOYDEV=m -CONFIG_INPUT_EVDEV=y -# CONFIG_KEYBOARD_ATKBD is not set -CONFIG_KEYBOARD_GPIO=m -CONFIG_KEYBOARD_TCA6416=m -CONFIG_KEYBOARD_TCA8418=m -CONFIG_KEYBOARD_MATRIX=m -CONFIG_KEYBOARD_CAP11XX=m -# CONFIG_INPUT_MOUSE is not set -CONFIG_INPUT_JOYSTICK=y -CONFIG_JOYSTICK_IFORCE=m -CONFIG_JOYSTICK_IFORCE_USB=m -CONFIG_JOYSTICK_XPAD=m -CONFIG_JOYSTICK_XPAD_FF=y -CONFIG_JOYSTICK_XPAD_LEDS=y -CONFIG_JOYSTICK_PSXPAD_SPI=m -CONFIG_JOYSTICK_PSXPAD_SPI_FF=y -CONFIG_JOYSTICK_FSIA6B=m -CONFIG_JOYSTICK_SENSEHAT=m -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_ADS7846=m -CONFIG_TOUCHSCREEN_EGALAX=m -CONFIG_TOUCHSCREEN_EXC3000=m -CONFIG_TOUCHSCREEN_GOODIX=m -CONFIG_TOUCHSCREEN_ILI210X=m -CONFIG_TOUCHSCREEN_EDT_FT5X06=m -CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m -CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -CONFIG_TOUCHSCREEN_TSC2007=m -CONFIG_TOUCHSCREEN_TSC2007_IIO=y -CONFIG_TOUCHSCREEN_STMPE=m -CONFIG_TOUCHSCREEN_IQS5XX=m -CONFIG_INPUT_MISC=y -CONFIG_INPUT_AD714X=m -CONFIG_INPUT_ATI_REMOTE2=m -CONFIG_INPUT_KEYSPAN_REMOTE=m -CONFIG_INPUT_POWERMATE=m -CONFIG_INPUT_YEALINK=m -CONFIG_INPUT_CM109=m -CONFIG_INPUT_UINPUT=m -CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -CONFIG_INPUT_ADXL34X=m -CONFIG_INPUT_CMA3000=m -CONFIG_SERIO=m -CONFIG_SERIO_RAW=m -CONFIG_GAMEPORT=m -# CONFIG_LEGACY_PTYS is not set -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -CONFIG_SERIAL_8250_CONSOLE=y -# CONFIG_SERIAL_8250_DMA is not set -CONFIG_SERIAL_8250_NR_UARTS=5 -CONFIG_SERIAL_8250_RUNTIME_UARTS=0 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_BCM2835AUX=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_SC16IS7XX=m -CONFIG_SERIAL_DEV_BUS=y -CONFIG_TTY_PRINTK=y -CONFIG_HW_RANDOM=y -CONFIG_TCG_TPM=m -CONFIG_TCG_TIS_SPI=m -CONFIG_TCG_TIS_I2C=m -CONFIG_XILLYBUS=m -CONFIG_XILLYBUS_PCIE=m -CONFIG_XILLYUSB=m -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_MUX_GPMUX=m -CONFIG_I2C_MUX_PCA954x=m -CONFIG_I2C_MUX_PINCTRL=m -CONFIG_I2C_BCM2835=m -CONFIG_I2C_BRCMSTB=m -CONFIG_I2C_DESIGNWARE_CORE=m -CONFIG_I2C_GPIO=m -CONFIG_I2C_ROBOTFUZZ_OSIF=m -CONFIG_I2C_TINY_USB=m -CONFIG_SPI=y -CONFIG_SPI_BCM2835=m -CONFIG_SPI_BCM2835AUX=m -CONFIG_SPI_DESIGNWARE=m -CONFIG_SPI_DW_DMA=y -CONFIG_SPI_DW_MMIO=m -CONFIG_SPI_GPIO=m -CONFIG_SPI_SPIDEV=m -CONFIG_SPI_SLAVE=y -CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_GPIO=m -CONFIG_PINCTRL_MCP23S08=m -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_FXL6408=m -CONFIG_GPIO_MAX7300=m -CONFIG_GPIO_PCA953X=m -CONFIG_GPIO_PCA953X_IRQ=y -CONFIG_GPIO_PCF857X=m -CONFIG_GPIO_ARIZONA=m -CONFIG_GPIO_STMPE=y -CONFIG_GPIO_MAX7301=m -CONFIG_GPIO_MOCKUP=m -CONFIG_W1=m -CONFIG_W1_MASTER_DS2490=m -CONFIG_W1_MASTER_DS2482=m -CONFIG_W1_MASTER_GPIO=m -CONFIG_W1_SLAVE_THERM=m -CONFIG_W1_SLAVE_SMEM=m -CONFIG_W1_SLAVE_DS2408=m -CONFIG_W1_SLAVE_DS2413=m -CONFIG_W1_SLAVE_DS2406=m -CONFIG_W1_SLAVE_DS2423=m -CONFIG_W1_SLAVE_DS2431=m -CONFIG_W1_SLAVE_DS2433=m -CONFIG_W1_SLAVE_DS2438=m -CONFIG_W1_SLAVE_DS2780=m -CONFIG_W1_SLAVE_DS2781=m -CONFIG_W1_SLAVE_DS28E04=m -CONFIG_W1_SLAVE_DS28E17=m -# CONFIG_POWER_RESET_BRCMSTB is not set -CONFIG_POWER_RESET_GPIO=y -CONFIG_BATTERY_DS2760=m -CONFIG_BATTERY_MAX17040=m -CONFIG_CHARGER_GPIO=m -CONFIG_BATTERY_GAUGE_LTC2941=m -CONFIG_SENSORS_ADT7410=m -CONFIG_SENSORS_AHT10=m -CONFIG_SENSORS_CHIPCAP2=m -CONFIG_SENSORS_DRIVETEMP=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_GPIO_FAN=m -CONFIG_SENSORS_IIO_HWMON=m -CONFIG_SENSORS_JC42=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_PWM_FAN=m -CONFIG_SENSORS_RASPBERRYPI_HWMON=m -CONFIG_SENSORS_SHT21=m -CONFIG_SENSORS_SHT3x=m -CONFIG_SENSORS_SHT4x=m -CONFIG_SENSORS_SHTC1=m -CONFIG_SENSORS_EMC2305=m -CONFIG_SENSORS_INA2XX=m -CONFIG_SENSORS_INA238=m -CONFIG_SENSORS_TMP102=m -CONFIG_BCM2711_THERMAL=y -CONFIG_BCM2835_THERMAL=y -CONFIG_WATCHDOG=y -CONFIG_BCM2835_WDT=y -CONFIG_MFD_STMPE=y -CONFIG_STMPE_SPI=y -CONFIG_MFD_SYSCON=y -CONFIG_MFD_ARIZONA_I2C=m -CONFIG_MFD_ARIZONA_SPI=m -CONFIG_MFD_WM5102=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_ARIZONA_LDO1=m -CONFIG_REGULATOR_ARIZONA_MICSUPP=m -CONFIG_REGULATOR_GPIO=y -CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m -CONFIG_RC_CORE=y -CONFIG_BPF_LIRC_MODE2=y -CONFIG_LIRC=y -CONFIG_RC_DECODERS=y -CONFIG_IR_IMON_DECODER=m -CONFIG_IR_JVC_DECODER=m -CONFIG_IR_MCE_KBD_DECODER=m -CONFIG_IR_NEC_DECODER=m -CONFIG_IR_RC5_DECODER=m -CONFIG_IR_RC6_DECODER=m -CONFIG_IR_SANYO_DECODER=m -CONFIG_IR_SHARP_DECODER=m -CONFIG_IR_SONY_DECODER=m -CONFIG_IR_XMP_DECODER=m -CONFIG_RC_DEVICES=y -CONFIG_IR_GPIO_CIR=m -CONFIG_IR_GPIO_TX=m -CONFIG_IR_IGUANA=m -CONFIG_IR_IMON=m -CONFIG_IR_MCEUSB=m -CONFIG_IR_PWM_TX=m -CONFIG_IR_REDRAT3=m -CONFIG_IR_STREAMZAP=m -CONFIG_IR_TOY=m -CONFIG_IR_TTUSBIR=m -CONFIG_RC_ATI_REMOTE=m -CONFIG_RC_LOOPBACK=m -CONFIG_MEDIA_CEC_RC=y -CONFIG_MEDIA_SUPPORT=m -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_USB_GSPCA=m -CONFIG_USB_GSPCA_BENQ=m -CONFIG_USB_GSPCA_CONEX=m -CONFIG_USB_GSPCA_CPIA1=m -CONFIG_USB_GSPCA_DTCS033=m -CONFIG_USB_GSPCA_ETOMS=m -CONFIG_USB_GSPCA_FINEPIX=m -CONFIG_USB_GSPCA_JEILINJ=m -CONFIG_USB_GSPCA_JL2005BCD=m -CONFIG_USB_GSPCA_KINECT=m -CONFIG_USB_GSPCA_KONICA=m -CONFIG_USB_GSPCA_MARS=m -CONFIG_USB_GSPCA_MR97310A=m -CONFIG_USB_GSPCA_NW80X=m -CONFIG_USB_GSPCA_OV519=m -CONFIG_USB_GSPCA_OV534=m -CONFIG_USB_GSPCA_OV534_9=m -CONFIG_USB_GSPCA_PAC207=m -CONFIG_USB_GSPCA_PAC7302=m -CONFIG_USB_GSPCA_PAC7311=m -CONFIG_USB_GSPCA_SE401=m -CONFIG_USB_GSPCA_SN9C2028=m -CONFIG_USB_GSPCA_SN9C20X=m -CONFIG_USB_GSPCA_SONIXB=m -CONFIG_USB_GSPCA_SONIXJ=m -CONFIG_USB_GSPCA_SPCA1528=m -CONFIG_USB_GSPCA_SPCA500=m -CONFIG_USB_GSPCA_SPCA501=m -CONFIG_USB_GSPCA_SPCA505=m -CONFIG_USB_GSPCA_SPCA506=m -CONFIG_USB_GSPCA_SPCA508=m -CONFIG_USB_GSPCA_SPCA561=m -CONFIG_USB_GSPCA_SQ905=m -CONFIG_USB_GSPCA_SQ905C=m -CONFIG_USB_GSPCA_SQ930X=m -CONFIG_USB_GSPCA_STK014=m -CONFIG_USB_GSPCA_STK1135=m -CONFIG_USB_GSPCA_STV0680=m -CONFIG_USB_GSPCA_SUNPLUS=m -CONFIG_USB_GSPCA_T613=m -CONFIG_USB_GSPCA_TOPRO=m -CONFIG_USB_GSPCA_TOUPTEK=m -CONFIG_USB_GSPCA_TV8532=m -CONFIG_USB_GSPCA_VC032X=m -CONFIG_USB_GSPCA_VICAM=m -CONFIG_USB_GSPCA_XIRLINK_CIT=m -CONFIG_USB_GSPCA_ZC3XX=m -CONFIG_USB_GL860=m -CONFIG_USB_M5602=m -CONFIG_USB_STV06XX=m -CONFIG_USB_PWC=m -CONFIG_USB_S2255=m -CONFIG_VIDEO_USBTV=m -CONFIG_USB_VIDEO_CLASS=m -CONFIG_VIDEO_GO7007=m -CONFIG_VIDEO_GO7007_USB=m -CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -CONFIG_VIDEO_HDPVR=m -CONFIG_VIDEO_PVRUSB2=m -CONFIG_VIDEO_STK1160=m -CONFIG_VIDEO_AU0828=m -CONFIG_VIDEO_AU0828_RC=y -CONFIG_VIDEO_CX231XX=m -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_DVB_AS102=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -CONFIG_DVB_USB_V2=m -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_USB_AF9035=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_AZ6007=m -CONFIG_DVB_USB_CE6230=m -CONFIG_DVB_USB_DVBSKY=m -CONFIG_DVB_USB_EC168=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_LME2510=m -CONFIG_DVB_USB_MXL111SF=m -CONFIG_DVB_USB_RTL28XXU=m -CONFIG_DVB_USB=m -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_USB_AZ6027=m -CONFIG_DVB_USB_CINERGY_T2=m -CONFIG_DVB_USB_CXUSB=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_PCTV452E=m -CONFIG_DVB_USB_TECHNISAT_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_VP7045=m -CONFIG_SMS_USB_DRV=m -CONFIG_VIDEO_EM28XX=m -CONFIG_VIDEO_EM28XX_V4L2=m -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_MEDIA_PCI_SUPPORT=y -CONFIG_RADIO_SAA7706H=m -CONFIG_RADIO_SHARK=m -CONFIG_RADIO_SHARK2=m -CONFIG_RADIO_SI4713=m -CONFIG_RADIO_TEA5764=m -CONFIG_RADIO_TEF6862=m -CONFIG_RADIO_WL1273=m -CONFIG_USB_DSBR=m -CONFIG_USB_KEENE=m -CONFIG_USB_MA901=m -CONFIG_USB_MR800=m -CONFIG_RADIO_SI470X=m -CONFIG_USB_SI470X=m -CONFIG_I2C_SI470X=m -CONFIG_I2C_SI4713=m -CONFIG_RADIO_WL128X=m -CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_VIDEO_MUX=m -CONFIG_VIDEO_BCM2835_UNICAM=m -CONFIG_VIDEO_RASPBERRYPI_PISP_BE=m -CONFIG_V4L_TEST_DRIVERS=y -CONFIG_VIDEO_VIM2M=m -CONFIG_VIDEO_VICODEC=m -CONFIG_VIDEO_VIMC=m -CONFIG_VIDEO_VIVID=m -CONFIG_VIDEO_IMX219=m -CONFIG_VIDEO_IMX258=m -CONFIG_VIDEO_IMX290=m -CONFIG_VIDEO_IMX296=m -CONFIG_VIDEO_IMX335=m -CONFIG_VIDEO_IMX415=m -CONFIG_VIDEO_MT9V011=m -CONFIG_VIDEO_OV5647=m -CONFIG_VIDEO_OV64A40=m -CONFIG_VIDEO_OV7251=m -CONFIG_VIDEO_OV7640=m -CONFIG_VIDEO_OV9282=m -CONFIG_VIDEO_AK7375=m -CONFIG_VIDEO_DW9807_VCM=m -CONFIG_VIDEO_SONY_BTF_MPX=m -CONFIG_VIDEO_UDA1342=m -CONFIG_VIDEO_ADV7180=m -CONFIG_VIDEO_TC358743=m -CONFIG_VIDEO_TVP5150=m -CONFIG_VIDEO_TW2804=m -CONFIG_VIDEO_TW9903=m -CONFIG_VIDEO_TW9906=m -CONFIG_VIDEO_I2C=m -CONFIG_AUXDISPLAY=y -CONFIG_HD44780=m -CONFIG_DRM=m -CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_UDL=m -CONFIG_DRM_PANEL_ILITEK_ILI9806E=m -CONFIG_DRM_PANEL_ILITEK_ILI9881C=m -CONFIG_DRM_PANEL_JDI_LT070ME05000=m -CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m -CONFIG_DRM_PANEL_SITRONIX_ST7701=m -CONFIG_DRM_PANEL_SIMPLE=m -CONFIG_DRM_DISPLAY_CONNECTOR=m -CONFIG_DRM_SIMPLE_BRIDGE=m -CONFIG_DRM_TOSHIBA_TC358762=m -CONFIG_DRM_V3D=m -CONFIG_DRM_VC4=m -CONFIG_DRM_VC4_HDMI_CEC=y -CONFIG_DRM_PANEL_MIPI_DBI=m -CONFIG_TINYDRM_HX8357D=m -CONFIG_TINYDRM_ILI9225=m -CONFIG_TINYDRM_ILI9341=m -CONFIG_TINYDRM_ILI9486=m -CONFIG_TINYDRM_MI0283QT=m -CONFIG_TINYDRM_REPAPER=m -CONFIG_TINYDRM_ST7586=m -CONFIG_TINYDRM_ST7735R=m -CONFIG_DRM_GUD=m -CONFIG_DRM_SSD130X=m -CONFIG_DRM_SSD130X_I2C=m -CONFIG_DRM_SSD130X_SPI=m -CONFIG_FB=y -CONFIG_FB_SIMPLE=y -CONFIG_FB_SSD1307=m -CONFIG_BACKLIGHT_PWM=m -CONFIG_BACKLIGHT_LM3630A=m -CONFIG_BACKLIGHT_GPIO=m -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -CONFIG_LOGO=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -CONFIG_SOUND=y -CONFIG_SND=m -CONFIG_SND_OSSEMUL=y -CONFIG_SND_PCM_OSS=m -CONFIG_SND_HRTIMER=m -CONFIG_SND_DYNAMIC_MINORS=y -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_DUMMY=m -CONFIG_SND_ALOOP=m -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m -CONFIG_SND_USB_AUDIO=m -CONFIG_SND_USB_UA101=m -CONFIG_SND_USB_CAIAQ=m -CONFIG_SND_USB_CAIAQ_INPUT=y -CONFIG_SND_USB_6FIRE=m -CONFIG_SND_USB_HIFACE=m -CONFIG_SND_USB_TONEPORT=m -CONFIG_SND_SOC=m -CONFIG_SND_BCM2835_SOC_I2S=m -CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=y -CONFIG_SND_SOC_ADAU1701=m -CONFIG_SND_SOC_ADAU7002=m -CONFIG_SND_SOC_AK4554=m -CONFIG_SND_SOC_CS4265=m -CONFIG_SND_SOC_ICS43432=m -CONFIG_SND_SOC_MAX98357A=m -CONFIG_SND_SOC_PCM3168A_I2C=m -CONFIG_SND_SOC_TLV320AIC23_I2C=m -CONFIG_SND_SOC_WM8804_I2C=m -CONFIG_SND_SOC_WM8904=m -CONFIG_SND_SOC_WM8960=m -CONFIG_SND_SIMPLE_CARD=m -CONFIG_HID_BATTERY_STRENGTH=y -CONFIG_HIDRAW=y -CONFIG_UHID=m -CONFIG_HID_A4TECH=m -CONFIG_HID_ACRUX=m -CONFIG_HID_APPLE=m -CONFIG_HID_ASUS=m -CONFIG_HID_BELKIN=m -CONFIG_HID_BETOP_FF=m -CONFIG_HID_BIGBEN_FF=m -CONFIG_HID_CHERRY=m -CONFIG_HID_CHICONY=m -CONFIG_HID_CYPRESS=m -CONFIG_HID_DRAGONRISE=m -CONFIG_HID_EMS_FF=m -CONFIG_HID_ELECOM=m -CONFIG_HID_ELO=m -CONFIG_HID_EZKEY=m -CONFIG_HID_GEMBIRD=m -CONFIG_HID_HOLTEK=m -CONFIG_HID_KEYTOUCH=m -CONFIG_HID_KYE=m -CONFIG_HID_UCLOGIC=m -CONFIG_HID_WALTOP=m -CONFIG_HID_GYRATION=m -CONFIG_HID_TWINHAN=m -CONFIG_HID_KENSINGTON=m -CONFIG_HID_LCPOWER=m -CONFIG_HID_LOGITECH=m -CONFIG_HID_LOGITECH_DJ=m -CONFIG_LOGITECH_FF=y -CONFIG_LOGIRUMBLEPAD2_FF=y -CONFIG_LOGIG940_FF=y -CONFIG_HID_MAGICMOUSE=m -CONFIG_HID_MICROSOFT=m -CONFIG_HID_MONTEREY=m -CONFIG_HID_MULTITOUCH=m -CONFIG_HID_NINTENDO=m -CONFIG_NINTENDO_FF=y -CONFIG_HID_NTRIG=m -CONFIG_HID_ORTEK=m -CONFIG_HID_PANTHERLORD=m -CONFIG_HID_PETALYNX=m -CONFIG_HID_PICOLCD=m -CONFIG_HID_PLAYSTATION=m -CONFIG_PLAYSTATION_FF=y -CONFIG_HID_ROCCAT=m -CONFIG_HID_SAMSUNG=m -CONFIG_HID_SONY=m -CONFIG_SONY_FF=y -CONFIG_HID_SPEEDLINK=m -CONFIG_HID_STEAM=m -CONFIG_HID_SUNPLUS=m -CONFIG_HID_GREENASIA=m -CONFIG_HID_SMARTJOYPLUS=m -CONFIG_HID_TOPSEED=m -CONFIG_HID_THINGM=m -CONFIG_HID_THRUSTMASTER=m -CONFIG_HID_WACOM=m -CONFIG_HID_WIIMOTE=m -CONFIG_HID_XINMO=m -CONFIG_HID_ZEROPLUS=m -CONFIG_HID_ZYDACRON=m -CONFIG_HID_PID=y -CONFIG_USB_HIDDEV=y -CONFIG_I2C_HID_OF=m -CONFIG_USB=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_MON=m -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_XHCI_PCI_RENESAS=m -CONFIG_USB_PRINTER=m -CONFIG_USB_TMC=m -CONFIG_USB_STORAGE=y -CONFIG_USB_STORAGE_REALTEK=m -CONFIG_USB_STORAGE_DATAFAB=m -CONFIG_USB_STORAGE_FREECOM=m -CONFIG_USB_STORAGE_ISD200=m -CONFIG_USB_STORAGE_USBAT=m -CONFIG_USB_STORAGE_SDDR09=m -CONFIG_USB_STORAGE_SDDR55=m -CONFIG_USB_STORAGE_JUMPSHOT=m -CONFIG_USB_STORAGE_ALAUDA=m -CONFIG_USB_STORAGE_ONETOUCH=m -CONFIG_USB_STORAGE_KARMA=m -CONFIG_USB_STORAGE_CYPRESS_ATACB=m -CONFIG_USB_STORAGE_ENE_UB6250=m -CONFIG_USB_UAS=y -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m -CONFIG_USBIP_CORE=m -CONFIG_USBIP_VHCI_HCD=m -CONFIG_USBIP_HOST=m -CONFIG_USBIP_VUDC=m -CONFIG_USB_DWC3=y -CONFIG_USB_DWC2=m -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_SIMPLE=m -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_CH341=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_CP210X=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_F81232=m -CONFIG_USB_SERIAL_F8153X=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_IUU=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KEYSPAN=m -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_METRO=m -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7840=m -CONFIG_USB_SERIAL_MXUPORT=m -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_OTI6858=m -CONFIG_USB_SERIAL_QCAUX=m -CONFIG_USB_SERIAL_QUALCOMM=m -CONFIG_USB_SERIAL_SPCP8X5=m -CONFIG_USB_SERIAL_SAFE=m -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -CONFIG_USB_SERIAL_SYMBOL=m -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_OPTICON=m -CONFIG_USB_SERIAL_XSENS_MT=m -CONFIG_USB_SERIAL_WISHBONE=m -CONFIG_USB_SERIAL_SSU100=m -CONFIG_USB_SERIAL_QT2=m -CONFIG_USB_SERIAL_UPD78F0730=m -CONFIG_USB_SERIAL_XR=m -CONFIG_USB_SERIAL_DEBUG=m -CONFIG_USB_EMI62=m -CONFIG_USB_EMI26=m -CONFIG_USB_ADUTUX=m -CONFIG_USB_SEVSEG=m -CONFIG_USB_LEGOTOWER=m -CONFIG_USB_LCD=m -CONFIG_USB_CYPRESS_CY7C63=m -CONFIG_USB_CYTHERM=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_APPLEDISPLAY=m -CONFIG_USB_LD=m -CONFIG_USB_TRANCEVIBRATOR=m -CONFIG_USB_IOWARRIOR=m -CONFIG_USB_TEST=m -CONFIG_USB_ISIGHTFW=m -CONFIG_USB_YUREX=m -CONFIG_USB_ATM=m -CONFIG_USB_SPEEDTOUCH=m -CONFIG_USB_CXACRU=m -CONFIG_USB_UEAGLEATM=m -CONFIG_USB_XUSBATM=m -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_GADGET=y -CONFIG_USB_CONFIGFS=m -CONFIG_USB_CONFIGFS_SERIAL=y -CONFIG_USB_CONFIGFS_ACM=y -CONFIG_USB_CONFIGFS_OBEX=y -CONFIG_USB_CONFIGFS_NCM=y -CONFIG_USB_CONFIGFS_ECM=y -CONFIG_USB_CONFIGFS_ECM_SUBSET=y -CONFIG_USB_CONFIGFS_RNDIS=y -CONFIG_USB_CONFIGFS_EEM=y -CONFIG_USB_CONFIGFS_MASS_STORAGE=y -CONFIG_USB_CONFIGFS_F_LB_SS=y -CONFIG_USB_CONFIGFS_F_FS=y -CONFIG_USB_CONFIGFS_F_UAC1=y -CONFIG_USB_CONFIGFS_F_UAC2=y -CONFIG_USB_CONFIGFS_F_MIDI=y -CONFIG_USB_CONFIGFS_F_HID=y -CONFIG_USB_CONFIGFS_F_UVC=y -CONFIG_USB_CONFIGFS_F_PRINTER=y -CONFIG_USB_ZERO=m -CONFIG_USB_AUDIO=m -CONFIG_USB_ETH=m -CONFIG_USB_GADGETFS=m -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_SERIAL=m -CONFIG_USB_MIDI_GADGET=m -CONFIG_USB_G_PRINTER=m -CONFIG_USB_CDC_COMPOSITE=m -CONFIG_USB_G_ACM_MS=m -CONFIG_USB_G_MULTI=m -CONFIG_USB_G_HID=m -CONFIG_USB_G_WEBCAM=m -CONFIG_MMC=y -CONFIG_MMC_BLOCK_MINORS=32 -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_OF_DWCMSHC=m -CONFIG_MMC_SDHCI_IPROC=y -CONFIG_MMC_SPI=m -CONFIG_MMC_HSQ=y -CONFIG_MMC_BCM2835=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_CLASS_MULTICOLOR=m -CONFIG_LEDS_PCA9532=m -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_PCA955X=m -CONFIG_LEDS_PCA963X=m -CONFIG_LEDS_PWM=y -CONFIG_LEDS_IS31FL32XX=m -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -CONFIG_LEDS_TRIGGER_TRANSIENT=m -CONFIG_LEDS_TRIGGER_CAMERA=m -CONFIG_LEDS_TRIGGER_PANIC=y -CONFIG_LEDS_TRIGGER_NETDEV=m -CONFIG_LEDS_TRIGGER_PATTERN=m -CONFIG_ACCESSIBILITY=y -CONFIG_SPEAKUP=m -CONFIG_SPEAKUP_SYNTH_SOFT=m -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_ABX80X=m -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1374=m -CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_MAX6900=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_ISL12022=m -CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF8523=m -CONFIG_RTC_DRV_PCF85063=m -CONFIG_RTC_DRV_PCF85363=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_M41T80=m -CONFIG_RTC_DRV_BQ32K=m -CONFIG_RTC_DRV_S35390A=m -CONFIG_RTC_DRV_FM3130=m -CONFIG_RTC_DRV_RX8581=m -CONFIG_RTC_DRV_RX8025=m -CONFIG_RTC_DRV_EM3027=m -CONFIG_RTC_DRV_RV3028=m -CONFIG_RTC_DRV_RV3032=m -CONFIG_RTC_DRV_RV8803=m -CONFIG_RTC_DRV_SD3078=m -CONFIG_RTC_DRV_M41T93=m -CONFIG_RTC_DRV_M41T94=m -CONFIG_RTC_DRV_DS1302=m -CONFIG_RTC_DRV_DS1305=m -CONFIG_RTC_DRV_DS1390=m -CONFIG_RTC_DRV_R9701=m -CONFIG_RTC_DRV_RX4581=m -CONFIG_RTC_DRV_RS5C348=m -CONFIG_RTC_DRV_MAX6902=m -CONFIG_RTC_DRV_PCF2123=m -CONFIG_RTC_DRV_DS3232=m -CONFIG_RTC_DRV_PCF2127=m -CONFIG_RTC_DRV_RV3029C2=m -CONFIG_DMADEVICES=y -CONFIG_DMA_BCM2835=y -CONFIG_DW_AXI_DMAC=y -CONFIG_DMABUF_HEAPS=y -CONFIG_DMABUF_HEAPS_SYSTEM=y -CONFIG_DMABUF_HEAPS_CMA=y -CONFIG_UIO=m -CONFIG_UIO_PDRV_GENIRQ=m -CONFIG_VHOST_NET=m -CONFIG_VHOST_VSOCK=m -CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y -CONFIG_STAGING=y -CONFIG_R8712U=m -CONFIG_VT6656=m -CONFIG_STAGING_MEDIA=y -CONFIG_STAGING_MEDIA_DEPRECATED=y -CONFIG_FB_TFT=m -CONFIG_FB_TFT_AGM1264K_FL=m -CONFIG_FB_TFT_BD663474=m -CONFIG_FB_TFT_HX8340BN=m -CONFIG_FB_TFT_HX8347D=m -CONFIG_FB_TFT_HX8353D=m -CONFIG_FB_TFT_HX8357D=m -CONFIG_FB_TFT_ILI9163=m -CONFIG_FB_TFT_ILI9320=m -CONFIG_FB_TFT_ILI9325=m -CONFIG_FB_TFT_ILI9340=m -CONFIG_FB_TFT_ILI9341=m -CONFIG_FB_TFT_ILI9481=m -CONFIG_FB_TFT_ILI9486=m -CONFIG_FB_TFT_PCD8544=m -CONFIG_FB_TFT_RA8875=m -CONFIG_FB_TFT_S6D02A1=m -CONFIG_FB_TFT_S6D1121=m -CONFIG_FB_TFT_SH1106=m -CONFIG_FB_TFT_SSD1289=m -CONFIG_FB_TFT_SSD1306=m -CONFIG_FB_TFT_SSD1331=m -CONFIG_FB_TFT_SSD1351=m -CONFIG_FB_TFT_ST7735R=m -CONFIG_FB_TFT_ST7789V=m -CONFIG_FB_TFT_TINYLCD=m -CONFIG_FB_TFT_TLS8204=m -CONFIG_FB_TFT_UC1611=m -CONFIG_FB_TFT_UC1701=m -CONFIG_FB_TFT_UPD161704=m -CONFIG_BCM2835_VCHIQ=y -CONFIG_SND_BCM2835=m -CONFIG_VIDEO_BCM2835=m -CONFIG_CLK_RASPBERRYPI=y -CONFIG_MAILBOX=y -CONFIG_BCM2835_MBOX=y -CONFIG_RASPBERRYPI_POWER=y -CONFIG_IIO=m -CONFIG_IIO_BUFFER_CB=m -CONFIG_IIO_SW_TRIGGER=m -CONFIG_MCP320X=m -CONFIG_MCP3422=m -CONFIG_TI_ADS1015=m -CONFIG_BME680=m -CONFIG_CCS811=m -CONFIG_SENSIRION_SGP30=m -CONFIG_SPS30_I2C=m -CONFIG_MAX30102=m -CONFIG_DHT11=m -CONFIG_HDC100X=m -CONFIG_HDC3020=m -CONFIG_HTS221=m -CONFIG_HTU21=m -CONFIG_SI7020=m -CONFIG_BOSCH_BNO055_I2C=m -CONFIG_INV_MPU6050_I2C=m -CONFIG_APDS9960=m -CONFIG_AS73211=m -CONFIG_BH1750=m -CONFIG_TCS3472=m -CONFIG_TSL4531=m -CONFIG_VEML6040=m -CONFIG_VEML6070=m -CONFIG_VEML6075=m -CONFIG_IIO_HRTIMER_TRIGGER=m -CONFIG_IIO_INTERRUPT_TRIGGER=m -CONFIG_IIO_SYSFS_TRIGGER=m -CONFIG_BMP280=m -CONFIG_MS5637=m -CONFIG_MAXIM_THERMOCOUPLE=m -CONFIG_MAX31856=m -CONFIG_PWM=y -CONFIG_PWM_BCM2835=m -CONFIG_PWM_BRCMSTB=y -CONFIG_PWM_GPIO=m -CONFIG_PWM_PCA9685=m -CONFIG_PWM_RASPBERRYPI_POE=m -CONFIG_ANDROID_BINDER_IPC=y -CONFIG_ANDROID_BINDERFS=y -CONFIG_NVMEM_RMEM=m -CONFIG_MUX_GPIO=m -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -CONFIG_JFS_FS=m -CONFIG_JFS_POSIX_ACL=y -CONFIG_JFS_SECURITY=y -CONFIG_JFS_STATISTICS=y -CONFIG_XFS_FS=m -CONFIG_XFS_QUOTA=y -CONFIG_XFS_POSIX_ACL=y -CONFIG_XFS_RT=y -CONFIG_GFS2_FS=m -CONFIG_OCFS2_FS=m -CONFIG_BTRFS_FS=m -CONFIG_BTRFS_FS_POSIX_ACL=y -CONFIG_NILFS2_FS=m -CONFIG_F2FS_FS=y -CONFIG_F2FS_FS_SECURITY=y -CONFIG_BCACHEFS_FS=m -CONFIG_BCACHEFS_QUOTA=y -CONFIG_BCACHEFS_POSIX_ACL=y -CONFIG_FS_ENCRYPTION=y -CONFIG_FANOTIFY=y -CONFIG_QFMT_V1=m -CONFIG_QFMT_V2=m -CONFIG_AUTOFS_FS=y -CONFIG_FUSE_FS=m -CONFIG_CUSE=m -CONFIG_OVERLAY_FS=m -CONFIG_FSCACHE=y -CONFIG_FSCACHE_STATS=y -CONFIG_CACHEFILES=m -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_UDF_FS=m -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -CONFIG_EXFAT_FS=m -CONFIG_NTFS3_FS=m -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_ECRYPT_FS=m -CONFIG_HFS_FS=m -CONFIG_HFSPLUS_FS=m -CONFIG_JFFS2_FS=m -CONFIG_JFFS2_SUMMARY=y -CONFIG_UBIFS_FS=m -CONFIG_SQUASHFS=y -CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU=y -CONFIG_SQUASHFS_XATTR=y -CONFIG_SQUASHFS_LZO=y -CONFIG_SQUASHFS_XZ=y -CONFIG_SQUASHFS_ZSTD=y -CONFIG_PSTORE=y -CONFIG_PSTORE_CONSOLE=y -CONFIG_PSTORE_RAM=y -CONFIG_EROFS_FS=m -CONFIG_NFS_FS=y -CONFIG_NFS_V2=y -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_NFS_SWAP=y -CONFIG_NFS_V4_1=y -CONFIG_NFS_V4_2=y -CONFIG_ROOT_NFS=y -CONFIG_NFSD=m -CONFIG_NFSD_V2=y -CONFIG_NFSD_V2_ACL=y -CONFIG_NFSD_V3_ACL=y -CONFIG_NFSD_V4=y -CONFIG_CEPH_FS=m -CONFIG_CIFS=m -CONFIG_CIFS_UPCALL=y -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -CONFIG_CIFS_DFS_UPCALL=y -CONFIG_CIFS_FSCACHE=y -CONFIG_SMB_SERVER=m -CONFIG_9P_FS=m -CONFIG_9P_FS_POSIX_ACL=y -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_DLM=m -CONFIG_UNICODE=m -CONFIG_KEY_DH_OPERATIONS=y -CONFIG_SECURITY=y -CONFIG_SECURITY_APPARMOR=y -CONFIG_LSM="" -CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_CRYPTD=m -CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_DES=y -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_CBC=m -CONFIG_CRYPTO_CHACHA20POLY1305=m -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_LZ4=m -CONFIG_CRYPTO_USER_API_HASH=m -CONFIG_CRYPTO_USER_API_SKCIPHER=m -CONFIG_CRYPTO_USER_API_RNG=m -CONFIG_CRYPTO_USER_API_AEAD=m -CONFIG_CRYPTO_NHPOLY1305_NEON=m -CONFIG_CRYPTO_GHASH_ARM64_CE=m -CONFIG_CRYPTO_SHA1_ARM64_CE=m -CONFIG_CRYPTO_SHA2_ARM64_CE=m -CONFIG_CRYPTO_SHA512_ARM64_CE=m -CONFIG_CRYPTO_SHA3_ARM64=m -CONFIG_CRYPTO_SM3_ARM64_CE=m -CONFIG_CRYPTO_AES_ARM64=m -CONFIG_CRYPTO_AES_ARM64_BS=m -CONFIG_CRYPTO_SM4_ARM64_CE=m -CONFIG_CRYPTO_AES_ARM64_CE_CCM=m -# CONFIG_CRYPTO_HW is not set -CONFIG_PKCS8_PRIVATE_KEY_PARSER=m -CONFIG_CRC_ITU_T=y -CONFIG_LIBCRC32C=y -CONFIG_DMA_CMA=y -CONFIG_CMA_SIZE_MBYTES=5 -CONFIG_PRINTK_TIME=y -CONFIG_BOOT_PRINTK_DELAY=y -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1f6 -CONFIG_KGDB=y -CONFIG_KGDB_KDB=y -CONFIG_KDB_KEYBOARD=y -CONFIG_DEBUG_MEMORY_INIT=y -CONFIG_DETECT_HUNG_TASK=y -CONFIG_LATENCYTOP=y -CONFIG_FUNCTION_PROFILER=y -CONFIG_STACK_TRACER=y -CONFIG_SCHED_TRACER=y -CONFIG_BLK_DEV_IO_TRACE=y -# CONFIG_UPROBE_EVENTS is not set -# CONFIG_STRICT_DEVMEM is not set diff --git a/board/aarch64/rpi/rootfs/boot/syslinux/syslinux.conf b/board/aarch64/rpi/rootfs/boot/syslinux/syslinux.conf deleted file mode 100644 index 76a62f9b5..000000000 --- a/board/aarch64/rpi/rootfs/boot/syslinux/syslinux.conf +++ /dev/null @@ -1,16 +0,0 @@ -default rpi4b -menu title Boot Menu -prompt 1 -timeout 30 - -label rpi4b - menu label Infix on Raspberry Pi 4B - kernel /boot/Image - devicetree /boot/broadcom/bcm2711-rpi-4-b.dtb - append ${bootargs_root} 8250.nr_uarts=1 console=ttyS0,115200 ${bootargs_log} -- ${bootargs_user} - -label rpi400 - menu label Infix on Raspberry Pi 400 - kernel /boot/Image - devicetree /boot/broadcom/bcm2711-rpi-400.dtb - append ${bootargs_root} 8250.nr_uarts=1 console=ttyS0,115200 ${bootargs_log} -- ${bootargs_user} diff --git a/board/aarch64/rpi/rootfs/etc/watchdogd.conf b/board/aarch64/rpi/rootfs/etc/watchdogd.conf deleted file mode 100644 index 36af0eb62..000000000 --- a/board/aarch64/rpi/rootfs/etc/watchdogd.conf +++ /dev/null @@ -1,6 +0,0 @@ -# Broadcom BCM2835 Watchdog timer -device /dev/watchdog0 { - timeout = 60 - interval = 5 - safe-exit = true -} diff --git a/board/common/post-build.sh b/board/common/post-build.sh index c5d8265b0..7f8be3434 100755 --- a/board/common/post-build.sh +++ b/board/common/post-build.sh @@ -114,6 +114,12 @@ grep -qsE '^/bin/true$$' "$TARGET_DIR/etc/shells" \ grep -qsE '^/bin/false$$' "$TARGET_DIR/etc/shells" \ || echo "/bin/false" >> "$TARGET_DIR/etc/shells" +boards=$(${BR2_EXTERNAL_INFIX_PATH}/board/common/selected-boards.sh ${BR2_EXTERNAL_INFIX_PATH} ${O}) + +for board in $boards; do + [ ! -f "${BR2_EXTERNAL_INFIX_PATH}/src/board/${board}/post-build.sh" ] && continue + ${BR2_EXTERNAL_INFIX_PATH}/src/board/${board}/post-build.sh +done # Allow clish (symlink to /usr/bin/klish) to be a login shell grep -qsE '^/bin/clish$$' "$TARGET_DIR/etc/shells" \ || echo "/bin/clish" >> "$TARGET_DIR/etc/shells" diff --git a/board/common/post-image.sh b/board/common/post-image.sh index c78078c50..f9ebc323a 100755 --- a/board/common/post-image.sh +++ b/board/common/post-image.sh @@ -108,3 +108,11 @@ rm -f "$BINARIES_DIR/qemu.cfg.old" "$BINARIES_DIR/.config.old" # Quick intro for beginners, with links to more information cp "$BR2_EXTERNAL_INFIX_PATH/board/common/README.txt" "$BINARIES_DIR/" + +boards=$(${BR2_EXTERNAL_INFIX_PATH}/board/common/selected-boards.sh ${BR2_EXTERNAL_INFIX_PATH} ${O}) +for board in $boards; do + [ ! -f "${BR2_EXTERNAL_INFIX_PATH}/src/board/${board}/post-image.sh" ] && continue + RELEASE=$(ver) + export INFIX_ID RELEASE + ${BR2_EXTERNAL_INFIX_PATH}/src/board/${board}/post-image.sh +done diff --git a/board/common/rootfs/etc/watchdogd.conf b/board/common/rootfs/etc/watchdogd.conf new file mode 100644 index 000000000..e4c4bdbe8 --- /dev/null +++ b/board/common/rootfs/etc/watchdogd.conf @@ -0,0 +1,165 @@ +# /etc/watchdogd.conf sample +# Commented out values are program defaults. +# +# The checker/monitor `warning` and `critical` levels are 0.00-1.00, +# i.e. 0-100%, except for load average which can vary a lot between +# systems and use-cases, not just because of the number of CPU cores. +# Use the `script = ...` setting to call script when `warning` and +# `critical` are reached for a monitor. In `critical` the monitor +# otherwise triggers an unconditional reboot. +# +# NOTE: `critical` is optional, omitting it disables the reboot action. +# + +### Watchdogs ########################################################## +# Global settings that can be overridden per watchdog + +# Do not set WDT timeout and kick interval too low, the daemon runs at +# SCHED_OTHER level with all other tasks, unless the process supervisor +# is enabled. The monitor plugins (below) need CPU time as well. +#timeout = 20 +#interval = 10 + +# With safe-exit enabled (true) the daemon will ask the driver disable +# the WDT before exiting (SIGINT). However, some WDT drivers (or HW) +# may not support this. +#safe-exit = true + +# Multiple watchdogs can be kicked, the default, even if no .conf file +# is found or device node given on the command line, is /dev/watchdog +device /dev/watchdog { + timeout = 60 + interval = 5 + safe-exit = true +} + +#device /dev/watchdog2 { +# timeout = 20 +# interval = 10 +# safe-exit = true +#} + +### Supervisor ######################################################### +# Instrumented processes can have their main loop supervised. Processes +# subscribe to this service using the libwdog API, see the docs for more +# on this. When the supervisor is enabled and the priority is set to a +# value > 0, watchdogd runs as a SCHED_RR process with elevated realtime +# priority. When disabled, or the priority is set to zero (0), it runs +# as a regular SCHED_OTHER process, this is the default. +# +# When a supervised process fails to meet its deadline, the daemon will +# perform an unconditional reset having saved the reset reason. If a +# script is provided in this section it will be called instead. The +# script is called as: +# +# script.sh supervisor CODE PID LABEL +# +# Availabel CODEs for the reset reason are avilable in wdog.h +# +#supervisor { +# !!!REMEMBER TO ENABLE reset-reason (below) AS WELL!!! +# enabled = true +# priority = 98 +# script = "/path/to/supervisor-script.sh" +#} + +### Reset reason ####################################################### +# The following section controls if/how the reset reason & reset counter +# is tracked. By default this is disabled, since not all systems allow +# writing to disk, e.g. embedded systems using MTD devices with limited +# number of write cycles. +# +# The default file setting is a non-volatile path, according to the FHS. +# It can be changed to another location, but make sure that location is +# writable first. +reset-reason { + enabled = true + file = "/var/lib/misc/watchdogd.state" +} + +### Checkers/Monitors ################################################## +# +# Script or command to run instead of reboot when a monitor plugin +# reaches any of its critical or warning level. Setting this will +# disable the built-in reboot on critical, it is therefore up to the +# script to perform reboot, if needed. The script is called as: +# +# script.sh {filenr, fsmon, loadavg, meminfo} {crit, warn} VALUE +# +#script = "/path/to/reboot-action.sh" + +# Monitors file descriptor leaks based on /proc/sys/fs/file-nr +filenr { +# enabled = true + interval = 300 + logmark = false + warning = 0.9 + critical = 1.0 +# script = "/path/to/alt-reboot-action.sh" +} + +# Monitors a file system, blocks and inode usage against watermarks +# The script is called with fsmon as the first argument and there +# are two environment variables FSMON_NAME, for the monitored path, +# and FSMON_TYPE indicating either 'blocks' or 'inodes'. +#fsmon /var { +# enabled = true +# interval = 300 +# logmark = false +# warning = 0.95 +# critical = 1.0 +# script = "/path/to/alt-reboot-action.sh" +#} + +# Monitors load average based on sysinfo() from /proc/loadavg +# The level is composed from the average of the 1 and 5 min marks. +loadavg { +# enabled = true + interval = 300 + logmark = false + warning = 1.0 + critical = 2.0 +# script = "/path/to/alt-reboot-action.sh" +} + +# Monitors free RAM based on data from /proc/meminfo +meminfo { +# enabled = true + interval = 300 + logmark = false + warning = 0.9 + critical = 0.95 +# script = "/path/to/alt-reboot-action.sh" +} + +# Monitor temperature. The critical value is unset by default, so no +# action is taken at that watermark (by default). Both the critical and +# warning watermarks are relative to the trip/critical/max value from +# sysfs. The warning is default 0.9, i.e., 90% of critical. Use script +# to to reset the fan controller or poweroff(8) the system. +# +# Each temp monitor caches the last 10 values, calculates the mean, and +# compares that to the warning and critical levels. Logging is only +# done every 10 x interval (if enabled). +#tempmon /sys/class/hwmon/hwmon0/temp1_input { +# enabled = true +# interval = 30 +# warning = 0.9 +# critical = 0.95 +# logmark = true +# script = "/script/to/log/and/poweroff.sh" +#} + +# Monitor a generic script, executes 'monitor-script' every 'interval' +# seconds, with a max runtime of 'timeout' seconds. When the exit code +# of the monitor script is above the critical level watchdogd either +# starts the reboot, or calls the alternate 'script' to determin the +# next cause of action. +#generic /path/to/monitor-script.sh { +# enabled = true +# interval = 300 +# timeout = 60 +# warning = 1 +# critical = 10 +# script = "/path/to/alt-reboot-action.sh" +#} diff --git a/board/common/rootfs/usr/libexec/infix/init.d/00-probe b/board/common/rootfs/usr/libexec/infix/init.d/00-probe index a73012112..f3e97cc65 100755 --- a/board/common/rootfs/usr/libexec/infix/init.d/00-probe +++ b/board/common/rootfs/usr/libexec/infix/init.d/00-probe @@ -308,16 +308,52 @@ def probe_qemusystem(out): subprocess.run("initctl -nbq cond set qemu".split(), check=False) return 0 +def rasberry_pi_4_usb_ports(out): + out["usb-ports"] = [ + { + "name": "USB", + "path": "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/authorized" + }, + { + "name": "USB", + "path": "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/authorized_default" + }, + { + "name": "USB", + "path": "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/authorized", + }, + { + "name": "USB", + "path": "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-0:1.0/authorized" + }, + { + "name": "USB", + "path": "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/authorized" + }, + { + "name": "USB", + "path": "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/authorized_default" + }, + { + "name": "USB3", + "path": "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-0:1.0/authorized" + } + ] def probe_dtsystem(out): """Probe DTS based system, expects a VPD in ONIE PROM format.""" dtsys = DTSystem() vpds = dtsys.infix_vpds() - dtsys.infix_usb_devices(out) + model = dtsys.base.str("model") if model: out["product-name"] = model + # Since rpi4 has USB on PCIe, there is no phandle reference + if model and model.startswith("Raspberry Pi 4"): + rasberry_pi_4_usb_ports(out) + else: + dtsys.infix_usb_devices(out) out["compatible"] = dtsys.base.str_array("compatible") staticpw = dtsys.infix.str("factory-password-hash") diff --git a/board/common/selected-boards.sh b/board/common/selected-boards.sh new file mode 100755 index 000000000..78299d822 --- /dev/null +++ b/board/common/selected-boards.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# Check if an infix board is selected + +if [ $# -ne 2 ]; then + echo "usage: $0 " + exit 1 +fi +ROOT=$1 +O=$2 +BOARD_SRC_DIR="${ROOT}/src/board" +BOARD_PACKAGE_DIR="${ROOT}/package/board" +CONFIG_FILE="${O}/.config" + +is_board_enabled() { + local symbol=$1 + + if [ -f "$CONFIG_FILE" ]; then + if grep -q "^${symbol}=y" "$CONFIG_FILE" 2>/dev/null; then + return 0 # enabled + else + return 1 # disabled or not set + fi + else + echo "Warning: No .config file found. Run 'make menuconfig' first." + return 1 + fi +} + +get_actual_config_symbol() { + local board_name=$1 + local config_file="${BOARD_PACKAGE_DIR}/$board_name/Config.in" + + if [ -f "$config_file" ]; then + # Extract the first config symbol from the Config.in file + local symbol=$(grep -m1 "^config " "$config_file" 2>/dev/null | awk '{print $2}') + if [ -n "$symbol" ]; then + echo "$symbol" + return 0 + fi + fi + + # Fallback to predicted symbol if no Config.in found + echo "BR2_PACKAGE_BOARD_$(echo "$board_name" | tr '[:lower:]' '[:upper:]' | tr '-' '_')" + return 1 +} + +boards="" + +for board_path in "$BOARD_SRC_DIR"/*; do + if [ -d "$board_path" ]; then + board_name=$(basename "$board_path") + config_symbol=$(get_actual_config_symbol "$board_name") + + if is_board_enabled "$config_symbol"; then + boards="$boards $board_name" + fi + fi +done + +echo "$boards" diff --git a/buildroot b/buildroot index f57cf505f..121b8ed34 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit f57cf505faddde9fa39e650a3d7073c56a45e437 +Subproject commit 121b8ed34eb0df31d23e284dafd6594dc3a3fc96 diff --git a/configs/aarch64_defconfig b/configs/aarch64_defconfig index af5abc557..44a5324db 100644 --- a/configs/aarch64_defconfig +++ b/configs/aarch64_defconfig @@ -134,6 +134,7 @@ BR2_PACKAGE_ALDER_ALDER=y BR2_PACKAGE_MARVELL_CN9130_CRB=y BR2_PACKAGE_MARVELL_ESPRESSOBIN=y BR2_PACKAGE_STYX_DCP_SC_28P=y +BR2_PACKAGE_RASPBERRY_PI_4=y BR2_PACKAGE_CONFD=y BR2_PACKAGE_CONFD_TEST_MODE=y BR2_PACKAGE_CURIOS_HTTPD=y diff --git a/configs/rpi4_defconfig b/configs/rpi4_defconfig deleted file mode 100644 index f867ab368..000000000 --- a/configs/rpi4_defconfig +++ /dev/null @@ -1,201 +0,0 @@ -BR2_aarch64=y -BR2_cortex_a72=y -BR2_ARM_FPU_VFPV4=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y -BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y -BR2_DL_DIR="${BR2_EXTERNAL_INFIX_PATH}/dl" -BR2_CCACHE=y -BR2_CCACHE_DIR="${BR2_EXTERNAL_INFIX_PATH}/.ccache" -BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches ${BR2_EXTERNAL_INFIX_PATH}/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_ROOTFS_MERGED_USR=y -# 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_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" -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/aarch64/rootfs ${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/rpi/rootfs" -BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/rpi/post-build.sh" -BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh ${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/rpi/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.35" -BR2_LINUX_KERNEL_PATCH="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/rpi/bcm2711-rpi-4-b-dts.patch" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/rpi/bcm2711_defconfig" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400" -BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y -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_XZ=y -BR2_PACKAGE_STRACE=y -BR2_PACKAGE_STRESS_NG=y -BR2_PACKAGE_JQ=y -BR2_PACKAGE_E2FSPROGS=y -BR2_PACKAGE_ARMBIAN_FIRMWARE=y -BR2_PACKAGE_ARMBIAN_FIRMWARE_AP6255=y -BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y -BR2_PACKAGE_LINUX_FIRMWARE=y -BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y -BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y -BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366B1=y -BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366C0=y -BR2_PACKAGE_RPI_FIRMWARE=y -BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y -BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X=y -BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/rpi/config.txt" -BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/rpi/cmdline.txt" -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_EVEMU=y -BR2_PACKAGE_EVTEST=y -BR2_PACKAGE_GPTFDISK=y -BR2_PACKAGE_GPTFDISK_SGDISK=y -BR2_PACKAGE_INPUT_EVENT_DAEMON=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_LIBOPENSSL_BIN=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_HOSTAPD=y -# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set -BR2_PACKAGE_IPROUTE2=y -BR2_PACKAGE_IPTABLES_NFTABLES=y -BR2_PACKAGE_IPUTILS=y -BR2_PACKAGE_IW=y -BR2_PACKAGE_LLDPD=y -BR2_PACKAGE_MSTPD=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_WIRELESS_REGDB=y -BR2_PACKAGE_WIRELESS_TOOLS=y -BR2_PACKAGE_WPA_SUPPLICANT=y -BR2_PACKAGE_BASH_COMPLETION=y -BR2_PACKAGE_SUDO=y -BR2_PACKAGE_TTYD=y -BR2_PACKAGE_GETENT=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_RAUC_JSON=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_SQUASHFS=y -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_arm64" -BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_INFIX_PATH)/board/common/uboot/extras.config $(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/rpi/uboot/extras.config" -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="arch/arm/dts/infix-key.dtbo arch/arm/dts/rpi-env.dtbo" -BR2_TARGET_UBOOT_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/rpi/uboot/rpi-env.dtso" -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_E2FSPROGS=y -BR2_PACKAGE_HOST_ENVIRONMENT_SETUP=y -BR2_PACKAGE_HOST_GENEXT2FS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_KMOD_XZ=y -BR2_PACKAGE_HOST_MTOOLS=y -BR2_PACKAGE_HOST_RAUC=y -BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y -BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y -INFIX_VENDOR_HOME="https://github.com/kernelkit" -INFIX_IMAGE_ID="${INFIX_ID}-rpi4" -INFIX_DESC="Infix is an operating system based on Linux and modeled with YANG. It can be set up both as a switch, with offloading using switchdev, a router with firewalling, or a secure end device. All while supporting advanced networking scenarios and running Docker containers." -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_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_RTC_DATE="2024-11-04 10:54:00" -BR2_PACKAGE_FINIT_RTC_FILE="/var/lib/misc/rtc" -BR2_PACKAGE_FINIT_PLUGIN_TTY=y -BR2_PACKAGE_FINIT_PLUGIN_URANDOM=y -BR2_PACKAGE_IITO=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_SHOW=y -BR2_PACKAGE_TETRIS=y -BR2_PACKAGE_ROUSETTE=y -BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y -BR2_PACKAGE_HOST_PYTHON_YANGDOC=y -TRUSTED_KEYS=y -TRUSTED_KEYS_DEVELOPMENT=y -SDCARD_AUX=y diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index c5a3af197..8dea26412 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -3,6 +3,15 @@ Change Log All notable changes to the project are documented in this file. +[v25.07.0][UNRELEASED] - +------------------------- + +### Changes +- Raspberry Pi 4 is now a part of the aarch64 image, as well as a SDcard + image for initial deployments. + + +### Fixes [v25.06.0][] - 2025-07-01 ------------------------- @@ -1594,6 +1603,7 @@ Supported YANG models in addition to those used by sysrepo and netopeer: - N/A [buildroot]: https://buildroot.org/ +[UNRELEASED]: https://github.com/kernelkit/infix/compare/v25.06.1...HEAD [v25.06.0]: https://github.com/kernelkit/infix/compare/v25.05.1...v26.06.0 [v25.05.1]: https://github.com/kernelkit/infix/compare/v25.05.0...v25.05.1 [v25.05.0]: https://github.com/kernelkit/infix/compare/v25.04.0...v25.05.0 diff --git a/doc/developers-guide.md b/doc/developers-guide.md index f9c82f131..1a524ce07 100644 --- a/doc/developers-guide.md +++ b/doc/developers-guide.md @@ -67,7 +67,8 @@ $ sudo apt install bc binutils build-essential bzip2 cpio \ diffutils file findutils git gzip \ libncurses-dev libssl-dev perl patch \ python3 rsync sed tar unzip wget \ - autopoint bison flex autoconf automake + autopoint bison flex autoconf automake \ + mtools ``` > For details, see the Getting Started and System Requirements sections diff --git a/package/board/Config.in b/package/board/Config.in index 1a229efba..ceb2fde2c 100644 --- a/package/board/Config.in +++ b/package/board/Config.in @@ -6,5 +6,6 @@ source "$BR2_EXTERNAL_INFIX_PATH/package/board/marvell-cn9130-crb/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/board/marvell-espressobin/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/board/microchip-sparx5-pcb135/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/board/styx-dcp-sc-28p/Config.in" +source "$BR2_EXTERNAL_INFIX_PATH/package/board/raspberry-pi-4/Config.in" endmenu diff --git a/package/board/raspberry-pi-4/Config.in b/package/board/raspberry-pi-4/Config.in new file mode 100644 index 000000000..bd6562a2e --- /dev/null +++ b/package/board/raspberry-pi-4/Config.in @@ -0,0 +1,41 @@ +config BR2_PACKAGE_RASPBERRY_PI_4 + bool "Raspberry Pi 4" + depends on BR2_aarch64 + select BR2_PACKAGE_FEATURE_WIFI + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI + select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI + + select BR2_PACKAGE_RPI_FIRMWARE + select BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4 + select BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X + select SDCARD_AUX + select BR2_TARGET_UBOOT + select BR2_TARGET_UBOOT_FORMAT_CUSTOM + select BR2_TARGET_UBOOT_NEEDS_DTC + select BR2_TARGET_UBOOT_NEEDS_UBOOT_TOOLS + select BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + help + Raspberry pi 4 + +# Don't redefine - just set conditional defaults +if BR2_PACKAGE_RASPBERRY_PI_4 + +config BR2_TARGET_UBOOT_BOARD_DEFCONFIG + default "rpi_arm64" + +config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES + default "${BR2_EXTERNAL_INFIX_PATH}/board/common/uboot/extras.config ${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/uboot/extras.config" + +config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME + default "arch/arm/dts/infix-key.dtbo arch/arm/dts/rpi-env.dtbo" + +config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH + default "${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/uboot/rpi-env.dtso" + +config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE + default "${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/config.txt" + +config BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE + default "${BR2_EXTERNAL_INFIX_PATH}/src/board/raspberry-pi-4/cmdline.txt" + +endif diff --git a/package/board/raspberry-pi-4/raspberry-pi-4.mk b/package/board/raspberry-pi-4/raspberry-pi-4.mk new file mode 100644 index 000000000..17c0f08c4 --- /dev/null +++ b/package/board/raspberry-pi-4/raspberry-pi-4.mk @@ -0,0 +1,46 @@ +define RASPBERRY_PI_4_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_SND) + $(call KCONFIG_ENABLE_OPT,CONFIG_SND_SOC) + $(call KCONFIG_ENABLE_OPT,CONFIG_COMMON_CLK_BCM2835) + $(call KCONFIG_ENABLE_OPT,CONFIG_CLK_RASPBERRYPI) + $(call KCONFIG_ENABLE_OPT,CONFIG_DRM) + $(call KCONFIG_SET_OPT,CONFIG_DRM_V3D,m) + $(call KCONFIG_SET_OPT,CONFIG_DRM_VC4,m) + $(call KCONFIG_ENABLE_OPT,CONFIG_DRM_VC4_HDMI_CEC) + $(call KCONFIG_ENABLE_OPT,CONFIG_DRM_LOAD_EDID_FIRMWARE) + + $(call KCONFIG_ENABLE_OPT,CONFIG_FB) + $(call KCONFIG_ENABLE_OPT,CONFIG_DRM_FBDEV_EMULATION) + + + $(call KCONFIG_ENABLE_OPT,CONFIG_INPUT_TOUCHSCREEN) + $(call KCONFIG_SET_OPT,CONFIG_TOUCHSCREEN_EDT_FT5X06,m) + $(call KCONFIG_SET_OPT,CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN,m) + +# RPI + $(call KCONFIG_ENABLE_OPT,CONFIG_ARCH_BCM) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARCH_BCM2835) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARCH_BRCMSTB) + $(call KCONFIG_ENABLE_OPT,CONFIG_BCM2835_MBOX) + $(call KCONFIG_ENABLE_OPT,CONFIG_BCM2835_WDT) + $(call KCONFIG_ENABLE_OPT,CONFIG_RASPBERRYPI_FIRMWARE) + $(call KCONFIG_ENABLE_OPT,CONFIG_PINCTRL_BCM2835) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_BCM2835) + $(call KCONFIG_SET_OPT,CONFIG_BRCMFMAC,m) + $(call KCONFIG_ENABLE_OPT,CONFIG_BRCMFMAC_SDIO) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BCM2835) + $(call KCONFIG_ENABLE_OPT,CONFIG_MMC_BCM2835) + $(call KCONFIG_ENABLE_OPT,CONFIG_MMC_SDHCI_IPROC) + $(call KCONFIG_ENABLE_OPT,CONFIG_BCM2711_THERMAL) + $(call KCONFIG_ENABLE_OPT,CONFIG_RASPBERRYPI_POWER) + $(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250) + $(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250_CONSOLE) + $(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250_BCM2835AUX) + $(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250_EXTENDED) + $(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250_SHARE_IRQ) + $(call KCONFIG_ENABLE_OPT,CONFIG_NET_VENDOR_BROADCOM) + $(call KCONFIG_ENABLE_OPT,CONFIG_BCMGENET) +endef + +$(eval $(ix-board)) +$(eval $(generic-package)) diff --git a/src/board/raspberry-pi-4/LICENSE b/src/board/raspberry-pi-4/LICENSE new file mode 100644 index 000000000..019521754 --- /dev/null +++ b/src/board/raspberry-pi-4/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2025 The KernelKit Authors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/board/aarch64/rpi/cmdline.txt b/src/board/raspberry-pi-4/cmdline.txt similarity index 100% rename from board/aarch64/rpi/cmdline.txt rename to src/board/raspberry-pi-4/cmdline.txt diff --git a/board/aarch64/rpi/config.txt b/src/board/raspberry-pi-4/config.txt similarity index 85% rename from board/aarch64/rpi/config.txt rename to src/board/raspberry-pi-4/config.txt index 0308a05c1..af4b93287 100644 --- a/board/aarch64/rpi/config.txt +++ b/src/board/raspberry-pi-4/config.txt @@ -12,6 +12,8 @@ kernel=u-boot.bin device_tree=bcm2711-rpi-4-b.dtb dtoverlay=rpi-env dtoverlay=infix-key +dtoverlay=vc4-kms-v3d-pi4 +dtoverlay=vc4-kms-dsi-ili9881-7inch # To use an external initramfs file #initramfs rootfs.cpio.gz @@ -20,11 +22,7 @@ dtoverlay=infix-key # If the text shown on the screen disappears off the edge, comment this out disable_overscan=1 -# How much memory in MB to assign to the GPU on Pi models having -# 256, 512 or 1024 MB total memory -gpu_mem_256=100 -gpu_mem_512=100 -gpu_mem_1024=100 +gpu_mem=256 # Enable UART0 for serial console on ttyAMA0 enable_uart=1 diff --git a/src/board/raspberry-pi-4/dts/Makefile b/src/board/raspberry-pi-4/dts/Makefile new file mode 100644 index 000000000..80ebbc007 --- /dev/null +++ b/src/board/raspberry-pi-4/dts/Makefile @@ -0,0 +1 @@ +dtb-y += broadcom/bcm2711-rpi-4-b.dtb diff --git a/src/board/raspberry-pi-4/dts/broadcom/bcm2711-rpi-4-b.dts b/src/board/raspberry-pi-4/dts/broadcom/bcm2711-rpi-4-b.dts new file mode 100644 index 000000000..ca236bed4 --- /dev/null +++ b/src/board/raspberry-pi-4/dts/broadcom/bcm2711-rpi-4-b.dts @@ -0,0 +1,22 @@ +#include + +/ { + framebuffer@3e402000 { + compatible = "simple-framebuffer"; + reg = <0x3e402000 0x1000>; + width = <800>; + height = <480>; + stride = <1600>; + format = "r5g6b5"; + status = "okay"; + }; + chosen { + /* 8250 auxiliary UART instead of pl011 */ + stdout-path = "serial1:115200n8"; + + infix { + /* Default admin user password: 'admin' */ + factory-password-hash = "$5$mI/zpOAqZYKLC2WU$i7iPzZiIjOjrBF3NyftS9CCq8dfYwHwrmUK097Jca9A"; + }; + }; +}; diff --git a/board/aarch64/rpi/genimage.cfg.in b/src/board/raspberry-pi-4/genimage.cfg.in similarity index 95% rename from board/aarch64/rpi/genimage.cfg.in rename to src/board/raspberry-pi-4/genimage.cfg.in index b2c0b5b46..9e48da332 100644 --- a/board/aarch64/rpi/genimage.cfg.in +++ b/src/board/raspberry-pi-4/genimage.cfg.in @@ -29,7 +29,7 @@ image var.ext4 { } } -image sdcard.img { +image #INFIX_ID##VERSION#-rpi4-sdcard.img { hdimage { partition-table-type = "gpt" } diff --git a/board/aarch64/rpi/post-build.sh b/src/board/raspberry-pi-4/post-build.sh similarity index 100% rename from board/aarch64/rpi/post-build.sh rename to src/board/raspberry-pi-4/post-build.sh diff --git a/board/aarch64/rpi/post-image.sh b/src/board/raspberry-pi-4/post-image.sh similarity index 79% rename from board/aarch64/rpi/post-image.sh rename to src/board/raspberry-pi-4/post-image.sh index b38c3857f..612f2be12 100755 --- a/board/aarch64/rpi/post-image.sh +++ b/src/board/raspberry-pi-4/post-image.sh @@ -1,5 +1,6 @@ #!/bin/sh set -e +#. "$BR2_CONFIG" 2>/dev/null BOARD_DIR=$(dirname "$0") GENIMAGE_CFG="${BUILD_DIR}/genimage.cfg" @@ -18,17 +19,22 @@ find "${BINARIES_DIR}" -type f -name '*.dtbo' -exec mv '{}' "${BINARIES_DIR}/rpi # Create FILES array for the genimage.cfg generation FILES="" -for f in "${BINARIES_DIR}"/*.dtb "${BINARIES_DIR}"/rpi-firmware/*; do +for f in "${BINARIES_DIR}"/rpi-firmware/*; do case "$f" in *~|*.bak) continue ;; esac + echo "${FILES}" | grep -q `basename $f` && continue # If already exist it has been added by us. FILES="${FILES}\t\t\t\"${f#"${BINARIES_DIR}/"}\",\n" done +echo $FILES KERNEL=$(sed -n 's/^kernel=//p' "${BINARIES_DIR}/rpi-firmware/config.txt") FILES="${FILES}\t\t\t\"${KERNEL}\"" -sed "s|#BOOT_FILES#|${FILES}|" "${BOARD_DIR}/genimage.cfg.in" > "${GENIMAGE_CFG}" + +sed "s|#BOOT_FILES#|${FILES}|" "${BOARD_DIR}/genimage.cfg.in" | \ +sed "s|#VERSION#|${RELEASE}|" | \ +sed "s|#INFIX_ID#|${INFIX_ID}|" > "${GENIMAGE_CFG}" ROOTPATH_TMP=$(mktemp -d) trap 'rm -rf \"$ROOTPATH_TMP\"' EXIT diff --git a/board/aarch64/rpi/rootfs/etc/factory-config.cfg b/src/board/raspberry-pi-4/rootfs/usr/share/product/raspberrypi,4-model-b/etc/factory-config.cfg similarity index 82% rename from board/aarch64/rpi/rootfs/etc/factory-config.cfg rename to src/board/raspberry-pi-4/rootfs/usr/share/product/raspberrypi,4-model-b/etc/factory-config.cfg index 68f2112de..171c5146b 100644 --- a/board/aarch64/rpi/rootfs/etc/factory-config.cfg +++ b/src/board/raspberry-pi-4/rootfs/usr/share/product/raspberrypi,4-model-b/etc/factory-config.cfg @@ -2,6 +2,17 @@ "ieee802-dot1ab-lldp:lldp": { "infix-lldp:enabled": true }, + "ietf-hardware:hardware": { + "component": [ + { + "name": "USB", + "class": "infix-hardware:usb", + "state": { + "admin-state": "unlocked" + } + } + ] + }, "ietf-interfaces:interfaces": { "interface": [ { @@ -27,6 +38,10 @@ { "name": "eth0", "type": "infix-if-type:ethernet" + }, + { + "name": "wifi0", + "type": "infix-if-type:wifi" } ] }, @@ -35,9 +50,9 @@ "asymmetric-key": [ { "name": "genkey", - "public-key-format": "ietf-crypto-types:ssh-public-key-format", + "public-key-format": "infix-crypto-types:ssh-public-key-format", "public-key": "", - "private-key-format": "ietf-crypto-types:rsa-private-key-format", + "private-key-format": "infix-crypto-types:rsa-private-key-format", "cleartext-private-key": "", "certificates": {} } @@ -79,7 +94,7 @@ ], "rule": [ { - "name": "deny-password-read", + "name": "deny-password-read", "module-name": "ietf-system", "path": "/ietf-system:system/authentication/user/password", "access-operations": "*", @@ -127,7 +142,7 @@ "udp": { "address": "pool.ntp.org" }, - "iburst": true + "iburst": true } ] }, @@ -173,7 +188,7 @@ ] }, "infix-meta:meta": { - "infix-meta:version": "1.2" + "version": "1.5" }, "infix-services:mdns": { "enabled": true @@ -189,5 +204,23 @@ "restconf": { "enabled": true } + }, + "infix-services:ssh": { + "enabled": true, + "hostkey": [ + "genkey" + ], + "listen": [ + { + "name": "ipv4", + "address": "0.0.0.0", + "port": 22 + }, + { + "name": "ipv6", + "address": "::", + "port": 22 + } + ] } } diff --git a/board/aarch64/rpi/rootfs/etc/product/interface-quirks.json b/src/board/raspberry-pi-4/rootfs/usr/share/product/raspberrypi,4-model-b/etc/product/interface-quirks.json similarity index 100% rename from board/aarch64/rpi/rootfs/etc/product/interface-quirks.json rename to src/board/raspberry-pi-4/rootfs/usr/share/product/raspberrypi,4-model-b/etc/product/interface-quirks.json diff --git a/src/board/raspberry-pi-4/rootfs/usr/share/product/raspberrypi,4-model-b/usr/libexec/confd/product/gen-interfaces b/src/board/raspberry-pi-4/rootfs/usr/share/product/raspberrypi,4-model-b/usr/libexec/confd/product/gen-interfaces new file mode 100644 index 000000000..abd7b8b10 --- /dev/null +++ b/src/board/raspberry-pi-4/rootfs/usr/share/product/raspberrypi,4-model-b/usr/libexec/confd/product/gen-interfaces @@ -0,0 +1,6 @@ +cat <