mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 05:23:39 +08:00
configs/nvidia_bf3_defconfig: new defconfig
This patch adds a basic support for the Bluefied3 board from Mellanox/NVIDIA: - https://www.nvidia.com/en-us/networking/products/data-processing-unit/ Brief summary of the board features: - multicore ARM - 16 Core ARM Processor - DDR4: 16GB/32GB - 2x embedded CX7 Signed-off-by: Vincent Jardin <vjardin@free.fr> Reviewed-by: Julien Olivain <ju.o@free.fr> [Julien: - remove add-custom-hashes from the commit log - add link for upstream kernel hashes - check hash with pgp - reflow the readme.txt - regenerated defconfig with make savedefconfig] Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
parent
11ae90b001
commit
771da1dd9b
@ -3271,6 +3271,8 @@ N: Victor Huesca <victor.huesca@bootlin.com>
|
||||
F: support/testing/tests/core/test_root_password.py
|
||||
|
||||
N: Vincent Jardin <vjardin@free.fr>
|
||||
F: board/nvidia/bf3/
|
||||
F: configs/nvidia_bf3_defconfig
|
||||
F: package/dpdk/
|
||||
|
||||
N: Vincent Prince <vincent.prince.fr@gmail.com>
|
||||
|
163
board/nvidia/bf3/linux.config
Normal file
163
board/nvidia/bf3/linux.config
Normal file
@ -0,0 +1,163 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_TASKSTATS=y
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_DIAG=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_BRIDGE=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_VSOCKETS=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_FW_CFG_SYSFS=y
|
||||
CONFIG_FW_CFG_SYSFS_CMDLINE=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_MACVLAN=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_NLMON=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_TCG_TPM=y
|
||||
CONFIG_TCG_TIS=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_PL320_MBOX=y
|
||||
CONFIG_ARM_SMMU_V3=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_VIRTIO_FS=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_RAS=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_LEGACY_SYSFS=y
|
||||
CONFIG_EDAC_BLUEFIELD=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_MELLANOX_PLATFORM=y
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_GPIO_MLXBF2=y
|
||||
CONFIG_GPIO_MLXBF3=y
|
||||
CONFIG_GPIO_MLXBF=y
|
||||
CONFIG_I2C_MLXBF=y
|
||||
CONFIG_I2C_MLXCPLD=y
|
||||
CONFIG_I2C_MUX=y
|
||||
CONFIG_I2C_MUX_MLXCPLD=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_MLXCPLD=y
|
||||
CONFIG_LEDS_MLXREG=y
|
||||
CONFIG_NET_SWITCHDEV=y
|
||||
CONFIG_MLX5_BRIDGE=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
CONFIG_NET_TC_SKB_EXT=y
|
||||
CONFIG_CONFIG_NET_CLS_ACT=y
|
||||
CONFIG_MLX5_CLS_ACT=y
|
||||
CONFIG_DCB=y
|
||||
CONFIG_MLX5_CORE_EN_DCB=y
|
||||
CONFIG_MLX5_CORE_EN=y
|
||||
CONFIG_MLX5_CORE=y
|
||||
CONFIG_MLX5_DPLL=y
|
||||
CONFIG_MLX5_EN_ARFS=y
|
||||
CONFIG_INET_ESP=y
|
||||
CONFIG_INET6_ESP=y
|
||||
CONFIG_XFRM_OFFLOAD=y
|
||||
CONFIG_INET_ESP_OFFLOAD=y
|
||||
CONFIG_INET6_ESP_OFFLOAD=y
|
||||
CONFIG_MLX5_EN_IPSEC=y
|
||||
CONFIG_MLX5_EN_RXNFC=y
|
||||
CONFIG_TLS_DEVICE=y
|
||||
CONFIG_TLS=y
|
||||
CONFIG_MLX5_EN_TLS=y
|
||||
CONFIG_MLX5_ESWITCH=y
|
||||
CONFIG_MLX5_FPGA_IPSEC=y
|
||||
CONFIG_MLX5_FPGA_TLS=y
|
||||
CONFIG_MLX5_FPGA=y
|
||||
CONFIG_MLX5_IPSEC=y
|
||||
CONFIG_MACSEC=y
|
||||
CONFIG_MLX5_MACSEC=y
|
||||
CONFIG_MLX5_MPFS=y
|
||||
CONFIG_MLX5_SF_MANAGER=y
|
||||
CONFIG_MLX5_SF=y
|
||||
CONFIG_MLX5_SW_STEERING=y
|
||||
CONFIG_NETFILTER=y
|
||||
CONFIG_NETFILTER_INGRESS=y
|
||||
CONFIG_NF_CONNTRACK=y
|
||||
CONFIG_NF_TABLES=y
|
||||
CONFIG_NF_FLOW_TABLE=y
|
||||
CONFIG_NET_ACT_CT=y
|
||||
CONFIG_MLX5_TC_CT=y
|
||||
CONFIG_MLX5_TC_SAMPLE=y
|
||||
CONFIG_MLX5_TLS=y
|
||||
CONFIG_VDPA=y
|
||||
CONFIG_VHOST_IOTLB=y
|
||||
CONFIG_MLX5_VDPA_NET=y
|
||||
CONFIG_MLX5_VDPA_STEERING_DEBUG=y
|
||||
CONFIG_MLX5_VDPA=y
|
||||
CONFIG_IOMMUFD=y
|
||||
CONFIG_IOMMU_SUPPORT=y
|
||||
CONFIG_VFIO=y
|
||||
CONFIG_MLX5_VFIO_PCI=y
|
||||
CONFIG_MLXBF_BOOTCTL=y
|
||||
CONFIG_MLXBF_GIGE=y
|
||||
CONFIG_MLXBF_PMC=y
|
||||
CONFIG_MLXBF_TMFIFO=y
|
||||
CONFIG_MLXFW=y
|
||||
CONFIG_MLXREG_HOTPLUG=y
|
||||
CONFIG_MLXREG_IO=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_MLX_WDT=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_BLUEFIELD=y
|
||||
CONFIG_NET_VENDOR_MELLANOX=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_MLXBF3=y
|
||||
CONFIG_POWER_MLXBF=y
|
||||
CONFIG_SENSORS_MLXREG_FAN=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_RD_GZIP=y
|
||||
CONFIG_INITRAMFS_COMPRESSION_GZIP=y
|
1
board/nvidia/bf3/patches/linux-headers/linux-headers.hash
Symbolic link
1
board/nvidia/bf3/patches/linux-headers/linux-headers.hash
Symbolic link
@ -0,0 +1 @@
|
||||
../linux/linux.hash
|
4
board/nvidia/bf3/patches/linux/linux.hash
Normal file
4
board/nvidia/bf3/patches/linux/linux.hash
Normal file
@ -0,0 +1,4 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
# After checking with pgp with using key
|
||||
# B8868C80BA62A1FFFAF5FDA9632D3A06589DA6B1
|
||||
sha256 c954f60197008f1e1f32a1e77293903cf3801d2543ec4bf521f5651eb7f133ce linux-6.11.6.tar.xz
|
70
board/nvidia/bf3/readme.txt
Normal file
70
board/nvidia/bf3/readme.txt
Normal file
@ -0,0 +1,70 @@
|
||||
*****************
|
||||
BlueField 3 Board
|
||||
*****************
|
||||
|
||||
The BlueField 3 board is provided "as-is" without official support
|
||||
from NVIDIA.
|
||||
|
||||
For a detailed description of this board, please refer to the official
|
||||
website:
|
||||
https://www.nvidia.com/en-us/networking/products/data-processing-unit/
|
||||
|
||||
|
||||
Missing Kernel Modules
|
||||
======================
|
||||
|
||||
Please note that the following kernel modules are unavailable as they
|
||||
are not included in the Linux upstream repository:
|
||||
- CONFIG_MLXBF_PTM (module: mlxbf-ptm)
|
||||
- CONFIG_MLXBF_PKA (module: mlxbf-pka)
|
||||
|
||||
For further details on these kernel modules and their usage, please
|
||||
refer to the NVIDIA documentation:
|
||||
https://docs.nvidia.com/networking/display/bluefielddpuosv470/installing+popular+linux+distributions+on+bluefield
|
||||
|
||||
|
||||
Boot loader
|
||||
===========
|
||||
|
||||
NVIDIA does not provide information for rebuilding the ARM BL1, BL2,
|
||||
BL3, UEFI, or other components in the boot stages. Therefore, we
|
||||
assume the BF3 board is already running the pre-built Ubuntu image
|
||||
provided in the BFB installation format.
|
||||
|
||||
Since there are no available details on the BF3's BFB format or the
|
||||
ARM Trusted Firmware (ATF) needed to rebuild BL1, BL2, BL3, UEFI, or
|
||||
GRUB, these components are assumed to remain unmodified.
|
||||
|
||||
|
||||
Grub Configuration and Image Loading
|
||||
====================================
|
||||
|
||||
The board's image is loaded from the BF3's GRUB, with the following
|
||||
GRUB settings, assuming the console is set to `hvc0` to provide access
|
||||
thru `/dev/rshimN/console` from the root CPU since the root CPU's
|
||||
rshim exposes a virtio console over the PCIe bus to the BR3 board.
|
||||
|
||||
To update GRUB settings, boot using the built-in BF3 Ubuntu image.
|
||||
|
||||
Extract of /etc/default/grub:
|
||||
|
||||
GRUB_DEFAULT=0
|
||||
GRUB_TIMEOUT_STYLE=menu
|
||||
GRUB_TIMEOUT=-1
|
||||
GRUB_RECORDFAIL_TIMEOUT=5
|
||||
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
|
||||
GRUB_CMDLINE_LINUX_DEFAULT=""
|
||||
GRUB_CMDLINE_LINUX="console=hvc0 earlyprintk=hvc0 earlycon=hvc0 loglevel=7 fixrtc net.ifnames=0 biosdevname=0 iommu.passthrough=1"
|
||||
|
||||
|
||||
Uploading Buildroot Images
|
||||
--------------------------
|
||||
|
||||
After configuring GRUB, you can upload your Buildroot images to the
|
||||
BF3’s GRUB boot folder:
|
||||
|
||||
scp build_folder/images/Image BF3:/boot/vmlinuz-buildroot-xyz
|
||||
|
||||
Finally, run `update-grub` on the BF3 board to apply the updated GRUB settings.
|
||||
|
||||
Enjoy!
|
12
configs/nvidia_bf3_defconfig
Normal file
12
configs/nvidia_bf3_defconfig
Normal file
@ -0,0 +1,12 @@
|
||||
BR2_aarch64=y
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y
|
||||
BR2_GLOBAL_PATCH_DIR="board/nvidia/bf3/patches"
|
||||
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.11.6"
|
||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/nvidia/bf3/linux.config"
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
BR2_TARGET_ROOTFS_INITRAMFS=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
Loading…
Reference in New Issue
Block a user