diff -Nru flash-kernel-3.104ubuntu8/db/all.db flash-kernel-3.104ubuntu9/db/all.db --- flash-kernel-3.104ubuntu8/db/all.db 2022-04-03 17:32:44.000000000 +0000 +++ flash-kernel-3.104ubuntu9/db/all.db 2022-04-18 11:13:13.000000000 +0000 @@ -1671,10 +1671,14 @@ Required-Packages: u-boot-tools Boot-Script-Path: /boot/boot.scr +# Please ignore the DTB-Id in the following entries; the "pi" method copies +# *all* dtbs (including all dtb overlays) found to ensure that the storage can +# be moved between supported models. + Machine: Raspberry Pi 2 Model B Machine: Raspberry Pi 2 Model B Rev 1.1 Machine: Raspberry Pi 2 Model B Rev 1.2 -Kernel-Flavors: raspi +Kernel-Flavors: raspi raspi-nolpae Method: pi DTB-Id: bcm2709-rpi-2-b.dtb U-Boot-Script-Name: bootscr.rpi @@ -1683,7 +1687,7 @@ Machine: Raspberry Pi 3 Model A+ Machine: Raspberry Pi 3 Model A Plus Machine: Raspberry Pi 3 Model A Plus Rev 1.0 -Kernel-Flavors: raspi +Kernel-Flavors: raspi raspi-nolpae Method: pi DTB-Id: bcm2710-rpi-3-b-plus.dtb U-Boot-Script-Name: bootscr.rpi @@ -1693,7 +1697,7 @@ # Raspberry Pi 3 (BCM2710) Machine: Raspberry Pi 3 Model B Machine: Raspberry Pi 3 Model B Rev 1.2 -Kernel-Flavors: raspi +Kernel-Flavors: raspi raspi-nolpae Method: pi DTB-Id: bcm2710-rpi-3-b.dtb U-Boot-Script-Name: bootscr.rpi @@ -1702,7 +1706,7 @@ Machine: Raspberry Pi 3 Model B+ Machine: Raspberry Pi 3 Model B Plus Machine: Raspberry Pi 3 Model B Plus Rev 1.3 -Kernel-Flavors: raspi +Kernel-Flavors: raspi raspi-nolpae Method: pi DTB-Id: bcm2710-rpi-3-b-plus.dtb U-Boot-Script-Name: bootscr.rpi @@ -1712,24 +1716,37 @@ Machine: Raspberry Pi 4 Model B Rev 1.1 Machine: Raspberry Pi 4 Model B Rev 1.2 Machine: Raspberry Pi 4 Model B Rev 1.4 -Machine: Raspberry Pi Compute Module 4 Rev 1.0 -Machine: Raspberry Pi 400 Rev 1.0 -Machine: Raspberry Pi 400 Rev 1.1 +Machine: Raspberry Pi 4 Model B Rev 1.5 Machine: Raspberry Pi * -Kernel-Flavors: raspi +Kernel-Flavors: raspi raspi-nolpae Method: pi DTB-Id: bcm2711-rpi-4-b.dtb U-Boot-Script-Name: bootscr.rpi Required-Packages: u-boot-tools +Machine: Raspberry Pi 400 Rev 1.0 +Machine: Raspberry Pi 400 Rev 1.1 +Kernel-Flavors: raspi raspi-nolpae +Method: pi +DTB-Id: bcm2711-rpi-400.dtb +U-Boot-Script-Name: bootscr.rpi +Required-Packages: u-boot-tools + Machine: Raspberry Pi Compute Module 3 Rev 1.0 Machine: Raspberry Pi Compute Module 3 Plus Rev 1.0 -Kernel-Flavors: raspi +Kernel-Flavors: raspi raspi-nolpae Method: pi DTB-Id: bcm2710-rpi-cm3.dtb U-Boot-Script-Name: bootscr.rpi Required-Packages: u-boot-tools +Machine: Raspberry Pi Compute Module 4 Rev 1.0 +Kernel-Flavors: raspi raspi-nolpae +Method: pi +DTB-Id: bcm2711-rpi-cm4.dtb +U-Boot-Script-Name: bootscr.rpi +Required-Packages: u-boot-tools + Machine: Raspberry Pi Zero Kernel-Flavors: rpi DTB-Id: bcm2835-rpi-zero.dtb diff -Nru flash-kernel-3.104ubuntu8/debian/changelog flash-kernel-3.104ubuntu9/debian/changelog --- flash-kernel-3.104ubuntu8/debian/changelog 2022-04-03 17:33:03.000000000 +0000 +++ flash-kernel-3.104ubuntu9/debian/changelog 2022-04-18 11:13:13.000000000 +0000 @@ -1,3 +1,16 @@ +flash-kernel (3.104ubuntu9) jammy; urgency=medium + + * Cache lookup of Bootloader-Has-Broken-Ext4-Extent-Support for significant + performance improvement on Raspberry Pi (LP: #1965129) + * Added note in db/all.db above Pi entries about "incorrect" DTB-Id + (LP: #1928314) + * Add raspi-nolpae kernel flavor to all supported boards (LP: #1962312) + * Added entries for the Pi 4B rev 1.5, and moved CM4 and 400 models to their + own entries for the sake of clarity + * Include overlays/README in the files copied by Method: pi + + -- Dave Jones Mon, 18 Apr 2022 12:13:13 +0100 + flash-kernel (3.104ubuntu8) jammy; urgency=medium * mkimage_fit: subst KERNEL_VERSION in ITS file with actual kernel diff -Nru flash-kernel-3.104ubuntu8/functions flash-kernel-3.104ubuntu9/functions --- flash-kernel-3.104ubuntu8/functions 2022-04-03 17:32:44.000000000 +0000 +++ flash-kernel-3.104ubuntu9/functions 2022-04-18 11:13:13.000000000 +0000 @@ -470,13 +470,8 @@ maybe_defrag() { local file="$1" - local field="Bootloader-Has-Broken-Ext4-Extent-Support" - local broken_fw - if ! broken_fw=$(get_machine_field "$machine" "$field"); then - return - fi - if [ "$broken_fw" != "yes" ]; then + if [ "$broken_ext4" != "yes" ]; then return fi if [ "$(df --output=fstype ${file} | sed -e 1d)" != "ext4" ]; then @@ -832,6 +827,7 @@ find_all_overlays() { paths="/etc/flash-kernel/dtbs /usr/lib/linux-image-$kvers /lib/firmware/$kvers/device-tree/" find $paths -name "*.dtbo" -o -name "overlay_map.dtb" 2>/dev/null | unique_filenames + find $paths -path "*/overlays/README" 2>/dev/null } find_pi_firmware() { @@ -1072,6 +1068,7 @@ boot_multi_path="$(get_machine_field "$machine" "Boot-Multi-Path")" || : android_boot_device="$(get_machine_field "$machine" "Android-Boot-Device")" || : android_skip_initrd="$(get_machine_field "$machine" "Android-Skip-Initrd")" || : +broken_ext4="$(get_machine_field "$machine" "Bootloader-Has-Broken-Ext4-Extent-Support")" || : if [ -n "$dtb_append_from" ]; then if dtb_append_required; then diff -Nru flash-kernel-3.104ubuntu8/test_functions flash-kernel-3.104ubuntu9/test_functions --- flash-kernel-3.104ubuntu8/test_functions 2022-01-27 15:47:09.000000000 +0000 +++ flash-kernel-3.104ubuntu9/test_functions 2022-04-18 11:13:13.000000000 +0000 @@ -989,7 +989,9 @@ ( find() { saved_args="$@" - cat "$mock_find_output" + if [ "${saved_args##*README}" = "${saved_args%%README*}" ]; then + cat "$mock_find_output" + fi } . "$functions" expected="\