From f9b12679d9d5e6476a663535b2349c435b8bcd3c Mon Sep 17 00:00:00 2001 From: Billal Ghilas <84322223+gBillal@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:44:59 +0100 Subject: [PATCH] Install missing utilities (#2) * Add CM5 device tree files This is untested, but should make it more likely for CM5's to work when people start getting them. * Include support for the Hailo AI accelerator This only enables Linux kernel support. * nerves_system_br: bump to v1.29.2 * nerves_system_br: bump to v1.29.3 * Bump Linux to 6.6.64; add new cm5 device tree files * Enable RP1 PIO driver and add notes This will enable some pretty cool I/O on the RPi5 for those interested in programming the PIO state machines. * Add missing overlay needed for the CM5 This was found by running `vclog --msg` on a booting image and seeing that `bcm2712d0.dtbo` was being loaded. The docs says that this overlay has the differences from the c0 silicon that seems to be on all of the regular RPi 5's right now. * Support NVME drives now that M.2 slots are common * Enable libdrm for libcamera preview * Resave nerves_defconfig: libdrm enabled by default * v0.4.1 release * Install missing utilities --------- Co-authored-by: Frank Hunleth Co-authored-by: Damirados --- .github/workflows/ci.yml | 5 ++++- CHANGELOG.md | 17 +++++++++++++++++ README.md | 10 ++++++++++ VERSION | 2 +- busybox_defconfig | 4 ++-- fwup.conf | 30 ++++++++++++++++++++++++++++++ linux-6.6.defconfig | 9 ++++++--- mix.exs | 3 ++- mix.lock | 12 ++++++------ nerves_defconfig | 10 ++++++---- 10 files changed, 84 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9edd727..c0a93c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,9 @@ name: CI -on: [push] +on: + push: + tags: + - 'v*' env: OTP_VERSION: 27.1.2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e894a7..a1a0e7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,23 @@ follows: releases, and Linux kernel updates. They're also made to fix bugs and add features to the build infrastructure. +## v0.4.1 + +This is a security/bug fix update. + +* Changes + * Support the CM5 and any other devices that use the BCM2712D0 + * Support the use of NVME SSDs + * Enable the RP1 PIO driver. This likely also requires the bootloader to be + updated to use + +* Updated dependencies + * [nerves_system_br v1.29.3](https://github.com/nerves-project/nerves_system_br/releases/tag/v1.29.3) + * [Buildroot 2024.08.3](https://lore.kernel.org/buildroot/874j3e17ek.fsf@dell.be.48ers.dk/T/) + * [Erlang/OTP 27.2](https://erlang.org/download/OTP-27.2.README) + * Linux 6.6.64 with the Raspberry Pi and PREEMPT_RT patches + * [fwup v1.12.0](https://github.com/fwup-home/fwup/releases/tag/v1.12.0) + ## v0.4.0 This is a major Erlang and Buildroot update. diff --git a/README.md b/README.md index c850ee2..611c08a 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,16 @@ cmd("amixer cset numid=3 2") Change the last argument to `amixer` to `1` to output to the stereo output jack. +## RP1 PIO + +The `rpi1-pio` device driver allows use of the PIO hardware using +[`piolib`](https://github.com/raspberrypi/utils/tree/master/piolib). If you +don't see `/dev/pio0`, the most likely cause is that you need to update your +Raspberry Pi's boot EEPROM. See +[rpi-eeprom](https://github.com/raspberrypi/rpi-eeprom) for binaries. It may be +easier to upgrade the EEPROM via RaspberryPi OS if the instructions aren't +clear. + ## Provisioning devices This system supports storing provisioning information in a small key-value store diff --git a/VERSION b/VERSION index 1d0ba9e..267577d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.4.0 +0.4.1 diff --git a/busybox_defconfig b/busybox_defconfig index acc7eb7..10e3678 100644 --- a/busybox_defconfig +++ b/busybox_defconfig @@ -666,8 +666,8 @@ CONFIG_FEATURE_DMESG_PRETTY=y # CONFIG_MORE is not set CONFIG_MOUNT=y # CONFIG_FEATURE_MOUNT_FAKE is not set -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -# CONFIG_FEATURE_MOUNT_HELPERS is not set +CONFIG_FEATURE_MOUNT_VERBOSE=y +CONFIG_FEATURE_MOUNT_HELPERS=y CONFIG_FEATURE_MOUNT_LABEL=y # CONFIG_FEATURE_MOUNT_NFS is not set # CONFIG_FEATURE_MOUNT_CIFS is not set diff --git a/fwup.conf b/fwup.conf index 1fc9bb6..1b29c96 100644 --- a/fwup.conf +++ b/fwup.conf @@ -25,9 +25,24 @@ file-resource kernel8.img { file-resource bcm2712-rpi-5-b.dtb { host-path = "${NERVES_SYSTEM}/images/bcm2712-rpi-5-b.dtb" } +file-resource bcm2712-rpi-cm5-cm4io.dtb { + host-path = "${NERVES_SYSTEM}/images/bcm2712-rpi-cm5-cm4io.dtb" +} +file-resource bcm2712-rpi-cm5-cm5io.dtb { + host-path = "${NERVES_SYSTEM}/images/bcm2712-rpi-cm5-cm5io.dtb" +} +file-resource bcm2712-rpi-cm5l-cm4io.dtb { + host-path = "${NERVES_SYSTEM}/images/bcm2712-rpi-cm5l-cm4io.dtb" +} +file-resource bcm2712-rpi-cm5l-cm5io.dtb { + host-path = "${NERVES_SYSTEM}/images/bcm2712-rpi-cm5l-cm5io.dtb" +} file-resource overlay_map.dtb { host-path = "${NERVES_SYSTEM}/images/rpi-firmware/overlays/overlay_map.dtb" } +file-resource bcm2712d0.dtbo { + host-path = "${NERVES_SYSTEM}/images/rpi-firmware/overlays/bcm2712d0.dtbo" +} file-resource rpi-ft5406.dtbo { host-path = "${NERVES_SYSTEM}/images/rpi-firmware/overlays/rpi-ft5406.dtbo" } @@ -179,7 +194,12 @@ task complete { on-resource fixup4.dat { fat_write(${BOOT_A_PART_OFFSET}, "fixup4.dat") } on-resource kernel8.img { fat_write(${BOOT_A_PART_OFFSET}, "kernel8.img") } on-resource bcm2712-rpi-5-b.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-5-b.dtb") } + on-resource bcm2712-rpi-cm5-cm4io.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-cm5-cm4io.dtb") } + on-resource bcm2712-rpi-cm5-cm5io.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-cm5-cm5io.dtb") } + on-resource bcm2712-rpi-cm5l-cm4io.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-cm5l-cm4io.dtb") } + on-resource bcm2712-rpi-cm5l-cm5io.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-cm5l-cm5io.dtb") } on-resource overlay_map.dtb { fat_write(${BOOT_A_PART_OFFSET}, "overlays/overlay_map.dtb") } + on-resource bcm2712d0.dtbo { fat_write(${BOOT_A_PART_OFFSET}, "overlays/bcm2712d0.dtbo") } on-resource rpi-ft5406.dtbo { fat_write(${BOOT_A_PART_OFFSET}, "overlays/rpi-ft5406.dtbo") } on-resource rpi-backlight.dtbo { fat_write(${BOOT_A_PART_OFFSET}, "overlays/rpi-backlight.dtbo") } on-resource w1-gpio-pullup.dtbo { fat_write(${BOOT_A_PART_OFFSET}, "overlays/w1-gpio-pullup.dtbo") } @@ -263,7 +283,12 @@ task upgrade.a { on-resource fixup4.dat { fat_write(${BOOT_A_PART_OFFSET}, "fixup4.dat") } on-resource kernel8.img { fat_write(${BOOT_A_PART_OFFSET}, "kernel8.img") } on-resource bcm2712-rpi-5-b.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-5-b.dtb") } + on-resource bcm2712-rpi-cm5-cm4io.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-cm5-cm4io.dtb") } + on-resource bcm2712-rpi-cm5-cm5io.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-cm5-cm5io.dtb") } + on-resource bcm2712-rpi-cm5l-cm4io.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-cm5l-cm4io.dtb") } + on-resource bcm2712-rpi-cm5l-cm5io.dtb { fat_write(${BOOT_A_PART_OFFSET}, "bcm2712-rpi-cm5l-cm5io.dtb") } on-resource overlay_map.dtb { fat_write(${BOOT_A_PART_OFFSET}, "overlays/overlay_map.dtb") } + on-resource bcm2712d0.dtbo { fat_write(${BOOT_A_PART_OFFSET}, "overlays/bcm2712d0.dtbo") } on-resource rpi-ft5406.dtbo { fat_write(${BOOT_A_PART_OFFSET}, "overlays/rpi-ft5406.dtbo") } on-resource rpi-backlight.dtbo { fat_write(${BOOT_A_PART_OFFSET}, "overlays/rpi-backlight.dtbo") } on-resource w1-gpio-pullup.dtbo { fat_write(${BOOT_A_PART_OFFSET}, "overlays/w1-gpio-pullup.dtbo") } @@ -355,7 +380,12 @@ task upgrade.b { on-resource fixup4.dat { fat_write(${BOOT_B_PART_OFFSET}, "fixup4.dat") } on-resource kernel8.img { fat_write(${BOOT_B_PART_OFFSET}, "kernel8.img") } on-resource bcm2712-rpi-5-b.dtb { fat_write(${BOOT_B_PART_OFFSET}, "bcm2712-rpi-5-b.dtb") } + on-resource bcm2712-rpi-cm5-cm4io.dtb { fat_write(${BOOT_B_PART_OFFSET}, "bcm2712-rpi-cm5-cm4io.dtb") } + on-resource bcm2712-rpi-cm5-cm5io.dtb { fat_write(${BOOT_B_PART_OFFSET}, "bcm2712-rpi-cm5-cm5io.dtb") } + on-resource bcm2712-rpi-cm5l-cm4io.dtb { fat_write(${BOOT_B_PART_OFFSET}, "bcm2712-rpi-cm5l-cm4io.dtb") } + on-resource bcm2712-rpi-cm5l-cm5io.dtb { fat_write(${BOOT_B_PART_OFFSET}, "bcm2712-rpi-cm5l-cm5io.dtb") } on-resource overlay_map.dtb { fat_write(${BOOT_B_PART_OFFSET}, "overlays/overlay_map.dtb") } + on-resource bcm2712d0.dtbo { fat_write(${BOOT_B_PART_OFFSET}, "overlays/bcm2712d0.dtbo") } on-resource rpi-ft5406.dtbo { fat_write(${BOOT_B_PART_OFFSET}, "overlays/rpi-ft5406.dtbo") } on-resource rpi-backlight.dtbo { fat_write(${BOOT_B_PART_OFFSET}, "overlays/rpi-backlight.dtbo") } on-resource w1-gpio-pullup.dtbo { fat_write(${BOOT_B_PART_OFFSET}, "overlays/w1-gpio-pullup.dtbo") } diff --git a/linux-6.6.defconfig b/linux-6.6.defconfig index feafbc2..b85a285 100644 --- a/linux-6.6.defconfig +++ b/linux-6.6.defconfig @@ -4,7 +4,7 @@ CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y -CONFIG_PREEMPT_RT=y +CONFIG_PREEMPT=y CONFIG_MEMCG=y CONFIG_BLK_CGROUP=y CONFIG_CFS_BANDWIDTH=y @@ -36,7 +36,6 @@ 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_EFI is not set # CONFIG_SUSPEND is not set CONFIG_PM=y CONFIG_PM_DEBUG=y @@ -159,6 +158,8 @@ CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_OF_CONFIGFS=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_NVME=y +CONFIG_RP1_PIO=y CONFIG_EEPROM_AT24=m CONFIG_SCSI=y # CONFIG_SCSI_PROC_FS is not set @@ -273,7 +274,6 @@ CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_KEYBOARD is not set # CONFIG_INPUT_MOUSE is not set CONFIG_INPUT_JOYSTICK=y -CONFIG_JOYSTICK_RPISENSE=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_EDT_FT5X06=m CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m @@ -355,6 +355,8 @@ CONFIG_MEDIA_SUPPORT_FILTER=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_MEDIA_PCI_SUPPORT=y +CONFIG_MEDIA_PCI_HAILO=m CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_BCM2835_UNICAM=m CONFIG_VIDEO_RASPBERRYPI_PISP_BE=m @@ -473,6 +475,7 @@ CONFIG_COMMON_CLK_RP1_SDIO=y CONFIG_CLK_RASPBERRYPI=y CONFIG_MAILBOX=y CONFIG_BCM2835_MBOX=y +CONFIG_MBOX_RP1=y CONFIG_BCM2712_IOMMU=y CONFIG_RASPBERRYPI_POWER=y CONFIG_PWM=y diff --git a/mix.exs b/mix.exs index c6675b8..313a229 100644 --- a/mix.exs +++ b/mix.exs @@ -68,7 +68,7 @@ defmodule ExNVRSystemRpi5.MixProject do defp deps do [ {:nerves, "~> 1.11", runtime: false}, - {:nerves_system_br, "1.29.1", runtime: false}, + {:nerves_system_br, "1.29.3", runtime: false}, {:nerves_toolchain_aarch64_nerves_linux_gnu, "~> 13.2.0", runtime: false}, {:nerves_system_linter, "~> 0.4", only: [:dev, :test], runtime: false}, {:ex_doc, "~> 0.22", only: :docs, runtime: false} @@ -100,6 +100,7 @@ defmodule ExNVRSystemRpi5.MixProject do defp package_files do [ + "busybox_defconfig", "fwup_include", "rootfs_overlay", "CHANGELOG.md", diff --git a/mix.lock b/mix.lock index 14c0d17..227ad42 100644 --- a/mix.lock +++ b/mix.lock @@ -1,14 +1,14 @@ %{ - "castore": {:hex, :castore, "1.0.10", "43bbeeac820f16c89f79721af1b3e092399b3a1ecc8df1a472738fd853574911", [:mix], [], "hexpm", "1b0b7ea14d889d9ea21202c43a4fa015eb913021cb535e8ed91946f4b77a8848"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.41", "ab34711c9dc6212dda44fcd20ecb87ac3f3fce6f0ca2f28d4a00e4154f8cd599", [:mix], [], "hexpm", "a81a04c7e34b6617c2792e291b5a2e57ab316365c2644ddc553bb9ed863ebefa"}, + "castore": {:hex, :castore, "1.0.11", "4bbd584741601eb658007339ea730b082cc61f3554cf2e8f39bf693a11b49073", [:mix], [], "hexpm", "e03990b4db988df56262852f20de0f659871c35154691427a5047f4967a16a62"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.42", "f23d856f41919f17cd06a493923a722d87a2d684f143a1e663c04a2b93100682", [:mix], [], "hexpm", "6915b6ca369b5f7346636a2f41c6a6d78b5af419d61a611079189233358b8b8b"}, "elixir_make": {:hex, :elixir_make, "0.9.0", "6484b3cd8c0cee58f09f05ecaf1a140a8c97670671a6a0e7ab4dc326c3109726", [:mix], [], "hexpm", "db23d4fd8b757462ad02f8aa73431a426fe6671c80b200d9710caf3d1dd0ffdb"}, - "ex_doc": {:hex, :ex_doc, "0.35.1", "de804c590d3df2d9d5b8aec77d758b00c814b356119b3d4455e4b8a8687aecaf", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "2121c6402c8d44b05622677b761371a759143b958c6c19f6558ff64d0aed40df"}, + "ex_doc": {:hex, :ex_doc, "0.36.1", "4197d034f93e0b89ec79fac56e226107824adcce8d2dd0a26f5ed3a95efc36b1", [:mix], [{:earmark_parser, "~> 1.4.42", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "d7d26a7cf965dacadcd48f9fa7b5953d7d0cfa3b44fa7a65514427da44eafd89"}, "jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"}, "makeup": {:hex, :makeup, "1.2.1", "e90ac1c65589ef354378def3ba19d401e739ee7ee06fb47f94c687016e3713d1", [:mix], [{:nimble_parsec, "~> 1.4", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "d36484867b0bae0fea568d10131197a4c2e47056a6fbe84922bf6ba71c8d17ce"}, - "makeup_elixir": {:hex, :makeup_elixir, "1.0.0", "74bb8348c9b3a51d5c589bf5aebb0466a84b33274150e3b6ece1da45584afc82", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "49159b7d7d999e836bedaf09dcf35ca18b312230cf901b725a64f3f42e407983"}, + "makeup_elixir": {:hex, :makeup_elixir, "1.0.1", "e928a4f984e795e41e3abd27bfc09f51db16ab8ba1aebdba2b3a575437efafc2", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "7284900d412a3e5cfd97fdaed4f5ed389b8f2b4cb49efc0eb3bd10e2febf9507"}, "makeup_erlang": {:hex, :makeup_erlang, "1.0.1", "c7f58c120b2b5aa5fd80d540a89fdf866ed42f1f3994e4fe189abebeab610839", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "8a89a1eeccc2d798d6ea15496a6e4870b75e014d1af514b1b71fa33134f57814"}, - "nerves": {:hex, :nerves, "1.11.2", "a6733509c433f244aaf8a3aef28fcc3cc653fd5c5e3dc3f475b233730dbb1b2a", [:make, :mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "0b554421e7d1b82b03955fda3d966c83ab2414c5ed52f57ad7f4bcdc98279c57"}, - "nerves_system_br": {:hex, :nerves_system_br, "1.29.1", "afa5337d66e9770d48dc8bf3a4da41f63dcbd1f0b4639d67fa08d449ad752668", [:mix], [], "hexpm", "33f5afe50fa603a8cdb22e281c18fb98de9f3012598af1ab77849d1dbe59747e"}, + "nerves": {:hex, :nerves, "1.11.3", "437aa0a961ff8583e7f377342662495cdb90af42a473ae4d76449917bd12c386", [:make, :mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "ef2076e0c0cb2c95421d12fd9069942c0ad73f3c77c0d6bb2cfb18972dacf675"}, + "nerves_system_br": {:hex, :nerves_system_br, "1.29.3", "397e57bc7789ba46e7a4ec93e0ee4be4e41624234c9d565d5611c1b51b10013b", [:mix], [], "hexpm", "18491a51056bcf1c8e79024cef7c6163ff7bda0299d39475b812b4a2077ff435"}, "nerves_system_linter": {:hex, :nerves_system_linter, "0.4.0", "81e9a6f5018fe5fb67d7b43a04dca36156f62b55b5554eb2fa3964d3889d09cd", [:mix], [], "hexpm", "b5bd8480ce7a6317f4601ff41fd2f594bdf76aff0bdf6dcfac571c3fa1ec5f82"}, "nerves_toolchain_aarch64_nerves_linux_gnu": {:hex, :nerves_toolchain_aarch64_nerves_linux_gnu, "13.2.0", "68fcd2c21c86cceb9545948fae052d72f88b7c7c10205b252dac88559e2a3369", [:mix], [{:nerves, "~> 1.4", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.10.0", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm", "f92212606919a062f975e7bd82ed8a1b95bd4864abb3444cd0d5d0e610e94cc5"}, "nerves_toolchain_ctng": {:hex, :nerves_toolchain_ctng, "1.10.0", "c6b35377a0b7a93633a8673a788f1580fe1fa06083374b0e4df36da65828d2ef", [:mix], [{:nerves, "~> 1.0", [hex: :nerves, repo: "hexpm", optional: false]}], "hexpm", "e4ae1a2b84de3502ecac195765819be0ce2834eb276553163a7c03133f1760f1"}, diff --git a/nerves_defconfig b/nerves_defconfig index 1925267..3c250ef 100644 --- a/nerves_defconfig +++ b/nerves_defconfig @@ -28,13 +28,13 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="${NERVES_DEFCONFIG_DIR}/post-build.sh ${BR2_EXTERN BR2_ROOTFS_POST_IMAGE_SCRIPT="${NERVES_DEFCONFIG_DIR}/post-createfs.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/refs/tags/stable_20241008.tar.gz" -BR2_LINUX_KERNEL_PATCH="http://cdn.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6.53-rt44.patch.gz ${NERVES_DEFCONFIG_DIR}/linux" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/80533a952218696c0ef1b346bab50dc401e6b74c.tar.gz" +BR2_LINUX_KERNEL_PATCH="http://cdn.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6.65-rt47.patch.gz ${NERVES_DEFCONFIG_DIR}/linux" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${NERVES_DEFCONFIG_DIR}/linux-6.6.defconfig" BR2_LINUX_KERNEL_XZ=y BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2712-rpi-5-b" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2712-rpi-5-b broadcom/bcm2712-rpi-cm5l-cm4io broadcom/bcm2712-rpi-cm5l-cm5io broadcom/bcm2712-rpi-cm5-cm4io broadcom/bcm2712-rpi-cm5-cm5io" BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="${NERVES_DEFCONFIG_DIR}/ramoops.dts" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_BUSYBOX_CONFIG="${BR2_EXTERNAL_NERVES_PATH}/board/nerves-common/busybox.config" @@ -48,12 +48,13 @@ BR2_PACKAGE_FFMPEG_GPL=y BR2_PACKAGE_FFMPEG_NONFREE=y BR2_PACKAGE_FFMPEG_FFPROBE=y BR2_PACKAGE_FFMPEG_SWSCALE=y +BR2_PACKAGE_E2FSPROGS=y BR2_PACKAGE_F2FS_TOOLS=y BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y BR2_PACKAGE_MESA3D_OPENGL_ES=y BR2_PACKAGE_RPI_FIRMWARE=y -BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_VERSION="1.20241008" +BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_VERSION="38d3dfafad92577c9e295fa3b7e5ec29adde94c5" BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X=y BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y @@ -82,6 +83,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_WPS=y BR2_PACKAGE_WPA_SUPPLICANT_WPA3=y BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_MOUNT=y # BR2_TARGET_ROOTFS_TAR is not set BR2_PACKAGE_HOST_KMOD_XZ=y BR2_NERVES_SYSTEM_NAME="nerves_system_rpi5"