Compare commits
3 Commits
main
...
002960a834
Author | SHA1 | Date | |
---|---|---|---|
002960a834 | |||
ab5cf8a34e | |||
2e5cddd245 |
File diff suppressed because it is too large
Load Diff
@ -19,7 +19,7 @@ import (
|
||||
var configContents []byte
|
||||
|
||||
// see https://www.kernel.org/releases.json
|
||||
var latest = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.10.5.tar.xz"
|
||||
var latest = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.10.tar.xz"
|
||||
|
||||
func downloadKernel() error {
|
||||
out, err := os.Create(filepath.Base(latest))
|
||||
|
@ -1,509 +1,85 @@
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
|
||||
# For Squashfs (root file system):
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_SQUASHFS_FILE_CACHE=y
|
||||
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
|
||||
CONFIG_SQUASHFS_ZLIB=y
|
||||
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
|
||||
|
||||
# For a console on HDMI:
|
||||
# # TODO: the simpledrm driver just does not work for me. the ASRock logo never disappears from HDMI
|
||||
# # [ 0.364059] [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 0
|
||||
# CONFIG_DRM_SIMPLEDRM=y
|
||||
# CONFIG_X86_SYSFB=y
|
||||
#
|
||||
# Whereas with (working) efifb, I see:
|
||||
# # [ 0.460084] efifb: probing for efifb
|
||||
# # [ 0.460096] efifb: framebuffer at 0xe9000000, using 3072k, total 3072k
|
||||
# # [ 0.460099] efifb: mode is 1024x768x32, linelength=4096, pages=1
|
||||
# # [ 0.460101] efifb: scrolling: redraw
|
||||
# # [ 0.460103] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
|
||||
CONFIG_DRM_SIMPLEDRM=n
|
||||
CONFIG_X86_SYSFB=n
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_EFI=y
|
||||
CONFIG_FB_SIMPLE=y
|
||||
CONFIG_DRM_FBDEV_EMULATION=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
|
||||
# For FUSE (for cpu(1)):
|
||||
CONFIG_FUSE_FS=y
|
||||
|
||||
# For using github.com/vishvananda/netlink
|
||||
CONFIG_NETFILTER_NETLINK_QUEUE=y
|
||||
CONFIG_XFRM_USER=y
|
||||
|
||||
# For nftables:
|
||||
CONFIG_NF_TABLES=y
|
||||
CONFIG_NF_NAT_IPV4=y
|
||||
CONFIG_NF_NAT_MASQUERADE_IPV4=y
|
||||
CONFIG_NFT_PAYLOAD=y
|
||||
CONFIG_NFT_EXTHDR=y
|
||||
CONFIG_NFT_META=y
|
||||
CONFIG_NFT_CT=y
|
||||
CONFIG_NFT_RBTREE=y
|
||||
CONFIG_NFT_HASH=y
|
||||
CONFIG_NFT_COUNTER=y
|
||||
CONFIG_NFT_LOG=y
|
||||
CONFIG_NFT_LIMIT=y
|
||||
CONFIG_NFT_NAT=y
|
||||
CONFIG_NFT_COMPAT=y
|
||||
CONFIG_NFT_MASQ=y
|
||||
CONFIG_NFT_MASQ_IPV4=y
|
||||
CONFIG_NFT_REDIR=y
|
||||
CONFIG_NFT_REJECT=y
|
||||
CONFIG_NF_TABLES_IPV4=y
|
||||
CONFIG_NFT_REJECT_IPV4=y
|
||||
CONFIG_NFT_CHAIN_ROUTE_IPV4=y
|
||||
CONFIG_NFT_CHAIN_NAT_IPV4=y
|
||||
CONFIG_NF_TABLES_IPV6=y
|
||||
CONFIG_NFT_CHAIN_ROUTE_IPV6=y
|
||||
CONFIG_NFT_OBJREF=y
|
||||
CONFIG_NFT_DUP_IPV4=y
|
||||
CONFIG_NFT_FIB_IPV4=y
|
||||
CONFIG_NFT_DUP_IPV6=y
|
||||
CONFIG_NFT_FIB_IPV6=y
|
||||
|
||||
# Explicitly disable nftables helper modules to prevent NAT slipstreaming attacks:
|
||||
# https://samy.pl/slipstream/
|
||||
CONFIG_NF_CONNTRACK_AMANDA=n
|
||||
CONFIG_NF_CONNTRACK_FTP=n
|
||||
CONFIG_NF_CONNTRACK_H323=n
|
||||
CONFIG_NF_CONNTRACK_IRC=n
|
||||
CONFIG_NF_CONNTRACK_NETBIOS_NS=n
|
||||
CONFIG_NF_CONNTRACK_SNMP=n
|
||||
CONFIG_NF_CONNTRACK_PPTP=n
|
||||
CONFIG_NF_CONNTRACK_SANE=n
|
||||
CONFIG_NF_CONNTRACK_SIP=n
|
||||
CONFIG_NF_CONNTRACK_TFTP=n
|
||||
|
||||
# For using USB mass storage
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
|
||||
# For NVMe storage
|
||||
CONFIG_NVME_CORE=y
|
||||
CONFIG_BLK_DEV_NVME=y
|
||||
CONFIG_NVME_MULTIPATH=y
|
||||
CONFIG_NVME_HWMON=y
|
||||
CONFIG_NVME_TARGET_PASSTHRU=y
|
||||
|
||||
# For https://www.fs.com/products/75602.html and https://www.fs.com/products/75603.html network cards:
|
||||
CONFIG_I40E=y
|
||||
|
||||
# For Intel E810 series network cards:
|
||||
CONFIG_ICE=y
|
||||
|
||||
# For Broadcom 57414 10/25 Gbit/s network card:
|
||||
CONFIG_BNXT=y
|
||||
|
||||
# For Mellanox ConnectX-4 25 Gbit/s network cards:
|
||||
CONFIG_MLX5_EN=y
|
||||
CONFIG_MLX5_CORE=y
|
||||
CONFIG_MLX5_CORE_EN=y
|
||||
CONFIG_MLX5_INFINIBAND=n
|
||||
|
||||
# For apu2c4 ethernet ports
|
||||
CONFIG_IGB=y
|
||||
|
||||
# For Intel I225 ethernet ports (ASRock B550 Taichi):
|
||||
CONFIG_IGC=y
|
||||
|
||||
# For /proc/config.gz
|
||||
# Make sure /proc/config.gz is available
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
|
||||
# For kexec
|
||||
CONFIG_KEXEC_FILE=y
|
||||
|
||||
# For apu2c4 watchdog
|
||||
CONFIG_SP5100_TCO=y
|
||||
|
||||
# For WireGuard
|
||||
CONFIG_NET_UDP_TUNNEL=y
|
||||
CONFIG_WIREGUARD=y
|
||||
|
||||
# For traffic shaping using tc:
|
||||
CONFIG_NET_SCH_TBF=y
|
||||
|
||||
# For measuring CPU temperature:
|
||||
CONFIG_SENSORS_K10TEMP=y
|
||||
|
||||
# For measuring non-CPU temperature and fan speeds: Crashes on cm3588
|
||||
# CONFIG_SENSORS_NCT6683=y
|
||||
|
||||
# For Corsair Commander Pro fan controller:
|
||||
CONFIG_SENSORS_CORSAIR_CPRO=y
|
||||
|
||||
# For iproute2’s ss(8):
|
||||
CONFIG_INET_DIAG=y
|
||||
|
||||
# For macvlan ethernet devices:
|
||||
CONFIG_MACVLAN=y
|
||||
|
||||
# For virtio drivers (for qemu):
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO=y
|
||||
CONFIG_VIRTIO_RING=y
|
||||
# For watchdog within qemu:
|
||||
CONFIG_I6300ESB_WDT=y
|
||||
|
||||
# For running KVM-accelerated qemu VMs:
|
||||
CONFIG_KVM=y
|
||||
CONFIG_KVM_INTEL=y
|
||||
CONFIG_KVM_AMD=y
|
||||
CONFIG_KVM_AMD_SEV=y
|
||||
|
||||
# For bridge ethernet devices:
|
||||
CONFIG_BRIDGE=y
|
||||
|
||||
CONFIG_EFIVAR_FS=y
|
||||
|
||||
# For Ryzen CPUs:
|
||||
CONFIG_X86_AMD_PLATFORM_DEVICE=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_X86_POWERNOW_K8=y
|
||||
CONFIG_X86_AMD_FREQ_SENSITIVITY=y
|
||||
|
||||
# Include hardware interrupt CPU usage in /proc/stat CPU time reporting:
|
||||
CONFIG_IRQ_TIME_ACCOUNTING=y
|
||||
|
||||
# For tun devices, see https://www.kernel.org/doc/Documentation/networking/tuntap.txt
|
||||
CONFIG_TUN=y
|
||||
|
||||
# For runc:
|
||||
CONFIG_BPF_SYSCALL=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CGROUP_BPF=y
|
||||
CONFIG_SOCK_CGROUP_DATA=y
|
||||
CONFIG_NET_SOCK_MSG=y
|
||||
# For podman:
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_BRIDGE=y
|
||||
CONFIG_VETH=y
|
||||
CONFIG_NETFILTER_ADVANCED=y
|
||||
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||
CONFIG_IP_NF_NAT=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=y
|
||||
CONFIG_NETFILTER_XT_NAT=y
|
||||
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
|
||||
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
|
||||
CONFIG_NETFILTER_XT_MARK=y
|
||||
CONFIG_CGROUP_PIDS=y
|
||||
|
||||
# Enable TCP BBR as default congestion control
|
||||
CONFIG_TCP_CONG_BBR=y
|
||||
CONFIG_DEFAULT_BBR=y
|
||||
CONFIG_DEFAULT_TCP_CONG="bbr"
|
||||
|
||||
# Linux 6.1:
|
||||
# In file included from <command-line>:0:0:
|
||||
# drivers/gpu/drm/i915/i915_sw_fence_work.c: In function 'dma_fence_work_init':
|
||||
# drivers/gpu/drm/i915/i915_sw_fence.h:57:20: error: the comparison will always evaluate as 'false' for the address of 'fence_notify' will never be NULL [-Werror=address]
|
||||
# BUILD_BUG_ON((fn) == NULL); \
|
||||
# ^
|
||||
# ././include/linux/compiler_types.h:337:9: note: in definition of macro '__compiletime_assert'
|
||||
# if (!(condition)) \
|
||||
# ^~~~~~~~~
|
||||
# ././include/linux/compiler_types.h:357:2: note: in expansion of macro '_compiletime_assert'
|
||||
# _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
|
||||
# ^~~~~~~~~~~~~~~~~~~
|
||||
# ./include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
|
||||
# #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
|
||||
# ^~~~~~~~~~~~~~~~~~
|
||||
# ./include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
|
||||
# BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
|
||||
# ^~~~~~~~~~~~~~~~
|
||||
# drivers/gpu/drm/i915/i915_sw_fence.h:57:2: note: in expansion of macro 'BUILD_BUG_ON'
|
||||
# BUILD_BUG_ON((fn) == NULL); \
|
||||
# ^~~~~~~~~~~~
|
||||
# drivers/gpu/drm/i915/i915_sw_fence_work.c:89:2: note: in expansion of macro 'i915_sw_fence_init'
|
||||
# i915_sw_fence_init(&f->chain, fence_notify);
|
||||
# ^~~~~~~~~~~~~~~~~~
|
||||
# cc1: all warnings being treated as errors
|
||||
# make[5]: *** [drivers/gpu/drm/i915/i915_sw_fence_work.o] Error 1
|
||||
# make[4]: *** [drivers/gpu/drm/i915] Error 2
|
||||
# make[3]: *** [drivers/gpu/drm] Error 2
|
||||
CONFIG_WERROR=n
|
||||
|
||||
# Enable zstd compression to stay below 15 MB, which is the size of Extended Memory.
|
||||
# This is relevant to keep the kernel booting with the minimal MBR loader we use.
|
||||
CONFIG_KERNEL_ZSTD=y
|
||||
|
||||
# For qemu -M microvm quick boots:
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_XEN_VIRTIO=y
|
||||
CONFIG_VIRTIO_IOMMU=y
|
||||
|
||||
CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
CONFIG_NF_SOCKET_IPV6=y
|
||||
CONFIG_NETLINK_DIAG=y
|
||||
CONFIG_INET_DIAG_DESTROY=y
|
||||
|
||||
# More AWS stuff:
|
||||
CONFIG_ENA_ETHERNET=y
|
||||
CONFIG_RANDOM_TRUST_CPU=y
|
||||
CONFIG_RANDOM_TRUST_BOOTLOADER=y
|
||||
|
||||
# For older AWS:
|
||||
CONFIG_XEN=y
|
||||
CONFIG_XEN_DOM0=y
|
||||
CONFIG_XEN_PRIVILEGED_GUEST=y
|
||||
CONFIG_XEN_PVHVM=y
|
||||
# Can't disable modules because we're relying on generic arm64 defconfig.
|
||||
# Disabling modules will convert all modules to be built in, which is a lot.
|
||||
# CONFIG_MODULES=n
|
||||
|
||||
# Disable wireless-y modules, like WiFi/BT
|
||||
CONFIG_BT=n
|
||||
CONFIG_CFG80211=n
|
||||
CONFIG_NFC=n
|
||||
CONFIG_WIRELESS=n
|
||||
|
||||
# Speed up boot and processing in general
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
CONFIG_DEBUG_KERNEL=n
|
||||
|
||||
# Enable the RK3588 CPU
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_CPU_RK3588=y
|
||||
# Required for Tailscale
|
||||
CONFIG_TUN=y
|
||||
|
||||
# Enable all the ROCKCHIP options
|
||||
CONFIG_CRYPTO_DEV_ROCKCHIP2=y
|
||||
CONFIG_CRYPTO_DEV_ROCKCHIP=y
|
||||
CONFIG_HW_RANDOM_ROCKCHIP=y
|
||||
CONFIG_MFD_RK8XX_I2C=y
|
||||
CONFIG_MFD_RK8XX_SPI=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_ROCKCHIP_PHY=y
|
||||
CONFIG_SPI_ROCKCHIP=y
|
||||
CONFIG_SPI_ROCKCHIP_SFC=y
|
||||
CONFIG_ROCKCHIP_THERMAL=y
|
||||
CONFIG_MMC_DW_ROCKCHIP=y
|
||||
CONFIG_NVMEM_ROCKCHIP_EFUSE=y
|
||||
CONFIG_NVMEM_ROCKCHIP_OTP=y
|
||||
CONFIG_PCIE_ROCKCHIP_HOST=y
|
||||
CONFIG_ROCKCHIP_MBOX=y
|
||||
CONFIG_ROCKCHIP_IOMMU=y
|
||||
CONFIG_ROCKCHIP_IODOMAIN=y
|
||||
CONFIG_ROCKCHIP_PM_DOMAINS=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_PHY_ROCKCHIP_DP=y
|
||||
CONFIG_PHY_ROCKCHIP_DPHY_RX0=y
|
||||
CONFIG_PHY_ROCKCHIP_EMMC=y
|
||||
CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=y
|
||||
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y
|
||||
CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
|
||||
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||
CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=y
|
||||
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y
|
||||
CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y
|
||||
CONFIG_PHY_ROCKCHIP_PCIE=y
|
||||
CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX=y
|
||||
CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y
|
||||
CONFIG_PHY_ROCKCHIP_TYPEC=y
|
||||
CONFIG_PHY_ROCKCHIP_USB=y
|
||||
CONFIG_PHY_ROCKCHIP_USBDP=y
|
||||
CONFIG_PWM_ROCKCHIP=y
|
||||
CONFIG_ROCKCHIP_IODOMAIN=y
|
||||
CONFIG_ROCKCHIP_IOMMU=y
|
||||
CONFIG_ROCKCHIP_MBOX=y
|
||||
CONFIG_ROCKCHIP_PHY=y
|
||||
CONFIG_ROCKCHIP_PM_DOMAINS=y
|
||||
CONFIG_ROCKCHIP_THERMAL=y
|
||||
CONFIG_SND_SOC_RK3328=y
|
||||
CONFIG_SPI_ROCKCHIP=y
|
||||
CONFIG_SPI_ROCKCHIP_SFC=y
|
||||
CONFIG_VIDEO_ROCKCHIP_VDEC2=y
|
||||
|
||||
# CM3588 RTC driver
|
||||
CONFIG_RTC_DRV_RK808=y
|
||||
|
||||
# Shouldn't this be done elsewhere?
|
||||
CONFIG_CMDLINE="console=ttyAMA0"
|
||||
|
||||
# This is what friendlyelec has
|
||||
CONFIG_HZ_300=y
|
||||
|
||||
# Quad core CPU
|
||||
CONFIG_NR_CPUS=8
|
||||
|
||||
# Power button
|
||||
CONFIG_PINCTRL_RK805=y
|
||||
CONFIG_NVMEM_ROCKCHIP_EFUSE=y
|
||||
CONFIG_NVMEM_ROCKCHIP_OTP=y
|
||||
CONFIG_CRYPTO_DEV_ROCKCHIP=y
|
||||
CONFIG_INPUT_RK805_PWRKEY=y
|
||||
CONFIG_PINCTRL_RK805=y
|
||||
CONFIG_MFD_RK8XX_I2C=y
|
||||
CONFIG_MFD_RK8XX_SPI=y
|
||||
CONFIG_SND_SOC_RK3328=y
|
||||
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_CMDLINE="console=ttyAMA0"
|
||||
|
||||
# Needed to ensure DWMAC_ROCKCHIP is built, which is needed for Ethernet
|
||||
CONFIG_STMMAC_ETH=y
|
||||
CONFIG_STMMAC_PLATFORM=y
|
||||
CONFIG_DWMAC_GENERIC=y
|
||||
CONFIG_DWMAC_ROCKCHIP=y
|
||||
|
||||
# Ethernet driver
|
||||
CONFIG_REALTEK_PHY=y
|
||||
CONFIG_R8169=y
|
||||
|
||||
# Try to enable HDMI out
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_ROCKCHIP=y
|
||||
|
||||
|
||||
# Try to enable sound
|
||||
CONFIG_SND_SOC_ROCKCHIP=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_DLP_PCM=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_I2S=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_PDM=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_SAI=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_SPDIF=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_SPDIFRX=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_VAD=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_MAX98090=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_MULTICODECS=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_RT5645=y
|
||||
CONFIG_SND_SOC_ROCKCHIP_HDMI=y
|
||||
|
||||
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_OVERLAY_FS_INDEX=y
|
||||
|
||||
|
||||
# # disable other arches
|
||||
# CONFIG_ARCH_ACTIONS=n
|
||||
# CONFIG_ARCH_AIROHA=n
|
||||
# CONFIG_ARCH_ALPINE=n
|
||||
# CONFIG_ARCH_APPLE=n
|
||||
# CONFIG_ARCH_BCM2835=n
|
||||
# CONFIG_ARCH_BCM=n
|
||||
# CONFIG_ARCH_BCM_IPROC=n
|
||||
# CONFIG_ARCH_BCMBCA=n
|
||||
# CONFIG_ARCH_BERLIN=n
|
||||
# CONFIG_ARCH_BRCMSTB=n
|
||||
# CONFIG_ARCH_EXYNOS=n
|
||||
# CONFIG_ARCH_HISI=n
|
||||
# CONFIG_ARCH_INTEL_SOCFPGA=n
|
||||
# CONFIG_ARCH_K3=n
|
||||
# CONFIG_ARCH_KEEMBAY=n
|
||||
# CONFIG_ARCH_LAYERSCAPE=n
|
||||
# CONFIG_ARCH_LG1K=n
|
||||
# CONFIG_ARCH_MA35=n
|
||||
# CONFIG_ARCH_MEDIATEK=n
|
||||
# CONFIG_ARCH_MESON=n
|
||||
# CONFIG_ARCH_MVEBU=n
|
||||
# CONFIG_ARCH_MXC=n
|
||||
# CONFIG_ARCH_NPCM=n
|
||||
# CONFIG_ARCH_NXP=n
|
||||
# CONFIG_ARCH_QCOM=n
|
||||
# CONFIG_ARCH_R8A774A1=n
|
||||
# CONFIG_ARCH_R8A774B1=n
|
||||
# CONFIG_ARCH_R8A774C0=n
|
||||
# CONFIG_ARCH_R8A774E1=n
|
||||
# CONFIG_ARCH_R8A77951=n
|
||||
# CONFIG_ARCH_R8A77960=n
|
||||
# CONFIG_ARCH_R8A77961=n
|
||||
# CONFIG_ARCH_R8A77965=n
|
||||
# CONFIG_ARCH_R8A77970=n
|
||||
# CONFIG_ARCH_R8A77980=n
|
||||
# CONFIG_ARCH_R8A77990=n
|
||||
# CONFIG_ARCH_R8A77995=n
|
||||
# CONFIG_ARCH_R8A779A0=n
|
||||
# CONFIG_ARCH_R8A779F0=n
|
||||
# CONFIG_ARCH_R8A779G0=n
|
||||
# CONFIG_ARCH_R8A779H0=n
|
||||
# CONFIG_ARCH_R9A07G043=n
|
||||
# CONFIG_ARCH_R9A07G044=n
|
||||
# CONFIG_ARCH_R9A07G054=n
|
||||
# CONFIG_ARCH_R9A08G045=n
|
||||
# CONFIG_ARCH_R9A09G011=n
|
||||
# CONFIG_ARCH_R9A09G057=n
|
||||
# CONFIG_ARCH_REALTEK=n
|
||||
# CONFIG_ARCH_RENESAS=n
|
||||
# CONFIG_ARCH_S32=n
|
||||
# CONFIG_ARCH_SEATTLE=n
|
||||
# CONFIG_ARCH_SPARX5=n
|
||||
# CONFIG_ARCH_SPRD=n
|
||||
# CONFIG_ARCH_STM32=n
|
||||
# CONFIG_ARCH_SUNXI=n
|
||||
# CONFIG_ARCH_SYNQUACER=n
|
||||
# CONFIG_ARCH_TEGRA=n
|
||||
# CONFIG_ARCH_TEGRA_132_SOC=n
|
||||
# CONFIG_ARCH_TEGRA_186_SOC=n
|
||||
# CONFIG_ARCH_TEGRA_194_SOC=n
|
||||
# CONFIG_ARCH_TEGRA_210_SOC=n
|
||||
# CONFIG_ARCH_TEGRA_234_SOC=n
|
||||
# CONFIG_ARCH_TESLA_FSD=n
|
||||
# CONFIG_ARCH_THUNDER2=n
|
||||
# CONFIG_ARCH_THUNDER=n
|
||||
# CONFIG_ARCH_UNIPHIER=n
|
||||
# CONFIG_ARCH_VEXPRESS=n
|
||||
# CONFIG_ARCH_VISCONTI=n
|
||||
# CONFIG_ARCH_XGENE=n
|
||||
# CONFIG_ARCH_ZYNQMP=n
|
||||
|
||||
# CONFIG_GOOGLE_FIRMWARE=n
|
||||
|
||||
# CONFIG_ATA=n
|
||||
|
||||
# CONFIG_MD=n
|
||||
|
||||
|
||||
# CONFIG_NET_VENDOR_3COM=n
|
||||
# CONFIG_NET_VENDOR_ADAPTEC=n
|
||||
# CONFIG_NET_VENDOR_AGERE=n
|
||||
# CONFIG_NET_VENDOR_ALACRITECH=n
|
||||
# CONFIG_NET_VENDOR_ALTEON=n
|
||||
# CONFIG_NET_VENDOR_AMAZON=n
|
||||
# CONFIG_NET_VENDOR_AMD=n
|
||||
# CONFIG_NET_VENDOR_AQUANTIA=n
|
||||
# CONFIG_NET_VENDOR_ARC=n
|
||||
# CONFIG_NET_VENDOR_ASIX=n
|
||||
# CONFIG_NET_VENDOR_ATHEROS=n
|
||||
# CONFIG_NET_VENDOR_CADENCE=n
|
||||
# CONFIG_NET_VENDOR_CAVIUM=n
|
||||
# CONFIG_NET_VENDOR_CHELSIO=n
|
||||
# CONFIG_NET_VENDOR_CISCO=n
|
||||
# CONFIG_NET_VENDOR_CORTINA=n
|
||||
# CONFIG_NET_VENDOR_DAVICOM=n
|
||||
# CONFIG_NET_VENDOR_DEC=n
|
||||
# CONFIG_NET_VENDOR_DLINK=n
|
||||
# CONFIG_NET_VENDOR_EMULEX=n
|
||||
# CONFIG_NET_VENDOR_ENGLEDER=n
|
||||
# CONFIG_NET_VENDOR_EZCHIP=n
|
||||
# CONFIG_NET_VENDOR_FUNGIBLE=n
|
||||
# CONFIG_NET_VENDOR_GOOGLE=n
|
||||
# CONFIG_NET_VENDOR_HISILICON=n
|
||||
# CONFIG_NET_VENDOR_HUAWEI=n
|
||||
# CONFIG_NET_VENDOR_I825XX=n
|
||||
# CONFIG_NET_VENDOR_INTEL=n
|
||||
# CONFIG_NET_VENDOR_ADI=n
|
||||
# CONFIG_NET_VENDOR_LITEX=n
|
||||
# CONFIG_NET_VENDOR_MARVELL=n
|
||||
# CONFIG_NET_VENDOR_MELLANOX=n
|
||||
# CONFIG_NET_VENDOR_MICREL=n
|
||||
# CONFIG_NET_VENDOR_MICROCHIP=n
|
||||
# CONFIG_NET_VENDOR_MICROSEMI=n
|
||||
# CONFIG_NET_VENDOR_MICROSOFT=n
|
||||
# CONFIG_NET_VENDOR_MnRI=n
|
||||
# CONFIG_NET_VENDOR_NI=n
|
||||
# CONFIG_NET_VENDOR_NATSEMI=n
|
||||
# CONFIG_NET_VENDOR_NETERION=n
|
||||
# CONFIG_NET_VENDOR_NETRONOME=n
|
||||
# CONFIG_NET_VENDOR_8390=n
|
||||
# CONFIG_NET_VENDOR_NVIDIA=n
|
||||
# CONFIG_NET_VENDOR_OKI=n
|
||||
# CONFIG_NET_VENDOR_PACKET_ENGINES=n
|
||||
# CONFIG_NET_VENDOR_PENSANDO=n
|
||||
# CONFIG_NET_VENDOR_QLOGIC=n
|
||||
# CONFIG_NET_VENDOR_BROCADE=n
|
||||
# CONFIG_NET_VENDOR_QUALCOMM=n
|
||||
# CONFIG_NET_VENDOR_RDC=n
|
||||
# CONFIG_NET_VENDOR_BROADCOM=n
|
||||
# CONFIG_NET_VENDOR_RENESAS=n
|
||||
# CONFIG_NET_VENDOR_ROCKER=n
|
||||
# CONFIG_NET_VENDOR_SAMSUNG=n
|
||||
# CONFIG_NET_VENDOR_SEEQ=n
|
||||
# CONFIG_NET_VENDOR_SILAN=n
|
||||
# CONFIG_NET_VENDOR_SIS=n
|
||||
# CONFIG_NET_VENDOR_SOLARFLARE=n
|
||||
# CONFIG_NET_VENDOR_SMSC=n
|
||||
# CONFIG_NET_VENDOR_SOCIONEXT=n
|
||||
# CONFIG_NET_VENDOR_STMICRO=n
|
||||
# CONFIG_NET_VENDOR_SUN=n
|
||||
# CONFIG_NET_VENDOR_SnNOPSnS=n
|
||||
# CONFIG_NET_VENDOR_TEHUTI=n
|
||||
# CONFIG_NET_VENDOR_TI=n
|
||||
# CONFIG_NET_VENDOR_VERTEXCOM=n
|
||||
# CONFIG_NET_VENDOR_VIA=n
|
||||
# CONFIG_NET_VENDOR_WANGXUN=n
|
||||
# CONFIG_NET_VENDOR_WIZNET=n
|
||||
# CONFIG_NET_VENDOR_XILINX=n
|
||||
CONFIG_CRYPTO_DEV_ROCKCHIP2=y
|
||||
CONFIG_HW_RANDOM_ROCKCHIP=y
|
||||
CONFIG_VIDEO_ROCKCHIP_VDEC2=y
|
||||
|
||||
CONFIG_MKISS=y
|
||||
CONFIG_6PACK=y
|
||||
CONFIG_BPQETHER=y
|
||||
CONFIG_BAYCOM_SER_FDX=y
|
||||
CONFIG_BAYCOM_SER_HDX=y
|
||||
CONFIG_YAM=y
|
||||
CONFIG_USB_RTL8150=y
|
||||
CONFIG_USB_RTL8152=y
|
||||
|
||||
|
||||
CONFIG_AD525X_DPOT=y
|
||||
CONFIG_AD525X_DPOT_I2C=y
|
||||
CONFIG_AD525X_DPOT_SPI=y
|
||||
|
@ -11,9 +11,9 @@ import (
|
||||
"strconv"
|
||||
)
|
||||
|
||||
const ubootRev = "a3cd0b4c632fff0f39013efebd419356eb6b4064"
|
||||
const ubootTS = 1723759665
|
||||
const trustedRepoRev = "a4e2a9f16d5c4620cd824294ef91a198fd276c80"
|
||||
const ubootRev = "fd46ea0e701920eb205c2bce9d527bf0dec10b59"
|
||||
const ubootTS = 1720219003
|
||||
const trustedRepoRev = "c970c1c38f6d06a3e48e00ea7533c0e427311bcb"
|
||||
|
||||
const (
|
||||
uBootRepo = "https://github.com/u-boot/u-boot"
|
||||
@ -47,7 +47,7 @@ func applyPatches(srcdir, t string) error {
|
||||
}
|
||||
|
||||
func compile(trustedFirmwareDir string) error {
|
||||
defconfig := exec.Command("make", "ARCH=arm64", "cm3588-nas-rk3588_defconfig")
|
||||
defconfig := exec.Command("make", "ARCH=arm64", "nanopc-t6-rk3588_defconfig")
|
||||
defconfig.Stdout = os.Stdout
|
||||
defconfig.Stderr = os.Stderr
|
||||
if err := defconfig.Run(); err != nil {
|
||||
|
@ -15,7 +15,7 @@ import (
|
||||
)
|
||||
|
||||
const dockerFileContents = `
|
||||
FROM debian:bullseye
|
||||
FROM debian:buster
|
||||
|
||||
RUN apt-get update && apt-get install -y crossbuild-essential-arm64 bc libssl-dev bison flex
|
||||
RUN mkdir -p /usr/src/kernel.patches
|
||||
@ -46,6 +46,7 @@ var patchFiles = []string{
|
||||
"kernel.patches/0002-arm64-dts-rockchip-Add-FriendlyElec-CM3588-NAS-board.patch",
|
||||
"kernel.patches/0010-fix-clk-divisions.patch",
|
||||
"kernel.patches/0011-irqchip-fix-its-timeout-issue.patch",
|
||||
"kernel.patches/0012-fix-initial-PERST-GPIO-value.patch",
|
||||
"kernel.patches/0022-RK3588-Add-Thermal-and-CpuFreq-Support.patch",
|
||||
"kernel.patches/0024-RK3588-Add-Crypto-Support.patch",
|
||||
"kernel.patches/0025-RK3588-Add-HW-RNG-Support.patch",
|
||||
@ -77,6 +78,7 @@ var patchFiles = []string{
|
||||
"kernel.patches/1040-board-khadas-edge2-add-nodes.patch",
|
||||
"kernel.patches/1041-board-khadas-edge2-mcu.patch",
|
||||
"kernel.patches/1051-arm64-dts-rockchip-Add-NanoPC-T6-SPI-Flash.patch",
|
||||
// "linux-6.10-rc7.tar.gz",
|
||||
}
|
||||
|
||||
func copyFile(dest, src string) error {
|
||||
@ -121,7 +123,7 @@ func find(filename string) (string, error) {
|
||||
return filename, nil
|
||||
}
|
||||
|
||||
path := filepath.Join(gopath, "src", "github.com", "lordwelch", "gokrazy-cm3588-kernel", filename)
|
||||
path := filepath.Join(gopath, "src", "gitea.narnian.us", "lordwelch", "gokrazy-cm3588-kernel", filename)
|
||||
if _, err := os.Stat(path); err == nil {
|
||||
return path, nil
|
||||
}
|
||||
@ -169,7 +171,7 @@ func main() {
|
||||
}
|
||||
defer os.RemoveAll(tmp)
|
||||
|
||||
cmd := exec.Command("go", "build", "-o", tmp, "github.com/lordwelch/gokrazy-cm3588-kernel/cmd/gokr-build-kernel")
|
||||
cmd := exec.Command("go", "build", "-o", tmp, "gitea.narnian.us/lordwelch/gokrazy-cm3588-kernel/cmd/gokr-build-kernel")
|
||||
cmd.Env = append(os.Environ(), "GOOS=linux", "CGO_ENABLED=0")
|
||||
cmd.Stderr = os.Stderr
|
||||
if err := cmd.Run(); err != nil {
|
||||
@ -202,7 +204,7 @@ func main() {
|
||||
// Copy all files into the temporary directory so that docker
|
||||
// includes them in the build context.
|
||||
for _, path := range patchPaths {
|
||||
if err := copyFile(filepath.Join(tmp, path), path); err != nil {
|
||||
if err := copyFile(filepath.Join(tmp, "kernel.patches", filepath.Base(path)), path); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ import (
|
||||
)
|
||||
|
||||
const dockerFileContents = `
|
||||
FROM debian:bookworm
|
||||
FROM debian:buster
|
||||
|
||||
RUN apt-get update && apt-get install -y crossbuild-essential-arm64 bc libssl-dev bison flex git python3 python3-setuptools swig python3-dev python3-pyelftools uuid-dev libgnutls28-dev
|
||||
|
||||
@ -49,7 +49,6 @@ var atfPatchFiles = []string{
|
||||
"atf.patches/feat-rk3588-support-rk3588.patch",
|
||||
"atf.patches/rk3588-enable-crypto-function.patch",
|
||||
"atf.patches/feat-rockchip-support-SCMI-for-clock-reset-domain.patch",
|
||||
"atf.patches/rockchip-add-some-pm-helpers-functions.patch",
|
||||
}
|
||||
|
||||
func copyFile(dest, src string) error {
|
||||
@ -94,7 +93,7 @@ func find(filename string) (string, error) {
|
||||
return filename, nil
|
||||
}
|
||||
|
||||
path := filepath.Join(gopath, "src", "github", "lordwelch", "gokrazy-cm3588-kernel", filename)
|
||||
path := filepath.Join(gopath, "src", "gitea.narnian.us", "lordwelch", "gokrazy-cm3588-kernel", filename)
|
||||
if _, err := os.Stat(path); err == nil {
|
||||
return path, nil
|
||||
}
|
||||
@ -142,7 +141,7 @@ func main() {
|
||||
}
|
||||
defer os.RemoveAll(tmp)
|
||||
|
||||
cmd := exec.Command("go", "build", "-o", tmp, "github/lordwelch/gokrazy-cm3588-kernel/cmd/gokr-build-uboot")
|
||||
cmd := exec.Command("go", "build", "-o", tmp, "gitea.narnian.us/lordwelch/gokrazy-cm3588-kernel/cmd/gokr-build-uboot")
|
||||
cmd.Env = append(os.Environ(), "GOOS=linux", "CGO_ENABLED=0")
|
||||
cmd.Stderr = os.Stderr
|
||||
if err := cmd.Run(); err != nil {
|
||||
|
2
go.mod
2
go.mod
@ -1,3 +1,3 @@
|
||||
module github.com/lordwelch/gokrazy-cm3588-kernel
|
||||
module gitea.narnian.us/lordwelch/gokrazy-cm3588-kernel
|
||||
|
||||
go 1.22
|
||||
|
@ -18,7 +18,7 @@ diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation
|
||||
index fcf7316ec..86379b8cc 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
|
||||
@@ -248,6 +248,13 @@ properties:
|
||||
@@ -236,6 +236,13 @@ properties:
|
||||
- const: friendlyarm,nanopc-t6
|
||||
- const: rockchip,rk3588
|
||||
|
||||
|
69
kernel.patches/0001-general-add-overlay-support.patch
Normal file
69
kernel.patches/0001-general-add-overlay-support.patch
Normal file
@ -0,0 +1,69 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
||||
Date: Sun, 2 Jun 2024 21:53:01 +0200
|
||||
Subject: compile .scr and install overlays in right path
|
||||
|
||||
---
|
||||
scripts/Makefile.dtbinst | 13 +++++++++-
|
||||
scripts/Makefile.lib | 8 +++++-
|
||||
2 files changed, 19 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/scripts/Makefile.dtbinst
|
||||
+++ b/scripts/Makefile.dtbinst
|
||||
@@ -33,7 +33,18 @@ endef
|
||||
|
||||
$(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
|
||||
|
||||
-dtbs := $(notdir $(dtbs))
|
||||
+# Very convoluted way to flatten all the device tree
|
||||
+# directories, but keep the "/overlay/" directory
|
||||
+
|
||||
+# topmost directory (ie: from rockchip/overlay/rk322x-emmc.dtbo extracts rockchip)
|
||||
+topmost_dir = $(firstword $(subst /, ,$(dtbs)))
|
||||
+# collect dtbs entries which starts with "$topmost_dir/overlay/", then remove "$topmost_dir"
|
||||
+dtbs_overlays = $(subst $(topmost_dir)/,,$(filter $(topmost_dir)/overlay/%, $(dtbs)))
|
||||
+# collect the non-overlay dtbs
|
||||
+dtbs_regular = $(filter-out $(topmost_dir)/overlay/%, $(dtbs))
|
||||
+# compose the dtbs variable flattening all the non-overlays entries
|
||||
+# and appending the overlays entries
|
||||
+dtbs := $(notdir $(dtbs_regular)) $(dtbs_overlays)
|
||||
|
||||
endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
|
||||
|
||||
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/scripts/Makefile.lib
|
||||
+++ b/scripts/Makefile.lib
|
||||
@@ -402,7 +402,7 @@ $(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE
|
||||
|
||||
quiet_cmd_dtc = DTC $@
|
||||
cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
||||
- $(DTC) -o $@ -b 0 \
|
||||
+ $(DTC) -@ -o $@ -b 0 \
|
||||
$(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
|
||||
-d $(depfile).dtc.tmp $(dtc-tmp) ; \
|
||||
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
|
||||
@@ -427,12 +427,18 @@ quiet_cmd_dtb = $(quiet_cmd_dtc)
|
||||
cmd_dtb = $(cmd_dtc)
|
||||
endif
|
||||
|
||||
+quiet_cmd_scr = MKIMAGE $@
|
||||
+cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@
|
||||
+
|
||||
$(obj)/%.dtb: $(obj)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
|
||||
$(call if_changed_dep,dtb)
|
||||
|
||||
$(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE
|
||||
$(call if_changed_dep,dtc)
|
||||
|
||||
+$(obj)/%.scr: $(src)/%.scr-cmd FORCE
|
||||
+ $(call if_changed,scr)
|
||||
+
|
||||
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
|
||||
|
||||
# Bzip2
|
||||
--
|
||||
Armbian
|
||||
|
@ -47,7 +47,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchi
|
||||
index f906a868b..c528f5382 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
||||
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
||||
@@ -118,6 +118,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-io.dtb
|
||||
@@ -112,6 +112,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-io.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-wifi.dtbo
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6b-io.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb
|
||||
|
30
kernel.patches/0012-fix-initial-PERST-GPIO-value.patch
Normal file
30
kernel.patches/0012-fix-initial-PERST-GPIO-value.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: yangchaohong <45483831+yangchaohong@users.noreply.github.com>
|
||||
Date: Wed, 1 May 2024 08:30:43 +0100
|
||||
Subject: [ARCHEOLOGY] Fix PCIe for RK35xx+Fix ROCK5A PCIe device tree
|
||||
|
||||
> X-Git-Archeology: - Revision b1f648ee755de73a922a33d6a432f310ea4ff3e0: https://github.com/armbian/build/commit/b1f648ee755de73a922a33d6a432f310ea4ff3e0
|
||||
> X-Git-Archeology: Date: Wed, 01 May 2024 08:30:43 +0100
|
||||
> X-Git-Archeology: From: yangchaohong <45483831+yangchaohong@users.noreply.github.com>
|
||||
> X-Git-Archeology: Subject: Fix PCIe for RK35xx+Fix ROCK5A PCIe device tree
|
||||
> X-Git-Archeology:
|
||||
---
|
||||
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
|
||||
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
|
||||
@@ -240,7 +240,7 @@ static int rockchip_pcie_resource_get(struct platform_device *pdev,
|
||||
return PTR_ERR(rockchip->apb_base);
|
||||
|
||||
rockchip->rst_gpio = devm_gpiod_get_optional(&pdev->dev, "reset",
|
||||
- GPIOD_OUT_HIGH);
|
||||
+ GPIOD_OUT_LOW);
|
||||
if (IS_ERR(rockchip->rst_gpio))
|
||||
return PTR_ERR(rockchip->rst_gpio);
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user