initramfs-tools (0.151ubuntu2) stonking; urgency=medium

  * Drop depending on busybox-initramfs and recommend busybox or busybox-static.
    The busybox-initramfs package is smaller than the busybox package, but the
    size of busybox + glibc is a tiny fraction of Ubuntu's initrd. Carrying this
    busybox delta in Ubuntu is not worth the effort. (LP: #2157328)
  * Drop setting hard-coded IPV6NETMASK='128' (LP: #2154301)

 -- Benjamin Drung <bdrung@ubuntu.com>  Mon, 20 Jul 2026 10:27:32 +0200

initramfs-tools (0.151ubuntu1) resolute; urgency=medium

  * Merge with Debian unstable (LP: #2147002). Remaining changes:
    - Harmonize kernel module installation with dracut's behavior:
      - Do not install ARM/RISCV specific modules on other architectures.
    - Revert "autopkgtest: Fix test failure when built-in drivers request
      firmware". This workaround is not needed on Ubuntu.
    - support mounting of loopback devices via loop*= parameters
    - Add vfat and nls modules to the initramfs.
    - Drop hooks/keymap, scripts/init-top/keymap, and associated code;
      console-setup takes care of this in Ubuntu.
    - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
      something other than "n", the script will not be included.
    - Add a new wait-for-root binary to the initramfs-tools-bin package that
      uses libudev to wait for udev to create the udev device, or wait for
      udev to finish processing if we catch it in the act, and returns the
      filesystem type as already probed by udev.
    - Automatically blacklist vga16fb when vga= or video= specified on kernel
      command-line.
    - Add hwaddr= alias for BOOTIF= for compatibility.
    - Set hostname at boot, for the benefit of mdadm autoassembly.
    - Add Hyper-V paravirtualised device drivers to the initramfs to allow
      booting of stock images in a Hyper-V guest.
    - ppc64el: enable PowerPC NX Crypto Coprocessor
    - Add support for uppercase and lowercase uuids.
    - Make busybox-initramfs a real runtime dependency, fixing kernel install
      failures with cryptsetup
    - init: Don't interpret "rootdelay" as a static sleep.
    - scripts/local: Let rootdelay determine the wait-for-root timeout.
    - Increase rootdelay to 180s on powerpc/ppc64/ppc64el
    - Support roottimeout= as the authoritative name for rootdelay= since the
      Ubuntu interpretation of rootdelay is *not* a delay and this causes
      inconsistent behavior depending on whether the kernel or an initramfs is
      interpreting it.
    - Revised mountroot failure support.  This is now deprecated and
      effectively removed.  However, to prevent breakage in other packages the
      add_mountroot_fail_hook function is still present as an empty stub.
    - Add a new 'fixrtc' script that tries to set the system clock forward
      based on the last mount time of the root disk; without this kludge,
      systems without a working RTC will end up in a perpetual reboot loop.
    - Restore the framebuffer hook and script, copying KMS and other
      framebuffer drivers into the initramfs, but make them optional; you need
      to set FRAMEBUFFER=y for these to be included.
    - netinfo_to_resolv_conf: Add support for IPv6
    - resume: only resume when the partition contains a resume image
    - Fix resuming a hibernate session from a swapfile
    - scripts/functions: by default, when setting up networking, use dhclient
      if we're asked to do DHCP explicitly, or if we otherwise are expected to
      do things automatically.
    - split out IPv6 options in its own cmdline parameter: ip6= ; always use
      dhclient in this case if the value set is anything other than 'off' or
      'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
      the name of an interface.
    - rework the stop conditions so that we properly handle the ROUNDTTT loop,
      timing out after a short period of time and trying again after a short
      sleep.
    - add a 'done' parameter for both ip= and ip6= so that we can properly
      exit the ROUNDTTT loop once we know that either there is no work to do,
      or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
      or possibly both).
    - Just let dhclient scan the interfaces if none is specified for IPv6.
      (previously unnoted)
    - Do not handle ip=rarp specially (ipconfig hasn't supported it for some
      time)
    - Call dhclient in simple cases for IPv4 (this makes some small observable
      changes -- for example ip=bootp will now make a DHCP request too -- but
      nothing that seems important).
    - Do not let dhclient processes hang around past the pivot and have them
      respect the shorter timeouts ipconfig was given.
    - hook-functions, mkinitramfs, scripts/functions: support usage of dns
      after configure_networking.
    - Add unit tests for DNS support
    - scripts/functions: write netplan config files to /run/netplan for
      network devices configured with configure_networking.
    - Adjust testsuite for correct expected netplan output.
    - Add tests to parse netplan.yaml with netplan generate.
    - scripts/functions: include a new option to skip enslaved network
      devices.
    - Auto activate qeth devices on s390x hosts, when using ip= ip6= command
      lines.
    - Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
      commandline, and as VLAN= conf.d snippet.
    - Emit empty dictionary in the ethernets section, for static vlan configs
      without any matches, as otherwise it is invalid config.
    - Skip attempting to chzdev enable VLAN device
    - Work out the kernel modules required to support ZFS filesystems and add
      them as necessary.
    - Add modules for nvme path components on multipath nvme.
    - Drop usage of klibc-utils' fstype in favor of always using udev blkid.
    - Use set -a/+a around loading conf snippets, to autoexport hook
      configuration variables. This thus allows packaged hooks to configure
      each other.
    - Fix PATH to include /usr/local.
    - Fix resume failure due to resume=UUID=... in certain cases
    - Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
      remount yet.
    - Provide a clearer error on mount failure of the Windows host filesystem
    - scripts/local: Re-execute cryptroot local-block script.
    - Force copy pthread and libgcc_s libraries via a stub binary. To avoid
      circular shared library dependencies between compiler and libc,
      libpthreads chooses to dlopen libgcc_s, instead of linking against it.
      However, we have no way to parse/know what it needs. And even when we
      hardcode to include libgcc_s1, we don't have a way to know which
      libgcc_s1 is needed on a given system and from which path to include it.
      But there is a hook-function to copy a binary and all of its shared
      library dependencies. Thus create a stub empty executable, with shared
      linking against pthreads and gcc_s1 and always include it in the initrd.
      This way at initrd creation time, ldd is used to correctly resolve these
      shared library dependencies and correctly copy them into the initrd.
      This removes hardcoding paths as to where these libraries must be copied
      from on the host.
    - Lower the compression levels for zstd and lz4 Following the discussion
      on the mailing list, we have reached a conclusion to lower the default
      compression levels:
      - For lz4, the compression level is lowered to 2 from 9
      - For zstd, the compression level is lowered to 1 from 9
    - Include dax and nfit modules, also needed for pmem devices.
    - Add char/hw_random drivers
    - Reinstate build-time shellcheck (but leave shellcheck out of
      autopkgtests as per debian bug #992798)
    - Bring up networking if ip6 is specified on cmdline.
    - Add qemu-net-dnsmasq autopkgtest to test DHCPv6
    - test: Ignore remaining systemd-udevd processes
    - Replace dhclient by dhcpcd
    - scripts/functions: do not fail to configure networking too quickly. In
      particular make sure an unsuccessful attempt to run DHCP takes at least
      $ROUNDTTT seconds.
    - Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
      on MacBook Pro 2017
    - Install surface_aggregator_registry for keyboard on Surface Laptop 4
    - Restore nvdimm and dax pmem-related modules
    - configure_networking:
      - Increase minimum timeout to 30 seconds
      - Fix configuring BOOTIF when using iSCSI
      - Set interface MTU if provided by the DHCP server
    - autopkgtest: Test hostname already set in initrd
    - resume: always write valid resume device to /sys/power/resume
    - persist hostname provided by DHCP only if not set yet
    - configure_networking: Configure IPv4 or IPv6 based on iBFT IP address
    - test: skip failing qemu-net-iscsi on arm64
    - Add iBFT test cases to qemu-net-iscsi autopkgtest
    - scripts/functions: gateway4/gateway6 are depreated in netplan config,
      generate routes instead
    - autopkgtest: Ignore unmkinitramfs warning on stderr to work around
      regression https://bugs.debian.org/1107592
    - Let linux-firmware updates trigger the initramfs-tools autopkgtest
    - Drop supporting cpio and rely on 3cpio
    - hook-functions: explicitly include xhci-pci-renesas

 -- Benjamin Drung <bdrung@ubuntu.com>  Thu, 02 Apr 2026 12:34:39 +0200

initramfs-tools (0.151) unstable; urgency=medium

  [ Benjamin Drung ]
  * [a378364] Run wrap-and-sort
  * [813886b] silence incorrect shellcheck SC2329
  * [7d68e10] Fix shellcheck SC2268
  * [ff5e74d] mkinitramfs: move unknown compression warning earlier
  * [515ab82] mkinitramfs: introduce build_initrd_with_cpio
  * [4827d29] Use 3cpio for unmkinitramfs/lsinitramfs if available (LP:
    #2059976)
  * [39ce302] Support 3cpio and prefer 3cpio over cpio
  * [81a0c4b] autopkgtest: increase timeout to 240s on s390x

  [ Luca Boccassi ]
  * [d9859fc] update-initramfs: support loading post-update hooks from
    /usr/share/ too

  [ Hector Cao ]
  * [adc78c6] tests fail on arm64 because they call qemu-system-arm64 with
    cpu=max the qemu fails to boot the VM with recent EDK2. (LP: #2142121)

  [ John Chittum ]
  * [06c8aba] d/tests refactor for explicit paths
  * [be15265] d/t/qemu-net-iscsi: determinate boot by LABEL (LP: #2134531)

 -- Ben Hutchings <benh@debian.org>  Wed, 01 Apr 2026 13:00:58 +0200

initramfs-tools (0.150ubuntu8) resolute; urgency=medium

  * d/t/run-qemu: fix arm64 tests failure because of cpu=max
    (LP: #2142121)

 -- Hector Cao <hector.cao@canonical.com>  Fri, 27 Feb 2026 11:57:35 +0100

initramfs-tools (0.150ubuntu7) resolute; urgency=medium

  [ Benjamin Drung ]
  * hooks/dhcpcd: support /usr/libexec as hooks path (LP: #2137657)
  * Do not run netplan integration tests during build (rely on autopkgtest)

  [ John Chittum ]
  * autopkgtest: make root more explicit. full paths including /dev or
    LABEL= for multi-drive boot in qemu-net-iscsi (LP: #2134531)

 -- Benjamin Drung <bdrung@ubuntu.com>  Mon, 12 Jan 2026 13:55:50 +0100

initramfs-tools (0.150ubuntu6) resolute; urgency=medium

  * autopkgtest: increase timeout to 240s on s390x

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 09 Dec 2025 17:30:31 +0100

initramfs-tools (0.150ubuntu5) resolute; urgency=medium

  * Fix shellcheck 0.11.0 complaints
  * mkinitramfs: do not set pigz as compression for 3cpio (LP: #2130550)

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 12 Nov 2025 13:06:35 +0100

initramfs-tools (0.150ubuntu4) resolute; urgency=medium

  * Drop supporting cpio and rely on 3cpio

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 21 Oct 2025 10:57:06 +0200

initramfs-tools (0.150ubuntu3) questing; urgency=medium

  * Explicitly include xhci-pci-renesas (LP: #2126559)

 -- Thibault Ferrante <thibault.ferrante@canonical.com>  Wed, 01 Oct 2025 15:00:05 +0200

initramfs-tools (0.150ubuntu2) questing; urgency=medium

  * Revert making 3cpio the default cpio tool since it is too late for the
    questing release cycle.

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 16 Sep 2025 11:27:35 +0200

initramfs-tools (0.150ubuntu1) questing; urgency=medium

  * Merge with Debian unstable. Remaining changes:
    - Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
      and let initramfs-tools-core suggest 3cpio
    - Harmonize kernel module installation with dracut's behavior:
      - Do not install ARM/RISCV specific modules on other architectures.
    - Revert "autopkgtest: Fix test failure when built-in drivers request
      firmware". This workaround is not needed on Ubuntu.
    - support mounting of loopback devices via loop*= parameters
    - Add vfat and nls modules to the initramfs.
    - Drop hooks/keymap, scripts/init-top/keymap, and associated code;
      console-setup takes care of this in Ubuntu.
    - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
      something other than "n", the script will not be included.
    - Add a new wait-for-root binary to the initramfs-tools-bin package that
      uses libudev to wait for udev to create the udev device, or wait for
      udev to finish processing if we catch it in the act, and returns the
      filesystem type as already probed by udev.
    - Automatically blacklist vga16fb when vga= or video= specified on kernel
      command-line.
    - Add hwaddr= alias for BOOTIF= for compatibility.
    - Set hostname at boot, for the benefit of mdadm autoassembly.
    - Add Hyper-V paravirtualised device drivers to the initramfs to allow
      booting of stock images in a Hyper-V guest.
    - ppc64el: enable PowerPC NX Crypto Coprocessor
    - Add support for uppercase and lowercase uuids.
    - Make busybox-initramfs a real runtime dependency, fixing kernel install
      failures with cryptsetup
    - init: Don't interpret "rootdelay" as a static sleep.
    - scripts/local: Let rootdelay determine the wait-for-root timeout.
    - Increase rootdelay to 180s on powerpc/ppc64/ppc64el
    - Support roottimeout= as the authoritative name for rootdelay= since the
      Ubuntu interpretation of rootdelay is *not* a delay and this causes
      inconsistent behavior depending on whether the kernel or an initramfs is
      interpreting it.
    - Revised mountroot failure support.  This is now deprecated and
      effectively removed.  However, to prevent breakage in other packages the
      add_mountroot_fail_hook function is still present as an empty stub.
    - Add a new 'fixrtc' script that tries to set the system clock forward
      based on the last mount time of the root disk; without this kludge,
      systems without a working RTC will end up in a perpetual reboot loop.
    - Restore the framebuffer hook and script, copying KMS and other
      framebuffer drivers into the initramfs, but make them optional; you need
      to set FRAMEBUFFER=y for these to be included.
    - netinfo_to_resolv_conf: Add support for IPv6
    - resume: only resume when the partition contains a resume image
    - Fix resuming a hibernate session from a swapfile
    - scripts/functions: by default, when setting up networking, use dhclient
      if we're asked to do DHCP explicitly, or if we otherwise are expected to
      do things automatically.
    - split out IPv6 options in its own cmdline parameter: ip6= ; always use
      dhclient in this case if the value set is anything other than 'off' or
      'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
      the name of an interface.
    - rework the stop conditions so that we properly handle the ROUNDTTT loop,
      timing out after a short period of time and trying again after a short
      sleep.
    - add a 'done' parameter for both ip= and ip6= so that we can properly
      exit the ROUNDTTT loop once we know that either there is no work to do,
      or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
      or possibly both).
    - Just let dhclient scan the interfaces if none is specified for IPv6.
      (previously unnoted)
    - Do not handle ip=rarp specially (ipconfig hasn't supported it for some
      time)
    - Call dhclient in simple cases for IPv4 (this makes some small observable
      changes -- for example ip=bootp will now make a DHCP request too -- but
      nothing that seems important).
    - Do not let dhclient processes hang around past the pivot and have them
      respect the shorter timeouts ipconfig was given.
    - hook-functions, mkinitramfs, scripts/functions: support usage of dns
      after configure_networking.
    - Add unit tests for DNS support
    - scripts/functions: write netplan config files to /run/netplan for
      network devices configured with configure_networking.
    - Adjust testsuite for correct expected netplan output.
    - Add tests to parse netplan.yaml with netplan generate.
    - scripts/functions: include a new option to skip enslaved network
      devices.
    - Auto activate qeth devices on s390x hosts, when using ip= ip6= command
      lines.
    - Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
      commandline, and as VLAN= conf.d snippet.
    - Emit empty dictionary in the ethernets section, for static vlan configs
      without any matches, as otherwise it is invalid config.
    - Skip attempting to chzdev enable VLAN device
    - Work out the kernel modules required to support ZFS filesystems and add
      them as necessary.
    - Add modules for nvme path components on multipath nvme.
    - Drop usage of klibc-utils' fstype in favor of always using udev blkid.
    - Use set -a/+a around loading conf snippets, to autoexport hook
      configuration variables. This thus allows packaged hooks to configure
      each other.
    - Fix PATH to include /usr/local.
    - Fix resume failure due to resume=UUID=... in certain cases
    - Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
      remount yet.
    - Provide a clearer error on mount failure of the Windows host filesystem
    - scripts/local: Re-execute cryptroot local-block script.
    - Force copy pthread and libgcc_s libraries via a stub binary. To avoid
      circular shared library dependencies between compiler and libc,
      libpthreads chooses to dlopen libgcc_s, instead of linking against it.
      However, we have no way to parse/know what it needs. And even when we
      hardcode to include libgcc_s1, we don't have a way to know which
      libgcc_s1 is needed on a given system and from which path to include it.
      But there is a hook-function to copy a binary and all of its shared
      library dependencies. Thus create a stub empty executable, with shared
      linking against pthreads and gcc_s1 and always include it in the initrd.
      This way at initrd creation time, ldd is used to correctly resolve these
      shared library dependencies and correctly copy them into the initrd.
      This removes hardcoding paths as to where these libraries must be copied
      from on the host.
    - Lower the compression levels for zstd and lz4 Following the discussion
      on the mailing list, we have reached a conclusion to lower the default
      compression levels:
      - For lz4, the compression level is lowered to 2 from 9
      - For zstd, the compression level is lowered to 1 from 9
    - Include dax and nfit modules, also needed for pmem devices.
    - Add char/hw_random drivers
    - Reinstate build-time shellcheck (but leave shellcheck out of
      autopkgtests as per debian bug #992798)
    - Bring up networking if ip6 is specified on cmdline.
    - Add qemu-net-dnsmasq autopkgtest to test DHCPv6
    - test: Ignore remaining systemd-udevd processes
    - Replace dhclient by dhcpcd
    - scripts/functions: do not fail to configure networking too quickly. In
      particular make sure an unsuccessful attempt to run DHCP takes at least
      $ROUNDTTT seconds.
    - Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
      on MacBook Pro 2017
    - Install surface_aggregator_registry for keyboard on Surface Laptop 4
    - Restore nvdimm and dax pmem-related modules
    - configure_networking:
      - Increase minimum timeout to 30 seconds
      - Fix configuring BOOTIF when using iSCSI
      - Set interface MTU if provided by the DHCP server
    - autopkgtest: Test hostname already set in initrd
    - resume: always write valid resume device to /sys/power/resume
    - persist hostname provided by DHCP only if not set yet
    - configure_networking: Configure IPv4 or IPv6 based on iBFT IP address
    - test: skip failing qemu-net-iscsi on arm64
    - Add iBFT test cases to qemu-net-iscsi autopkgtest
    - scripts/functions: gateway4/gateway6 are depreated in netplan config,
      generate routes instead
    - autopkgtest: Ignore unmkinitramfs warning on stderr to work around
      regression https://bugs.debian.org/1107592
    - Let linux-firmware updates trigger the initramfs-tools autopkgtest
  * Support 3cpio and prefer 3cpio over cpio
  * Drop supporting cpio and rely on 3cpio

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 13 Aug 2025 14:34:19 +0200

initramfs-tools (0.150) unstable; urgency=medium

  [ Benjamin Drung ]
  * [a6efee9] autopkgtest: replace qemu-kvm by qemu-system-native
  * [e1d0775] Revert "Avoid updating the initramfs twice for some cases"
    (Closes: #1108204)
  * [27544d4] update-initramfs: move "set -e" to the beginning
  * [afb3ba3] update-initramfs: use "set -u"
  * [f0c9c42] update-initramfs: add copyright information

  [ E Shattow ]
  * [d656783] hook-functions: Add Cadence USB driver to base (Closes:
    #1108924)

  [ Askar Safin ]
  * [7a9c2a0] hook-functions: add modules for non-default checksums on
    btrfs

  [ Ben Hutchings ]
  * [9fa9ae0] unmkinitramfs: Accept lower-case hex digits in cpio headers

 -- Ben Hutchings <benh@debian.org>  Tue, 12 Aug 2025 22:54:00 +0200

initramfs-tools (0.149ubuntu2) questing; urgency=medium

  * Revert "Avoid updating the initramfs twice for some cases" (LP: #2115490)
  * Let linux-firmware updates trigger the initramfs-tools autopkgtest
    (LP: #2116067)

 -- Benjamin Drung <bdrung@ubuntu.com>  Mon, 07 Jul 2025 20:46:18 +0200

initramfs-tools (0.149ubuntu1) questing; urgency=medium

  * Merge with Debian unstable. Remaining changes:
    - Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
      and let initramfs-tools-core suggest 3cpio
    - Harmonize kernel module installation with dracut's behavior:
      - Do not install ARM/RISCV specific modules on other architectures.
    - Revert "autopkgtest: Fix test failure when built-in drivers request
      firmware". This workaround is not needed on Ubuntu.
    - support mounting of loopback devices via loop*= parameters
    - Add vfat and nls modules to the initramfs.
    - Drop hooks/keymap, scripts/init-top/keymap, and associated code;
      console-setup takes care of this in Ubuntu.
    - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
      something other than "n", the script will not be included.
    - Add a new wait-for-root binary to the initramfs-tools-bin package that
      uses libudev to wait for udev to create the udev device, or wait for
      udev to finish processing if we catch it in the act, and returns the
      filesystem type as already probed by udev.
    - Automatically blacklist vga16fb when vga= or video= specified on kernel
      command-line.
    - Add hwaddr= alias for BOOTIF= for compatibility.
    - Set hostname at boot, for the benefit of mdadm autoassembly.
    - Add Hyper-V paravirtualised device drivers to the initramfs to allow
      booting of stock images in a Hyper-V guest.
    - ppc64el: enable PowerPC NX Crypto Coprocessor
    - Add support for uppercase and lowercase uuids.
    - Make busybox-initramfs a real runtime dependency, fixing kernel install
      failures with cryptsetup
    - init: Don't interpret "rootdelay" as a static sleep.
    - scripts/local: Let rootdelay determine the wait-for-root timeout.
    - Increase rootdelay to 180s on powerpc/ppc64/ppc64el
    - Support roottimeout= as the authoritative name for rootdelay= since the
      Ubuntu interpretation of rootdelay is *not* a delay and this causes
      inconsistent behavior depending on whether the kernel or an initramfs is
      interpreting it.
    - Revised mountroot failure support.  This is now deprecated and
      effectively removed.  However, to prevent breakage in other packages the
      add_mountroot_fail_hook function is still present as an empty stub.
    - Add a new 'fixrtc' script that tries to set the system clock forward
      based on the last mount time of the root disk; without this kludge,
      systems without a working RTC will end up in a perpetual reboot loop.
    - Restore the framebuffer hook and script, copying KMS and other
      framebuffer drivers into the initramfs, but make them optional; you need
      to set FRAMEBUFFER=y for these to be included.
    - netinfo_to_resolv_conf: Add support for IPv6
    - resume: only resume when the partition contains a resume image
    - Fix resuming a hibernate session from a swapfile
    - scripts/functions: by default, when setting up networking, use dhclient
      if we're asked to do DHCP explicitly, or if we otherwise are expected to
      do things automatically.
    - split out IPv6 options in its own cmdline parameter: ip6= ; always use
      dhclient in this case if the value set is anything other than 'off' or
      'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
      the name of an interface.
    - rework the stop conditions so that we properly handle the ROUNDTTT loop,
      timing out after a short period of time and trying again after a short
      sleep.
    - add a 'done' parameter for both ip= and ip6= so that we can properly
      exit the ROUNDTTT loop once we know that either there is no work to do,
      or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
      or possibly both).
    - Just let dhclient scan the interfaces if none is specified for IPv6.
      (previously unnoted)
    - Do not handle ip=rarp specially (ipconfig hasn't supported it for some
      time)
    - Call dhclient in simple cases for IPv4 (this makes some small observable
      changes -- for example ip=bootp will now make a DHCP request too -- but
      nothing that seems important).
    - Do not let dhclient processes hang around past the pivot and have them
      respect the shorter timeouts ipconfig was given.
    - hook-functions, mkinitramfs, scripts/functions: support usage of dns
      after configure_networking.
    - Add unit tests for DNS support
    - scripts/functions: write netplan config files to /run/netplan for
      network devices configured with configure_networking.
    - Adjust testsuite for correct expected netplan output.
    - Add tests to parse netplan.yaml with netplan generate.
    - scripts/functions: include a new option to skip enslaved network
      devices.
    - Auto activate qeth devices on s390x hosts, when using ip= ip6= command
      lines.
    - Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
      commandline, and as VLAN= conf.d snippet.
    - Emit empty dictionary in the ethernets section, for static vlan configs
      without any matches, as otherwise it is invalid config.
    - Skip attempting to chzdev enable VLAN device
    - Work out the kernel modules required to support ZFS filesystems and add
      them as necessary.
    - Add modules for nvme path components on multipath nvme.
    - Drop usage of klibc-utils' fstype in favor of always using udev blkid.
    - Use set -a/+a around loading conf snippets, to autoexport hook
      configuration variables. This thus allows packaged hooks to configure
      each other.
    - Fix PATH to include /usr/local.
    - Fix resume failure due to resume=UUID=... in certain cases
    - Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
      remount yet.
    - Provide a clearer error on mount failure of the Windows host filesystem
    - scripts/local: Re-execute cryptroot local-block script.
    - Force copy pthread and libgcc_s libraries via a stub binary. To avoid
      circular shared library dependencies between compiler and libc,
      libpthreads chooses to dlopen libgcc_s, instead of linking against it.
      However, we have no way to parse/know what it needs. And even when we
      hardcode to include libgcc_s1, we don't have a way to know which
      libgcc_s1 is needed on a given system and from which path to include it.
      But there is a hook-function to copy a binary and all of its shared
      library dependencies. Thus create a stub empty executable, with shared
      linking against pthreads and gcc_s1 and always include it in the initrd.
      This way at initrd creation time, ldd is used to correctly resolve these
      shared library dependencies and correctly copy them into the initrd.
      This removes hardcoding paths as to where these libraries must be copied
      from on the host.
    - Lower the compression levels for zstd and lz4 Following the discussion
      on the mailing list, we have reached a conclusion to lower the default
      compression levels:
      - For lz4, the compression level is lowered to 2 from 9
      - For zstd, the compression level is lowered to 1 from 9
    - Include dax and nfit modules, also needed for pmem devices.
    - Add char/hw_random drivers
    - Reinstate build-time shellcheck (but leave shellcheck out of
      autopkgtests as per debian bug #992798)
    - Bring up networking if ip6 is specified on cmdline.
    - Add qemu-net-dnsmasq autopkgtest to test DHCPv6
    - test: Ignore remaining systemd-udevd processes
    - Replace dhclient by dhcpcd
    - scripts/functions: do not fail to configure networking too quickly. In
      particular make sure an unsuccessful attempt to run DHCP takes at least
      $ROUNDTTT seconds.
    - Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
      on MacBook Pro 2017
    - Install surface_aggregator_registry for keyboard on Surface Laptop 4
    - Restore nvdimm and dax pmem-related modules
    - configure_networking:
      - Increase minimum timeout to 30 seconds
      - Fix configuring BOOTIF when using iSCSI
      - Set interface MTU if provided by the DHCP server
    - autopkgtest: Test hostname already set in initrd
    - resume: always write valid resume device to /sys/power/resume
    - persist hostname provided by DHCP only if not set yet
    - configure_networking: Configure IPv4 or IPv6 based on iBFT IP address
    - test: skip failing qemu-net-iscsi on arm64
    - Add iBFT test cases to qemu-net-iscsi autopkgtest
    - scripts/functions: gateway4/gateway6 are depreated in netplan config,
      generate routes instead
    - autopkgtest: Ignore unmkinitramfs warning on stderr to work around
      regression https://bugs.debian.org/1107592

 -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 13 Jun 2025 11:49:58 +0200

initramfs-tools (0.149) experimental; urgency=medium

  [ Alper Nebi Yasak ]
  * [d11ba24] Handle simple-framebuffer drivers built as modules
  * [72899f8] Handle framebuffer_coreboot driver built as a module

  [ Ben Hutchings ]
  * [8104218] unmkinitramfs: Stop splitting into "early" and "main"
    subdirectories
  * [02bd63a] unmkinitramfs: Add support for lzma compression

  [ Benjamin Drung ]
  * [ea29775] hook-functions: Print error message on copy_file failure
  * [8842365] Add missing Breaks to initramfs-tools-bin (for moved
    unmkinitramfs)

  [ Tobias Heider ]
  * [6fdd131] Fix include of panel drivers if MODULES=dep
  * [d82a1e9] Include all bridge, panel and backlight drivers if
    MODULES=most

  [ Bastian Blank ]
  * [39e24fe] Re-add s390 specific scsi drivers (Closes: #1107689)

 -- Ben Hutchings <benh@debian.org>  Fri, 13 Jun 2025 00:17:33 +0200

initramfs-tools (0.148.1ubuntu1) questing; urgency=medium

  * Merge with Debian unstable (LP: #2112560). Remaining changes:
    - Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
      and let initramfs-tools-core suggest 3cpio
    - Harmonize kernel module installation with dracut's behavior:
      - Do not install ARM/RISCV specific modules on other architectures.
    - Revert "autopkgtest: Fix test failure when built-in drivers request
      firmware". This workaround is not needed on Ubuntu.
    - support mounting of loopback devices via loop*= parameters
    - Add vfat and nls modules to the initramfs.
    - Drop hooks/keymap, scripts/init-top/keymap, and associated code;
      console-setup takes care of this in Ubuntu.
    - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
      something other than "n", the script will not be included.
    - Add a new wait-for-root binary to the initramfs-tools-bin package that
      uses libudev to wait for udev to create the udev device, or wait for
      udev to finish processing if we catch it in the act, and returns the
      filesystem type as already probed by udev.
    - Automatically blacklist vga16fb when vga= or video= specified on kernel
      command-line.
    - Add hwaddr= alias for BOOTIF= for compatibility.
    - Set hostname at boot, for the benefit of mdadm autoassembly.
    - Add Hyper-V paravirtualised device drivers to the initramfs to allow
      booting of stock images in a Hyper-V guest.
    - ppc64el: enable PowerPC NX Crypto Coprocessor
    - Add support for uppercase and lowercase uuids.
    - Make busybox-initramfs a real runtime dependency, fixing kernel install
      failures with cryptsetup
    - init: Don't interpret "rootdelay" as a static sleep.
    - scripts/local: Let rootdelay determine the wait-for-root timeout.
    - Increase rootdelay to 180s on powerpc/ppc64/ppc64el
    - Support roottimeout= as the authoritative name for rootdelay= since the
      Ubuntu interpretation of rootdelay is *not* a delay and this causes
      inconsistent behavior depending on whether the kernel or an initramfs is
      interpreting it.
    - Revised mountroot failure support.  This is now deprecated and
      effectively removed.  However, to prevent breakage in other packages the
      add_mountroot_fail_hook function is still present as an empty stub.
    - Add a new 'fixrtc' script that tries to set the system clock forward
      based on the last mount time of the root disk; without this kludge,
      systems without a working RTC will end up in a perpetual reboot loop.
    - Restore the framebuffer hook and script, copying KMS and other
      framebuffer drivers into the initramfs, but make them optional; you need
      to set FRAMEBUFFER=y for these to be included.
    - netinfo_to_resolv_conf: Add support for IPv6
    - resume: only resume when the partition contains a resume image
    - Fix resuming a hibernate session from a swapfile
    - scripts/functions: by default, when setting up networking, use dhclient
      if we're asked to do DHCP explicitly, or if we otherwise are expected to
      do things automatically.
    - split out IPv6 options in its own cmdline parameter: ip6= ; always use
      dhclient in this case if the value set is anything other than 'off' or
      'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
      the name of an interface.
    - rework the stop conditions so that we properly handle the ROUNDTTT loop,
      timing out after a short period of time and trying again after a short
      sleep.
    - add a 'done' parameter for both ip= and ip6= so that we can properly
      exit the ROUNDTTT loop once we know that either there is no work to do,
      or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
      or possibly both).
    - Just let dhclient scan the interfaces if none is specified for IPv6.
      (previously unnoted)
    - Do not handle ip=rarp specially (ipconfig hasn't supported it for some
      time)
    - Call dhclient in simple cases for IPv4 (this makes some small observable
      changes -- for example ip=bootp will now make a DHCP request too -- but
      nothing that seems important).
    - Do not let dhclient processes hang around past the pivot and have them
      respect the shorter timeouts ipconfig was given.
    - hook-functions, mkinitramfs, scripts/functions: support usage of dns
      after configure_networking.
    - Add unit tests for DNS support
    - scripts/functions: write netplan config files to /run/netplan for
      network devices configured with configure_networking.
    - Adjust testsuite for correct expected netplan output.
    - Add tests to parse netplan.yaml with netplan generate.
    - scripts/functions: include a new option to skip enslaved network
      devices.
    - Auto activate qeth devices on s390x hosts, when using ip= ip6= command
      lines.
    - Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
      commandline, and as VLAN= conf.d snippet.
    - Emit empty dictionary in the ethernets section, for static vlan configs
      without any matches, as otherwise it is invalid config.
    - Skip attempting to chzdev enable VLAN device
    - Work out the kernel modules required to support ZFS filesystems and add
      them as necessary.
    - Add modules for nvme path components on multipath nvme.
    - Drop usage of klibc-utils' fstype in favor of always using udev blkid.
    - Use set -a/+a around loading conf snippets, to autoexport hook
      configuration variables. This thus allows packaged hooks to configure
      each other.
    - Fix PATH to include /usr/local.
    - Fix resume failure due to resume=UUID=... in certain cases
    - Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
      remount yet.
    - Provide a clearer error on mount failure of the Windows host filesystem
    - scripts/local: Re-execute cryptroot local-block script.
    - Force copy pthread and libgcc_s libraries via a stub binary. To avoid
      circular shared library dependencies between compiler and libc,
      libpthreads chooses to dlopen libgcc_s, instead of linking against it.
      However, we have no way to parse/know what it needs. And even when we
      hardcode to include libgcc_s1, we don't have a way to know which
      libgcc_s1 is needed on a given system and from which path to include it.
      But there is a hook-function to copy a binary and all of its shared
      library dependencies. Thus create a stub empty executable, with shared
      linking against pthreads and gcc_s1 and always include it in the initrd.
      This way at initrd creation time, ldd is used to correctly resolve these
      shared library dependencies and correctly copy them into the initrd.
      This removes hardcoding paths as to where these libraries must be copied
      from on the host.
    - Lower the compression levels for zstd and lz4 Following the discussion
      on the mailing list, we have reached a conclusion to lower the default
      compression levels:
      - For lz4, the compression level is lowered to 2 from 9
      - For zstd, the compression level is lowered to 1 from 9
    - Include dax and nfit modules, also needed for pmem devices.
    - Add char/hw_random drivers
    - Reinstate build-time shellcheck (but leave shellcheck out of
      autopkgtests as per debian bug #992798)
    - Bring up networking if ip6 is specified on cmdline.
    - Add qemu-net-dnsmasq autopkgtest to test DHCPv6
    - test: Ignore remaining systemd-udevd processes
    - Replace dhclient by dhcpcd
    - scripts/functions: do not fail to configure networking too quickly. In
      particular make sure an unsuccessful attempt to run DHCP takes at least
      $ROUNDTTT seconds.
    - Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
      on MacBook Pro 2017
    - Install surface_aggregator_registry for keyboard on Surface Laptop 4
    - Restore nvdimm and dax pmem-related modules
    - configure_networking:
      - Increase minimum timeout to 30 seconds
      - Fix configuring BOOTIF when using iSCSI
      - Set interface MTU if provided by the DHCP server
    - autopkgtest: Test hostname already set in initrd
    - resume: always write valid resume device to /sys/power/resume
    - hook-functions: Print error message on copy_file failure
      to ease debugging cases like LP #1641230.
    - persist hostname provided by DHCP only if not set yet
    - configure_networking: Configure IPv4 or IPv6 based on iBFT IP address
    - test: skip failing qemu-net-iscsi on arm64
    - Add iBFT test cases to qemu-net-iscsi autopkgtest
    - scripts/functions: gateway4/gateway6 are depreated in netplan config,
      generate routes instead
  * unmkinitramfs: Stop splitting into "early" and "main" subdirectories
  * Add missing Breaks to initramfs-tools-bin (for moved unmkinitramfs)
  * autopkgtest: Ignore unmkinitramfs warning on stderr to work around
    regression https://bugs.debian.org/1107592

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 10 Jun 2025 14:35:29 +0200

initramfs-tools (0.148) unstable; urgency=medium

  * [a797b42] unmkinitramfs: Rewrite in C to make it acceptably fast
  * [9e37d8b] Move unmkinitramfs to new initramfs-tools-bin package
  * [49f3bba] test: Add autopkgtest case for unmkinitramfs

 -- Ben Hutchings <benh@debian.org>  Wed, 28 May 2025 19:09:21 +0200

initramfs-tools (0.147ubuntu1) plucky; urgency=medium

  * Merge from Debian unstable. Remaining changes:
    - Harmonize kernel module installation with dracut's behavior:
      - Do not install ARM/RISCV specific modules on other architectures.
    - Revert "autopkgtest: Fix test failure when built-in drivers request
      firmware". This workaround is not needed on Ubuntu.
    - support mounting of loopback devices via loop*= parameters
    - Add vfat and nls modules to the initramfs.
    - Drop hooks/keymap, scripts/init-top/keymap, and associated code;
      console-setup takes care of this in Ubuntu.
    - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
      something other than "n", the script will not be included.
    - Add new initramfs-tools-bin package containing a binary that uses
      libudev to wait for udev to create the udev device, or wait for udev to
      finish processing if we catch it in the act, and returns the filesystem
      type as already probed by udev.
    - Automatically blacklist vga16fb when vga= or video= specified on kernel
      command-line.
    - Add hwaddr= alias for BOOTIF= for compatibility.
    - Set hostname at boot, for the benefit of mdadm autoassembly.
    - Add Hyper-V paravirtualised device drivers to the initramfs to allow
      booting of stock images in a Hyper-V guest.
    - ppc64el: enable PowerPC NX Crypto Coprocessor
    - Add support for uppercase and lowercase uuids.
    - Ensure we have a /usr/sbin directory in initramfs-tools-core
    - Make busybox-initramfs a real runtime dependency, fixing kernel install
      failures with cryptsetup
    - init: Don't interpret "rootdelay" as a static sleep.
    - scripts/local: Let rootdelay determine the wait-for-root timeout.
    - Increase rootdelay to 180s on powerpc/ppc64/ppc64el
    - Support roottimeout= as the authoritative name for rootdelay= since the
      Ubuntu interpretation of rootdelay is *not* a delay and this causes
      inconsistent behavior depending on whether the kernel or an initramfs is
      interpreting it.
    - Revised mountroot failure support.  This is now deprecated and
      effectively removed.  However, to prevent breakage in other packages the
      add_mountroot_fail_hook function is still present as an empty stub.
    - Add a new 'fixrtc' script that tries to set the system clock forward
      based on the last mount time of the root disk; without this kludge,
      systems without a working RTC will end up in a perpetual reboot loop.
    - Restore the framebuffer hook and script, copying KMS and other
      framebuffer drivers into the initramfs, but make them optional; you need
      to set FRAMEBUFFER=y for these to be included.
    - netinfo_to_resolv_conf: Add support for IPv6
    - resume: only resume when the partition contains a resume image
    - Fix resuming a hibernate session from a swapfile
    - scripts/functions: by default, when setting up networking, use dhclient
      if we're asked to do DHCP explicitly, or if we otherwise are expected to
      do things automatically.
    - split out IPv6 options in its own cmdline parameter: ip6= ; always use
      dhclient in this case if the value set is anything other than 'off' or
      'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
      the name of an interface.
    - rework the stop conditions so that we properly handle the ROUNDTTT loop,
      timing out after a short period of time and trying again after a short
      sleep.
    - add a 'done' parameter for both ip= and ip6= so that we can properly
      exit the ROUNDTTT loop once we know that either there is no work to do,
      or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
      or possibly both).
    - Just let dhclient scan the interfaces if none is specified for IPv6.
      (previously unnoted)
    - Do not handle ip=rarp specially (ipconfig hasn't supported it for some
      time)
    - Call dhclient in simple cases for IPv4 (this makes some small observable
      changes -- for example ip=bootp will now make a DHCP request too -- but
      nothing that seems important).
    - Do not let dhclient processes hang around past the pivot and have them
      respect the shorter timeouts ipconfig was given.
    - hook-functions, mkinitramfs, scripts/functions: support usage of dns
      after configure_networking.
    - Add unit tests for DNS support
    - scripts/functions: write netplan config files to /run/netplan for
      network devices configured with configure_networking.
    - Adjust testsuite for correct expected netplan output.
    - Add tests to parse netplan.yaml with netplan generate.
    - scripts/functions: include a new option to skip enslaved network
      devices.
    - Auto activate qeth devices on s390x hosts, when using ip= ip6= command
      lines.
    - Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
      commandline, and as VLAN= conf.d snippet.
    - Emit empty dictionary in the ethernets section, for static vlan configs
      without any matches, as otherwise it is invalid config.
    - Skip attempting to chzdev enable VLAN device
    - Work out the kernel modules required to support ZFS filesystems and add
      them as necessary.
    - Add modules for nvme path components on multipath nvme.
    - Drop usage of klibc-utils' fstype in favor of always using udev blkid.
    - Use set -a/+a around loading conf snippets, to autoexport hook
      configuration variables. This thus allows packaged hooks to configure
      each other.
    - Fix PATH to include /usr/local.
    - Fix resume failure due to resume=UUID=... in certain cases
    - Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
      remount yet.
    - Provide a clearer error on mount failure of the Windows host filesystem
    - scripts/local: Re-execute cryptroot local-block script.
    - Force copy pthread and libgcc_s libraries via a stub binary. To avoid
      circular shared library dependencies between compiler and libc,
      libpthreads chooses to dlopen libgcc_s, instead of linking against it.
      However, we have no way to parse/know what it needs. And even when we
      hardcode to include libgcc_s1, we don't have a way to know which
      libgcc_s1 is needed on a given system and from which path to include it.
      But there is a hook-function to copy a binary and all of its shared
      library dependencies. Thus create a stub empty executable, with shared
      linking against pthreads and gcc_s1 and always include it in the initrd.
      This way at initrd creation time, ldd is used to correctly resolve these
      shared library dependencies and correctly copy them into the initrd.
      This removes hardcoding paths as to where these libraries must be copied
      from on the host.
    - Lower the compression levels for zstd and lz4 Following the discussion
      on the mailing list, we have reached a conclusion to lower the default
      compression levels:
      - For lz4, the compression level is lowered to 2 from 9
      - For zstd, the compression level is lowered to 1 from 9
    - Include dax and nfit modules, also needed for pmem devices.
    - Add char/hw_random drivers
    - Reinstate build-time shellcheck (but leave shellcheck out of
      autopkgtests as per debian bug #992798)
    - Bring up networking if ip6 is specified on cmdline.
    - Add qemu-net-dnsmasq autopkgtest to test DHCPv6
    - test: Ignore remaining systemd-udevd processes
    - Replace dhclient by dhcpcd
    - scripts/functions: do not fail to configure networking too quickly. In
      particular make sure an unsuccessful attempt to run DHCP takes at least
      $ROUNDTTT seconds.
    - Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
      on MacBook Pro 2017
    - Install surface_aggregator_registry for keyboard on Surface Laptop 4
    - Restore nvdimm and dax pmem-related modules
    - configure_networking:
      - Increase minimum timeout to 30 seconds
      - Fix configuring BOOTIF when using iSCSI
      - Set interface MTU if provided by the DHCP server
    - autopkgtest: Test hostname already set in initrd
    - resume: always write valid resume device to /sys/power/resume
    - hook-functions: Print error message on copy_file failure
      to ease debugging cases like LP #1641230.
    - Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
      and let initramfs-tools-core suggest 3cpio
    - persist hostname provided by DHCP only if not set yet
    - configure_networking: Configure IPv4 or IPv6 based on iBFT IP address
    - Add iBFT test cases to qemu-net-iscsi autopkgtest
    - scripts/functions: gateway4/gateway6 are depreated in netplan config,
      generate routes instead

 -- Benjamin Drung <bdrung@ubuntu.com>  Mon, 31 Mar 2025 12:39:18 +0200

initramfs-tools (0.147) unstable; urgency=medium

  [ Ben Hutchings ]
  * [34f9acd] hook-functions: Add reset drivers when MODULES=dep (Closes:
    #1027458)
  * [025ce79] unmkinitramfs: Create temporary directory for initramfs
    parts
  * [25b0c61] unmkinitramfs: Fix detection of EOF marker
  * [ca1a68b] unmkinitramfs: Restore split to "early" and "main"
    subdirectories (Closes: #1100008)
  * [bbbe1d3] unmkinitramfs.8: Update and expand description of multi-
    archive handling

  [ Chris Hofstaedtler ]
  * [297a9e2] hook-functions: avoid aborting in chroots
  * [319cdc9] Tighten /dev/pts permissions (Closes: #1095991)

  [ Scott Moser ]
  * [cec12d7] hook-functions: add squashfs driver (LP: #1501834)

  [ Benjamin Drung ]
  * [a6884dc] test: let run_qemu* take extra kernel parameters as single
    parameter
  * [5401bf3] test: support setting a disk label in build_fs_ext2
  * [ab1fe4e] test-common: introduce intermediate
    _run_qemu_default_devices
  * [20c564a] Add qemu-net-iscsi autopkgtest (LP: #2091904)
  * [716491a] mkinitramfs: add --version parameter
  * [65166a6] update-initramfs: add --version parameter
  * [2334de3] kernel/postinst.d: check for correct update-initramfs
    provider
  * [7ef4755] Fix spelling mistakes in d/changelog
  * [3ed4077] hook-functions: Move UFS storage drivers to block class (LP:
    #2081020)
  * [19b85a5] Filter block kernel modules by symbol regex from dracut (LP:
    #2031841)
  * [4069428] update-initramfs: add -s parameter (LP: #1466965)
  * [7f2ed35] Avoid updating the initramfs twice for some cases (LP:
    #1466965)
  * [dad2c90] test: run quick copy-file autopkgtest first
  * [32aa743] Bump Standards-Version to 4.7.2

 -- Ben Hutchings <benh@debian.org>  Fri, 28 Mar 2025 02:07:15 +0100

initramfs-tools (0.146ubuntu2) plucky; urgency=medium

  * mkinitramfs: add --version parameter
  * update-initramfs: add --version parameter
  * kernel/postinst.d: check for correct update-initramfs provider

 -- Benjamin Drung <bdrung@ubuntu.com>  Sat, 22 Mar 2025 00:16:14 +0100

initramfs-tools (0.146ubuntu1) plucky; urgency=medium

  * Merge from Debian unstable. Remaining changes:
    - Harmonize kernel module installation with dracut's behavior:
      - hook-functions: Move UFS storage drivers to block class
      - Use the symbol regex from dracut-install to reduce the unnessary block
        kernel modules.
      - Do not install ARM/RISCV specific modules on other architectures.
    - add squashfs to list of 'most' modules
    - test:
      - let run_qemu* take extra kernel parameters as single parameter
      - Move network parameters to run_qemu
      - support setting a disk label in build_fs_ext2
      - test-common: move disc logic out of _run_qemu
      - Add qemu-net-iscsi autopkgtest
    - Revert "autopkgtest: Fix test failure when built-in drivers request
      firmware". This workaround is not needed on Ubuntu.
    - support mounting of loopback devices via loop*= parameters
    - Add vfat and nls modules to the initramfs.
    - Drop hooks/keymap, scripts/init-top/keymap, and associated code;
      console-setup takes care of this in Ubuntu.
    - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
      something other than "n", the script will not be included.
    - Add new initramfs-tools-bin package containing a binary that uses
      libudev to wait for udev to create the udev device, or wait for udev to
      finish processing if we catch it in the act, and returns the filesystem
      type as already probed by udev.
    - Automatically blacklist vga16fb when vga= or video= specified on kernel
      command-line.
    - Add hwaddr= alias for BOOTIF= for compatibility.
    - Set hostname at boot, for the benefit of mdadm autoassembly.
    - Add Hyper-V paravirtualised device drivers to the initramfs to allow
      booting of stock images in a Hyper-V guest.
    - ppc64el: enable PowerPC NX Crypto Coprocessor
    - Add support for uppercase and lowercase uuids.
    - Ensure we have a /usr/sbin directory in initramfs-tools-core
    - Make busybox-initramfs a real runtime dependency, fixing kernel install
      failures with cryptsetup
    - init: Don't interpret "rootdelay" as a static sleep.
    - scripts/local: Let rootdelay determine the wait-for-root timeout.
    - Increase rootdelay to 180s on powerpc/ppc64/ppc64el
    - Support roottimeout= as the authoritative name for rootdelay= since the
      Ubuntu interpretation of rootdelay is *not* a delay and this causes
      inconsistent behavior depending on whether the kernel or an initramfs is
      interpreting it.
    - Revised mountroot failure support.  This is now deprecated and
      effectively removed.  However, to prevent breakage in other packages the
      add_mountroot_fail_hook function is still present as an empty stub.
    - Add a new 'fixrtc' script that tries to set the system clock forward
      based on the last mount time of the root disk; without this kludge,
      systems without a working RTC will end up in a perpetual reboot loop.
    - Restore the framebuffer hook and script, copying KMS and other
      framebuffer drivers into the initramfs, but make them optional; you need
      to set FRAMEBUFFER=y for these to be included.
    - netinfo_to_resolv_conf: Add support for IPv6
    - resume: only resume when the partition contains a resume image
    - Fix resuming a hibernate session from a swapfile
    - scripts/functions: by default, when setting up networking, use dhclient
      if we're asked to do DHCP explicitly, or if we otherwise are expected to
      do things automatically.
    - split out IPv6 options in its own cmdline parameter: ip6= ; always use
      dhclient in this case if the value set is anything other than 'off' or
      'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
      the name of an interface.
    - rework the stop conditions so that we properly handle the ROUNDTTT loop,
      timing out after a short period of time and trying again after a short
      sleep.
    - add a 'done' parameter for both ip= and ip6= so that we can properly
      exit the ROUNDTTT loop once we know that either there is no work to do,
      or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
      or possibly both).
    - Just let dhclient scan the interfaces if none is specified for IPv6.
      (previously unnoted)
    - Do not handle ip=rarp specially (ipconfig hasn't supported it for some
      time)
    - Call dhclient in simple cases for IPv4 (this makes some small observable
      changes -- for example ip=bootp will now make a DHCP request too -- but
      nothing that seems important).
    - Do not let dhclient processes hang around past the pivot and have them
      respect the shorter timeouts ipconfig was given.
    - hook-functions, mkinitramfs, scripts/functions: support usage of dns
      after configure_networking.
    - Add unit tests for DNS support
    - scripts/functions: write netplan config files to /run/netplan for
      network devices configured with configure_networking.
    - Adjust testsuite for correct expected netplan output.
    - Add tests to parse netplan.yaml with netplan generate.
    - scripts/functions: include a new option to skip enslaved network
      devices.
    - Auto activate qeth devices on s390x hosts, when using ip= ip6= command
      lines.
    - Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
      commandline, and as VLAN= conf.d snippet.
    - Emit empty dictionary in the ethernets section, for static vlan configs
      without any matches, as otherwise it is invalid config.
    - Skip attempting to chzdev enable VLAN device
    - Work out the kernel modules required to support ZFS filesystems and add
      them as necessary.
    - Add modules for nvme path components on multipath nvme.
    - Drop usage of klibc-utils' fstype in favor of always using udev blkid.
    - Use set -a/+a around loading conf snippets, to autoexport hook
      configuration variables. This thus allows packaged hooks to configure
      each other.
    - Fix PATH to include /usr/local.
    - Fix resume failure due to resume=UUID=... in certain cases
    - Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
      remount yet.
    - Provide a clearer error on mount failure of the Windows host filesystem
    - scripts/local: Re-execute cryptroot local-block script.
    - Force copy pthread and libgcc_s libraries via a stub binary. To avoid
      circular shared library dependencies between compiler and libc,
      libpthreads chooses to dlopen libgcc_s, instead of linking against it.
      However, we have no way to parse/know what it needs. And even when we
      hardcode to include libgcc_s1, we don't have a way to know which
      libgcc_s1 is needed on a given system and from which path to include it.
      But there is a hook-function to copy a binary and all of its shared
      library dependencies. Thus create a stub empty executable, with shared
      linking against pthreads and gcc_s1 and always include it in the initrd.
      This way at initrd creation time, ldd is used to correctly resolve these
      shared library dependencies and correctly copy them into the initrd.
      This removes hardcoding paths as to where these libraries must be copied
      from on the host.
    - Lower the compression levels for zstd and lz4 Following the discussion
      on the mailing list, we have reached a conclusion to lower the default
      compression levels:
      - For lz4, the compression level is lowered to 2 from 9
      - For zstd, the compression level is lowered to 1 from 9
    - Include dax and nfit modules, also needed for pmem devices.
    - Add char/hw_random drivers
    - Reinstate build-time shellcheck (but leave shellcheck out of
      autopkgtests as per debian bug #992798)
    - Bring up networking if ip6 is specified on cmdline.
    - debian/control: update Vcs-* links for Ubuntu.
    - Add qemu-net-dnsmasq autopkgtest to test DHCPv6
    - test: Ignore remaining systemd-udevd processes
    - Replace dhclient by dhcpcd
    - scripts/functions: do not fail to configure networking too quickly. In
      particular make sure an unsuccessful attempt to run DHCP takes at least
      $ROUNDTTT seconds.
    - Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
      on MacBook Pro 2017
    - Install surface_aggregator_registry for keyboard on Surface Laptop 4
    - Restore nvdimm and dax pmem-related modules
    - configure_networking:
      - Increase minimum timeout to 30 seconds
      - Fix configuring BOOTIF when using iSCSI
      - Set interface MTU if provided by the DHCP server
    - autopkgtest: Test hostname already set in initrd
    - resume: always write valid resume device to /sys/power/resume
    - hook-functions: Print error message on copy_file failure
      to ease debugging cases like LP #1641230.
    - Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
      and let initramfs-tools-core suggest 3cpio
    - persist hostname provided by DHCP only if not set yet
    - configure_networking: Configure IPv4 or IPv6 based on iBFT IP address
    - Add iBFT test cases to qemu-net-iscsi autopkgtest
    - scripts/functions: gateway4/gateway6 are depreated in netplan config,
      generate routes instead
  * kernel/postinst.d: check for presence of mkinitramfs

 -- Benjamin Drung <bdrung@ubuntu.com>  Mon, 03 Mar 2025 23:24:24 +0100

initramfs-tools (0.146) unstable; urgency=medium

  [ Alper Nebi Yasak ]
  * [6487f6e] hook-functions: Add soc and extcon drivers
  * [99bea09] hook-functions: Add rpmsg and hwspinlock drivers
  * [7d1c4b4] hook-functions: Add interconnect drivers
  * [cf40492] hook-functions: Add mailbox drivers
  * [6caf9cd] hook-functions: Add memory drivers
  * [82c266d] hook-functions: Add nvmem drivers
  * [6269d10] hook-functions: Add power modules
  * [ee89884] hook-functions: Add spmi modules
  * [4410741] hook-functions: Add qrtr driver
  * [56e9fd6] hook-functions: Add devfreq drivers
  * [2eb8e0e] hook-functions: Add dma drivers
  * [91a439b] hook-functions: Add watchdog drivers
  * [ada64b7] hook-functions: Add usb/typec drivers
  * [cb730ef] hook-functions: Add tty/serial drivers
  * [7033153] hook-functions: Add input/serio drivers
  * [c8a24d8] hook-functions: Add platform/chrome drivers
  * [bc902ab] hook-functions: Handle msm hidden dependency on qrtr
  * [508c23b] hook-functions: Add msm to fb modules list

  [ Dmitry Baryshkov ]
  * [7328860] hook-functions: add missing module dependencies for Qualcomm
    platforms

  [ Ben Hutchings ]
  * [140c572] hook-functions: Expand documentation of copy_exec and
    copy_file
  * [765db02] hook-functions: Restore copy_file's handling of target
    ending in slash (Closes: #1082647)
  * [d5c2430] hook-functions: Exclude usr-merge symlinks in copy_file
    (Closes: #1088959)
  * [6adf789] autopkgtest: Add tests for copy_file function
  * [59d8726] functions: Define list_filter_out function for filtering
    comma-sep lists
  * [c1ad6a5] init: Filter 'tmpfs' out of $ROOTFSTYPE
  * [10bcd21] tests: Add e2fsprogs to dependencies

  [ Benjamin Drung ]
  * [81fd41f] Put compressed kernel modules and firmware in an
    uncompressed cpio (LP: #2028567)
  * [cb06181] unmkinitramfs: use directory names 'cpio1', 'cpio2', etc.
  * [fb0b40d] Declare breaking miniramfs 1.0.2 and older
  * [137d8a9] Drop obsolete shellcheck overrides
  * [cc661aa] Filter net kernel modules by symbol regexp from dracut (LP:
    #2031841)
  * [687cff2] Explicitly call "set -e" instead of specifying on shebang
  * [5eda205] netinfo_to_resolv_conf: clear variables between sourcing
  * [b55854d] netinfo_to_resolv_conf: add net_file to local variables
  * [df2b4b3] hook-functions: make copy_libgcc to not take any parameters
    (LP: #2085157)
  * [370b433] test: log commands that produce output on stdout
  * [ddec7a3] Mark debian/tests/test-common as sh script
  * [9333111] tests: fix shellcheck warning "Declare and assign separately
    to ..."
  * [db53479] tests: Replace 'echo -n' by printf
  * [08ec63c] tests: fix shellcheck warning "variable appears unused"
  * [32630e9] tests: fix shellcheck info "read without -r will mangle
    backslashes"
  * [2c746f1] test: make prepare_network_dumping_rootfs take no parameters
  * [84115f9] test: silence incorrect shellcheck SC2119
  * [a83ddc2] test: fix checking output / initrd content
  * [3ad3f72] d/salsa-ci.yml: include tests in shellcheck

  [ Jeffery To ]
  * [7b10938] Fix resume device type check

 -- Ben Hutchings <benh@debian.org>  Sun, 02 Mar 2025 17:46:36 +0100

initramfs-tools (0.145ubuntu3) plucky; urgency=medium

  * scripts/functions: gateway4/gateway6 are depreated in netplan config,
    generate routes instead (LP: #2093164)

 -- Gerald Yang <gerald.yang@canonical.com>  Tue, 25 Feb 2025 01:35:07 +0000

initramfs-tools (0.145ubuntu2) plucky; urgency=medium

  * Fix shellcheck complaints in debian/tests
  * configure_networking: Configure IPv4 or IPv6 based on iBFT IP address
    (LP: #2091904)
  * test:
    - support setting a disk label in build_fs_ext2
    - test-common: move disc logic out of _run_qemu
    - move wait_for_server_startup to test-common
    - check for QEMU PID in wait_for_server_startup
    - Add qemu-net-iscsi autopkgtest for iBFT test cases

 -- Benjamin Drung <bdrung@ubuntu.com>  Thu, 06 Feb 2025 22:21:42 +0100

initramfs-tools (0.145ubuntu1) plucky; urgency=medium

  * Merge from Debian unstable. Remaining changes:
    - hook-functions: Add soc,nvmem, power, spmi, usb/typec, tty/serial drivers
    - mkinitramfs: Put compressed kernel modules and firmware files in an
      uncompressed cpio
    - hooks/resume: Fix resume device type check
    - hook-functions: make copy_libgcc to not take any parameters
    - netinfo_to_resolv_conf: clear variables between sourcing
    - netinfo_to_resolv_conf: add net_file to local variables
    - Harmonize kernel module installation with dracut's behavior:
      - Use the symbol regex from dracut-install to reduce the unnessary block
        and net kernel modules.
      - hook-functions: Move UFS storage drivers to block class
      - Do not install ARM/RISCV specific modules on other architectures.
    - add squashfs to list of 'most' modules
    - support mounting of loopback devices via loop*= parameters
    - Add vfat and nls modules to the initramfs.
    - Drop hooks/keymap, scripts/init-top/keymap, and associated code;
      console-setup takes care of this in Ubuntu.
    - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to
      something other than "n", the script will not be included.
    - Add new initramfs-tools-bin package containing a binary that uses
      libudev to wait for udev to create the udev device, or wait for udev to
      finish processing if we catch it in the act, and returns the filesystem
      type as already probed by udev.
    - Automatically blacklist vga16fb when vga= or video= specified on kernel
      command-line.
    - Add hwaddr= alias for BOOTIF= for compatibility.
    - Set hostname at boot, for the benefit of mdadm autoassembly.
    - Add Hyper-V paravirtualised device drivers to the initramfs to allow
      booting of stock images in a Hyper-V guest.
    - ppc64el: enable PowerPC NX Crypto Coprocessor
    - Add support for uppercase and lowercase uuids.
    - Ensure we have a /usr/sbin directory in initramfs-tools-core
    - Make busybox-initramfs a real runtime dependency, fixing kernel install
      failures with cryptsetup
    - init: Don't interpret "rootdelay" as a static sleep.
    - scripts/local: Let rootdelay determine the wait-for-root timeout.
    - Increase rootdelay to 180s on powerpc/ppc64/ppc64el
    - Support roottimeout= as the authoritative name for rootdelay= since the
      Ubuntu interpretation of rootdelay is *not* a delay and this causes
      inconsistent behavior depending on whether the kernel or an initramfs is
      interpreting it.
    - Revised mountroot failure support.  This is now deprecated and
      effectively removed.  However, to prevent breakage in other packages the
      add_mountroot_fail_hook function is still present as an empty stub.
    - Add a new 'fixrtc' script that tries to set the system clock forward
      based on the last mount time of the root disk; without this kludge,
      systems without a working RTC will end up in a perpetual reboot loop.
    - Restore the framebuffer hook and script, copying KMS and other
      framebuffer drivers into the initramfs, but make them optional; you need
      to set FRAMEBUFFER=y for these to be included.
    - netinfo_to_resolv_conf: Add support for IPv6
    - resume: only resume when the partition contains a resume image
    - Fix resuming a hibernate session from a swapfile
    - scripts/functions: by default, when setting up networking, use dhclient
      if we're asked to do DHCP explicitly, or if we otherwise are expected to
      do things automatically.
    - split out IPv6 options in its own cmdline parameter: ip6= ; always use
      dhclient in this case if the value set is anything other than 'off' or
      'none'. Furthermore, parse anything other than 'on', 'dhcp' or 'any' as
      the name of an interface.
    - rework the stop conditions so that we properly handle the ROUNDTTT loop,
      timing out after a short period of time and trying again after a short
      sleep.
    - add a 'done' parameter for both ip= and ip6= so that we can properly
      exit the ROUNDTTT loop once we know that either there is no work to do,
      or that we've achieved what we wanted (that is, to bring up IPv4, IPv6,
      or possibly both).
    - Just let dhclient scan the interfaces if none is specified for IPv6.
      (previously unnoted)
    - Do not handle ip=rarp specially (ipconfig hasn't supported it for some
      time)
    - Call dhclient in simple cases for IPv4 (this makes some small observable
      changes -- for example ip=bootp will now make a DHCP request too -- but
      nothing that seems important).
    - Do not let dhclient processes hang around past the pivot and have them
      respect the shorter timeouts ipconfig was given.
    - hook-functions, mkinitramfs, scripts/functions: support usage of dns
      after configure_networking.
    - Add unit tests for DNS support
    - scripts/functions: write netplan config files to /run/netplan for
      network devices configured with configure_networking.
    - Adjust testsuite for correct expected netplan output.
    - Add tests to parse netplan.yaml with netplan generate.
    - scripts/functions: include a new option to skip enslaved network
      devices.
    - Auto activate qeth devices on s390x hosts, when using ip= ip6= command
      lines.
    - Add support for creating VLANs via vlan=eth0.1:eth0 on kernel
      commandline, and as VLAN= conf.d snippet.
    - Emit empty dictionary in the ethernets section, for static vlan configs
      without any matches, as otherwise it is invalid config.
    - Skip attempting to chzdev enable VLAN device
    - Work out the kernel modules required to support ZFS filesystems and add
      them as necessary.
    - Add modules for nvme path components on multipath nvme.
    - Drop usage of klibc-utils' fstype in favor of always using udev blkid.
    - Use set -a/+a around loading conf snippets, to autoexport hook
      configuration variables. This thus allows packaged hooks to configure
      each other.
    - Fix PATH to include /usr/local.
    - Fix resume failure due to resume=UUID=... in certain cases
    - Always mount loop-mount filesystems read-write; ntfs-3g and vfat can't
      remount yet.
    - Provide a clearer error on mount failure of the Windows host filesystem
    - scripts/local: Re-execute cryptroot local-block script.
    - Force copy pthread and libgcc_s libraries via a stub binary. To avoid
      circular shared library dependencies between compiler and libc,
      libpthreads chooses to dlopen libgcc_s, instead of linking against it.
      However, we have no way to parse/know what it needs. And even when we
      hardcode to include libgcc_s1, we don't have a way to know which
      libgcc_s1 is needed on a given system and from which path to include it.
      But there is a hook-function to copy a binary and all of its shared
      library dependencies. Thus create a stub empty executable, with shared
      linking against pthreads and gcc_s1 and always include it in the initrd.
      This way at initrd creation time, ldd is used to correctly resolve these
      shared library dependencies and correctly copy them into the initrd.
      This removes hardcoding paths as to where these libraries must be copied
      from on the host.
    - Lower the compression levels for zstd and lz4 Following the discussion
      on the mailing list, we have reached a conclusion to lower the default
      compression levels:
      - For lz4, the compression level is lowered to 2 from 9
      - For zstd, the compression level is lowered to 1 from 9
    - Include dax and nfit modules, also needed for pmem devices.
    - Add char/hw_random drivers
    - Reinstate build-time shellcheck (but leave shellcheck out of
      autopkgtests as per debian bug #992798)
    - Bring up networking if ip6 is specified on cmdline.
    - debian/control: update Vcs-* links for Ubuntu.
    - Add qemu-net-dnsmasq autopkgtest to test DHCPv6
    - test: Ignore remaining systemd-udevd processes
    - Replace dhclient by dhcpcd
    - scripts/functions: do not fail to configure networking too quickly. In
      particular make sure an unsuccessful attempt to run DHCP takes at least
      $ROUNDTTT seconds.
    - Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
      on MacBook Pro 2017
    - Install surface_aggregator_registry for keyboard on Surface Laptop 4
    - Restore nvdimm and dax pmem-related modules
    - configure_networking:
      - Increase minimum timeout to 30 seconds
      - Fix configuring BOOTIF when using iSCSI
      - Set interface MTU if provided by the DHCP server
    - autopkgtest: Test hostname already set in initrd
    - resume: always write valid resume device to /sys/power/resume
    - hook-functions: Print error message on copy_file failure
      to ease debugging cases like LP #1641230.
    - Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
      and let initramfs-tools-core suggest 3cpio
    - persist hostname provided by DHCP only if not set yet
  * hook-functions: Add all extcon drivers on ARM/RISC-V
  * unmkinitramfs: use directory names 'cpio1', 'cpio2', etc.
  * Drop obsolete shellcheck overrides
  * Revert "autopkgtest: Fix test failure when built-in drivers request
    firmware". This workaround is not needed on Ubuntu.
  * netinfo_to_resolv_conf:
    - Support "set -u"
    - Fix printing to stdout if "-" is specified
    - Define sourced variables as local instead of using a subshell
  * hook-functions: Add cdc_eem, ch9200, netconsole, r8153_ecm drivers
  * Remove code that prunes 'broken' symlinks and sometimes /etc/mtab
    (Closes: #845581)

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 28 Jan 2025 17:48:52 +0100

initramfs-tools (0.145) unstable; urgency=medium

  * [f1db745] autopkgtest: Run tests as root (Closes: #1078168)
  * [984bdc7] hook-functions: copy_file: Canonicalise target filename
    (Closes: #1079276)

 -- Ben Hutchings <benh@debian.org>  Thu, 22 Aug 2024 17:12:25 +0200

initramfs-tools (0.144) unstable; urgency=medium

  [ Benjamin Drung ]
  * [d730a39] Replace copy_modules_dir by manual_add_modules calls
  * [fbed3de] autopkgtest: Enable KVM if available
  * [2033d83] mkinitramfs: Use pipefail for creating final initrd.img file
  * [ce03a2e] mkinitramfs: Do not store intermediate main cpio archive
  * [135c59c] install hid-multitouch module for Surface Pro 4 Keyboard
    (LP: #1772094)
  * [a3428db] fsck: Mention file system name in failed identification
    warning
  * [6fc11ff] Move shellcheck configuration to .shellcheckrc
  * [8510fab] Check shell scripts for POSIX sh compliance

  [ Alper Nebi Yasak ]
  * [f495e29] hook-functions: auto_add_modules: Add onboard_usb_hub,
    onboard_usb_dev
  * [5a1ae97] hook-functions: add_loaded_modules: Walk bound devices for
    suppliers
  * [852334e] d/gbp.conf: Set gbp-dch options matching existing changelog
    entries
  * [a89788e] mkinitramfs: Add -m argument to override MODULES setting

  [ Ben Hutchings ]
  * [b641a97] hook_functions: Fix copy_file with source including a
    directory symlink
  * [d3150d8] autopkgtest: Fix name of ppc64el kernel flavour
  * [1e2fe3f] autopkgtest: Fix test failure when built-in drivers request
    firmware
  * [347c542] mkinitramfs, hook-functions: Exit with error if dracut-
    install fails (Closes: #1079066)

 -- Ben Hutchings <benh@debian.org>  Thu, 22 Aug 2024 01:59:34 +0200

initramfs-tools (0.143.1) unstable; urgency=medium

  * Upload to unstable

 -- Ben Hutchings <benh@debian.org>  Sun, 28 Jul 2024 20:03:20 +0200

initramfs-tools (0.143) experimental; urgency=medium

  [ Gioele Barabucci ]
  * [4ae8280] d/initramfs-tools.maintscripts: Remove code for ancient versions

  [ наб ]
  * [5774cc3] Respect fw_path_para in add_firmware()
  * [c9fa064] Handle compressed firmware in add_firmware()
  * [1aa6118] Support ZSTD-compressed firmware in add_firmware()

  [ Benjamin Drung ]
  * [3d29bf9] Configure /etc/resolv.conf and persist hostname
  * [5339f25] Add unit tests for netinfo_to_resolv_conf
  * [78b408c] Support "set -u"
  * [124d98b] test: Fix too small ext2 block count
  * [c8d88a5] test-common: Use one common temporary directory
  * [b33e6c8] Update lintian override to format for lintian 2.116.3
  * [613c4f5] Convert debian/copyright to machine-readable format
  * [ad808f4] Switch to debhelper 13
  * [5908b3c] Bump Standards-Version to 4.7.0
  * [0c23673] Drop Breaks/Conflicts that predate Debian 10 "buster" and Ubuntu
    20.04 "focal"
  * [2239b0e] test-common: Support "set -u"
  * [680698c] test-common: Wrap long qemu-system-x86_64 line
  * [7bcc5ae] autopkgtest: Explicitly specify supported architectures
  * [c25336f] autopkgtest: Rely on linux-image-generic alias on Debian
  * [028d6e0] autopkgtest: Group tests with identical dependencies
  * [8e8554b] test: Add random number generator to qemu
  * [ea3e090] Run autopkgtest on more architectures
  * [1f6bfe7] test: Call qemu with -nodefaults
  * [5171920] test: log build_initramfs call
  * [9a10673] persist_hostname: fix missing hostname command
  * [e114943] mkinitramfs: Simplify pipefail implementation
  * [dbd1a56] copy_exec: ignore ldd output lines not starting with a tab
    (LP: #2046570)
  * [995a33c] Run wrap-and-sort
  * [c9d970c] initramfs-tools-core: drop support for upgrading from < 0.138
  * [f9dbdc6] test: Check that the network is not configured
  * [3c02697] test: create /lib64 to /usr/lib64 symlink as well
  * [d75a58b] Bring up networking if ip is specified on cmdline
    (Closes: #789067) (LP: #1463846)
  * [05692dc] Merge consecutive manual_add_modules calls into one
  * [05ea8a5] Skip compression support check if /boot/config-${version} is
    missing (LP: #2018171)
  * [b3e8cc4] Use dracut-install in manual_add_modules (LP: #2031185)
  * [e6ad401] mkinitramfs: indent code that writes the outfile
  * [215a713] hook-functions: Shorten add_firmware
  * [b83a651] Add myself to debian/copyright
  * [946c3c9] refactor: Introduce debian/tests/run-qemu
  * [0cefa93] hook-utils: fix tab/spaces indentation
  * [ead1b47] mkinitramfs: Resolve hidden dependencies after all modules were
    copied
  * [9a297f5] reduce number of dracut-install calls (LP: #2065180)

  [ Luca Boccassi ]
  * [90addd0] Check for the kconfig in /lib/modules/ too

  [ szubersk ]
  * [67bddc4] Fix/ignore ShellCheck findings
  * [9da9969] Silence unnecessary `ln -f` warning

  [ Alper Nebi Yasak ]
  * [88dc091] hook-functions: Don't walk graphics modules if corebootfb is
    available
  * [1eb6511] hook-functions: dep_add_modules: Properly include panel drivers
  * [3c86dba] hook-functions: sys_walk_mod_add: Add devlink suppliers as
    dependencies
  * [85239a1] hook-functions: auto_add_modules: Add modules for MT8173/8183
    Chromebooks
  * [36c7300] hook-functions: dep_add_modules: Include mipi-dsi panel drivers
  * [465ae6b] hook-functions: dep_add_modules: Generalise wildcard for panel
    drivers
  * [03d196f] test: Increase QEMU timeout to 120s
  * [8aec852] hook_functions: dep_add_modules: Use heuristics for a generic
    framebuffer

  [ Aron Xu ]
  * [d7b6cec] hook-functions: return from dep_add_modules_mount() for zfs
    (Closes: #934736)

  [ Adam Vodopjan ]
  * [fbc178e] unmkinitramfs: add count_bytes iflag in a dd call

  [ Ben Hutchings ]
  * [8801fda] debian/tests/test-common: Update klibc.so installation for
    /usr-move
  * [ff983a1] Add myself to debian/copyright

  [ Paul Aurich ]
  * [13b88ca] scripts/functions: Don't die if configure_networking times out
    (Closes: #1025730)

  [ Arnaud Rebillout ]
  * [8f2f49e] Add hyper-keyboard module, needed to enter LUKS password in
    Hyper-V (Closes: #1028511)

 -- Ben Hutchings <benh@debian.org>  Sat, 01 Jun 2024 22:54:45 +0200

initramfs-tools (0.142ubuntu35) plucky; urgency=medium

  * hook-functions: make copy_libgcc to not take any parameters (LP: #2085157)

 -- Benjamin Drung <bdrung@ubuntu.com>  Thu, 14 Nov 2024 14:36:43 +0100

initramfs-tools (0.142ubuntu34) oracular; urgency=medium

  * hook-functions: Include all UFS storage drivers (LP: #2081020)

 -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 20 Sep 2024 10:56:23 +0200

initramfs-tools (0.142ubuntu33) oracular; urgency=medium

  * hook-functions: Print error message on copy_file failure
    to ease debugging cases like LP #1641230.
  * Cherry-pick fixes from Debian 0.144 and 0.145:
    - autopkgtest: Fix name of ppc64el kernel flavour
    - mkinitramfs, hook-functions: Exit with error if dracut-install fails
      (Closes: #1079066)
    - hook_functions: Fix copy_file with source including a directory symlink
      (LP: #2077490)
    - hook-functions: copy_file: Canonicalise target filename
      (Closes: #1079276)

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 04 Sep 2024 01:26:32 +0200

initramfs-tools (0.142ubuntu32) oracular; urgency=medium

  * Use 3cpio for unmkinitramfs/lsinitramfs if available (for massive speedup)
    and let initramfs-tools-core suggest 3cpio (LP: #2059976)

 -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 09 Aug 2024 22:01:06 +0200

initramfs-tools (0.142ubuntu31) oracular; urgency=medium

  * Address shellcheck complains:
    - scripts/functions: Quote variable in mask2cidr
    - Replace "echo -n" by printf
    - test: address shellcheck in test scripts
  * Check shell scripts for POSIX sh compliance
  * test: Make netplan test configs not accessible by others
  * Apply the final version of the patches that were merged in Debian, e.g.
    - Use /usr/bin paths for binaries used in the tests
    - test: Increase QEMU timeout to 120s
  * Build-depend on udev for udevadm used by netplan

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 07 Aug 2024 16:40:19 +0200

initramfs-tools (0.142ubuntu30) oracular; urgency=medium

  [ Jeffery To ]
  * hooks/resume: Fix resume device type check

 -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 05 Jul 2024 09:56:37 +0200

initramfs-tools (0.142ubuntu29) oracular; urgency=medium

  [ Jeffery To ]
  * Fix resume failure due to resume=UUID=... in certain cases (LP: #1769297)

  [ Benjamin Drung ]
  * resume: always write valid resume device to /sys/power/resume (LP: #1769297)
  * fsck: Mention file system name in failed identification warning
    (LP: #2068077)

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 03 Jul 2024 13:55:55 +0200

initramfs-tools (0.142ubuntu28) oracular; urgency=medium

  * hook-functions: Use firmware search order from kernel
  * mkinitramfs: Resolve hidden dependencies after all modules were copied
  * reduce number of dracut-install calls. This can be a breaking change.
    To restore the previous behavior, call apply_add_modules without arguments
    after a manual_add_modules call. (LP: #2065180)

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 04 Jun 2024 16:26:39 +0200

initramfs-tools (0.142ubuntu27) oracular; urgency=medium

  * Run wrap-and-sort
  * initramfs-tools-core: drop support for upgrading from < 0.138
  * Convert debian/copyright to machine-readable format
  * Switch to debhelper 13
  * Bump Standards-Version to 4.7.0
  * Drop Breaks/Conflicts that predate Debian 10 "buster" and Ubuntu 20.04
  * init: fix setting hostname if busybox is not used

 -- Benjamin Drung <bdrung@ubuntu.com>  Mon, 20 May 2024 01:17:34 +0200

initramfs-tools (0.142ubuntu26) oracular; urgency=medium

  * configure_network: Call dhcpcd with --nolink --noipv4ll to succeed getting
    a DHCP lease on the first try and avoid a 30 seconds delay (LP: #2065037)
  * autopkgtest: Test hostname already set in initrd (LP: #2064926)
  * autopkgtest: Use qemu -cpu max by default

 -- Benjamin Drung <bdrung@ubuntu.com>  Thu, 09 May 2024 00:12:51 +0200

initramfs-tools (0.142ubuntu25) noble; urgency=medium

  * Copy only dhcpcd user into initramfs /etc/passwd (LP: #2059739)
  * autopkgtest: Ignore remainig udev processes also on amd64

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 17 Apr 2024 17:55:09 +0200

initramfs-tools (0.142ubuntu24) noble; urgency=medium

  * No-change rebuild for CVE-2024-3094

 -- Steve Langasek <steve.langasek@ubuntu.com>  Sun, 31 Mar 2024 00:08:30 +0000

initramfs-tools (0.142ubuntu23) noble; urgency=medium

  [ Daniel van Vugt ]
  * hooks/framebuffer: Only add simple/tiny framebuffer drivers. This is to
    limit the size of initrd when FRAMEBUFFER=y is soon enabled for desktop
    installations (LP: #1970069, #1869655).

  [ Benjamin Drung ]
  * autopkgtest: Increase QEMU timeouts on arm64/armhf
  * hooks/framebuffer:
    - Move adding framebuffer drivers into auto_add_modules
    - Drop looking in $MODULESDIR/initrd/ for kernel modules
    - Support MODULES=dep in framebuffer hook

 -- Benjamin Drung <bdrung@ubuntu.com>  Thu, 21 Mar 2024 10:57:54 +0100

initramfs-tools (0.142ubuntu22) noble; urgency=medium

  * autopkgtest: update systemd-udevd path from /lib to /usr/lib

 -- Benjamin Drung <bdrung@ubuntu.com>  Thu, 14 Mar 2024 11:03:03 +0100

initramfs-tools (0.142ubuntu21) noble; urgency=medium

  [ Benjamin Drung ]
  * configure_networking:
    - Increase minimum timeout to 30 seconds
    - Fix configuring BOOTIF when using iSCSI (LP: #2056187)
    - Set interface MTU if provided by the DHCP server (LP: #2056194)
    - log sleep durations before retries
  * Copy /etc/passwd into the initramfs to allow dhcpcd running as dhcpcd user
  * Replace obsolete pkg-config build-dependency by pkgconf

  [ Dan Bungert ]
  * Restore nvdimm and dax pmem-related modules (LP: #1981385)

 -- Benjamin Drung <bdrung@ubuntu.com>  Mon, 11 Mar 2024 23:50:43 +0100

initramfs-tools (0.142ubuntu20) noble; urgency=medium

  [ Benjamin Drung ]
  * Fix determing multiarch dir when using libc6-prof's libc.so.6 (LP: #2054171)
  * autopkgtest: Use qemu-system-$(dpkg --print-architecture)

  [ Adam Vodopjan ]
  * unmkinitramfs: add count_bytes iflag in a dd call (LP: #2055055)

  [ Florent 'Skia' Jacquet ]
  * d/t/test-common: fix finding klibc.so

 -- Benjamin Drung <bdrung@ubuntu.com>  Sat, 02 Mar 2024 17:08:38 +0100

initramfs-tools (0.142ubuntu19) noble; urgency=medium

  * copy_exec: ignore ldd output lines not starting with a tab (LP: #2046570)

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 19 Dec 2023 15:28:14 +0100

initramfs-tools (0.142ubuntu18) noble; urgency=medium

  * Let initramfs-tools-core depend on e2fsprogs because fixrtc hook uses
    /sbin/dumpe2fs (LP: #1831747)

 -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 08 Dec 2023 00:15:22 +0100

initramfs-tools (0.142ubuntu17) noble; urgency=medium

  * install hid-multitouch module for Surface Pro 4 keyboard (LP: #1772094)
  * test: log build_initramfs calls

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 15 Nov 2023 19:16:46 +0100

initramfs-tools (0.142ubuntu16) noble; urgency=medium

  * Install nvmem, soc, power, and System Power Management Interface (SPMI)
    kernel modules on ARM/RISC-V for MediaTek boards (LP: #2038512)
  * Install intel_lpss_pci and spi_pxa2xx_platform kernel modules for keyboard
    on MacBook Pro 2017 (LP: #2042710)
  * Install surface_aggregator_registry for keyboard on Surface Laptop 4
    (LP: #2007050)
  * framebuffer: Add privacy screen modules to the initrd (LP: #1954320)

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 14 Nov 2023 19:34:42 +0100

initramfs-tools (0.142ubuntu15) mantic; urgency=medium

  * scripts/functions: do not fail to configure networking too quickly. In
    particular make sure an unsuccessful attempt to run DHCP takes at least
    $ROUNDTTT seconds. (LP: #2037202)

 -- Michael Hudson-Doyle <michael.hudson@ubuntu.com>  Wed, 04 Oct 2023 12:02:13 +1300

initramfs-tools (0.142ubuntu14) mantic; urgency=medium

  * mkinitramfs: Skip compression support check if /boot/config-${version}
    is missing (LP: #2018171)

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 26 Sep 2023 00:49:57 +0200

initramfs-tools (0.142ubuntu13) mantic; urgency=medium

  * Support usr-merged library path when detecting mutliarch dir (LP: #2037156)

 -- Benjamin Drung <bdrung@ubuntu.com>  Sat, 23 Sep 2023 13:45:37 +0200

initramfs-tools (0.142ubuntu12) mantic; urgency=medium

  * Change dracut-core dependency to newly created dracut-install package
    (LP: #2031304)
  * autopkgtest:
    - Explicitly specify supported architectures
    - Enable KVM if available (not available on Ubuntu runners)
    - log qemu parameters

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 23 Aug 2023 10:58:40 +0200

initramfs-tools (0.142ubuntu11) mantic; urgency=medium

  * Use dracut-install in manual_add_modules to speed up mkinitramfs
    significantly (LP: #2031185)
  * Install tty/serial kernel modules. Dracut is doing the same. (LP: #2019435)
  * Harmonize kernel module installation with dracut's behavior (LP: #2031841):
    - Use the symbol regex from dracut-install to reduce the unnessary block
      and net kernel modules.
    - Install all usb/typec kernel modules instead of cherry-picking some.
    - Do not install ARM/RISCV specific modules on other architectures.

 -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 18 Aug 2023 03:44:36 +0200

initramfs-tools (0.142ubuntu10) mantic; urgency=medium

  * Fix resolving wrong multiarch libdir in dhcpcd hook (LP: #2031363)

 -- Benjamin Drung <bdrung@ubuntu.com>  Tue, 15 Aug 2023 20:41:22 +0200

initramfs-tools (0.142ubuntu9) mantic; urgency=medium

  * Replace dhclient by dhcpcd (LP: #2024164)
  * Merge consecutive manual_add_modules calls into one

 -- Benjamin Drung <bdrung@ubuntu.com>  Mon, 14 Aug 2023 18:09:08 +0200

initramfs-tools (0.142ubuntu8) mantic; urgency=medium

  [ Benjamin Drung ]
  * mkinitramfs:
    - Do not store intermediate main cpio archive
    - Put compressed kernel modules and firmware files in an uncompressed cpio
      (LP: #2028567)
  * Add support for zstd-compressed firmware
  * test: Ignore remaining systemd-udevd processes on arm64 as well
  * Update lintian overrides to format for lintian 2.116.3

  [ Loïc Minier ]
  * hook-functions: add stusb160x kernel module for Tegra IGX (LP: #2027636)

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 26 Jul 2023 14:05:19 +0200

initramfs-tools (0.142ubuntu7) mantic; urgency=medium

  * Extend autopkgtest to also run qemu on arm64, armhf, ppc64el, and s390x.
    (see upstream merge request !80)

 -- Benjamin Drung <bdrung@ubuntu.com>  Wed, 05 Jul 2023 21:54:53 +0200

initramfs-tools (0.142ubuntu6) mantic; urgency=medium

  * To ease testing, always use the link-layer address as DHCP unique
    identifier (DUID-LL) for DHCPv6.
  * Drop direct dependency on isc-dhcp-client (it's not available on i386)
  * Add qemu-net-dnsmasq autopkgtest to test DHCPv6

 -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 23 Jun 2023 21:12:21 +0200

initramfs-tools (0.142ubuntu5) mantic; urgency=medium

  * scripts/functions: drop needing basename in initramfs
  * Bring up networking if ip or ip6 is specified on cmdline.
    Directly depend on isc-dhcp-client for that.
    (Closes: #789067, LP: #1463846) (see merge request !77)
  * Extent qemu-net autopkgtest to check more cases and results
  * Move git repository under the ~ubuntu-core-dev umbrella

 -- Benjamin Drung <bdrung@ubuntu.com>  Fri, 16 Jun 2023 15:19:50 +0200

# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog initramfs-tools-bin`.
