diff -Nru initramfs-tools-0.106/conf/initramfs.conf initramfs-tools-0.106ubuntu1/conf/initramfs.conf --- initramfs-tools-0.106/conf/initramfs.conf 2011-02-23 16:23:46.000000000 +0000 +++ initramfs-tools-0.106ubuntu1/conf/initramfs.conf 2012-06-25 14:48:46.000000000 +0100 @@ -28,12 +28,21 @@ BUSYBOX=y # -# KEYMAP: [ y | n ] +# COMPCACHE_SIZE: [ "x K" | "x M" | "x G" | "x %" ] # -# Load a keymap during the initramfs stage. +# Amount of RAM to use for RAM-based compressed swap space. # +# An empty value - compcache isn't used, or added to the initramfs at all. +# An integer and K (e.g. 65536 K) - use a number of kilobytes. +# An integer and M (e.g. 256 M) - use a number of megabytes. +# An integer and G (e.g. 1 G) - use a number of gigabytes. +# An integer and % (e.g. 50 %) - use a percentage of the amount of RAM. +# +# You can optionally install the compcache package to configure this setting +# via debconf and have userspace scripts to load and unload compcache. +# -KEYMAP=n +COMPCACHE_SIZE="" # # COMPRESS: [ gzip | bzip2 | lzma | lzop | xz ] diff -Nru initramfs-tools-0.106/debian/changelog initramfs-tools-0.106ubuntu1/debian/changelog --- initramfs-tools-0.106/debian/changelog 2012-06-07 13:40:53.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/debian/changelog 2012-06-25 14:48:46.000000000 +0100 @@ -1,3 +1,69 @@ +initramfs-tools (0.106ubuntu1) quantal; urgency=low + + * Allow the mounting of a root filesystem as a loop device on top of a + host filesystem, used for Wubi installs. + * Panic if either the root device doesn't exist, or blkid cannot identify + it. Allows for mountroot failure hooks for md devices to be displayed. + * Fix major/minor handling. + * Call 'plymouth message' before resuming, to notify the user of the + reason for the delay if the plymouth theme supports it. + * Loop for 5 seconds waiting for $resume to show up, adjustable with the + resumedelay= command-line arg. + * Use gzip from busybox instead of klibc. Depend on busybox-initramfs + (>= 1:1.13.3-1ubuntu5) to ensure that we have it. + * Remove klibc utilities if busybox is in use. + * Maintain compatibility with pre- /run configurations + * Add vfat modules to the initramfs. + * Add hid_* modules, since some keyboards will not be usable at the + initramfs/busybox prompt without them. + * Replace all instances of vol_id with blkid, and depend on util-linux. + * 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. + * Incorporate rzscontrol from compcache so that we can control current + ramzswap devices. + * Use busybox-initramfs for Depends. + * Retain cryptopts= compatibility option. + * Breaks: mountall (<< 2.0~) + * Add panic hook support. + * Retain netboot= compatibility option. + * Add mountroot failure support, to allow meaningful messages when no + root device can be found. + * Allow for alternative PREREQS to be specified using | as the separator. + * Add Hyper-V paravirtualised device drivers to the initramfs to allow + booting of stock images in a Hyper-V guest. (LP: #917135) + * Automatically blacklist vga16fb when vga= or video= specified on kernel + command-line. + * Mount /dev with the default tmpfs size rather than sourcing udev.conf. + * Make /etc/mtab a symlink to /proc/mounts on startup, since e.g. current + ntfs-3g doesn't work otherwise. + * When receiving "recovery" on cmdline, start upstart with + --startup-event=recovery (LP: #575469) + * Add 2>&1 to the run-init line. + * Add hwaddr= alias for BOOTIF= for compatibility. + * Don't load keymaps unless we're loading a framebuffer; but set the + keymap before giving a root shell. + * 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. + * Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set to + something other than "n", the script will not be included. + * Allow specifying multiple break points using a comma delimiter. + * Ignore errors from iscan and iscan-data hooks. + * Don't display "Loading, please wait..." message when 'quiet' is in + /proc/cmdline. + * Set hostname at boot, for the benefit of mdadm autoassembly. + * 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. + * Support loading compcache from the initramfs. + * Set takeover=1 in update-initramfs. + * Drop hooks/keymap and associated code; console-setup takes care of this + in Ubuntu. + + -- Andy Whitcroft Mon, 25 Jun 2012 14:25:39 +0100 + initramfs-tools (0.106) unstable; urgency=high [ Josh Triplett ] @@ -49,6 +115,15 @@ -- maximilian attems Wed, 06 Jun 2012 14:48:26 +0200 +initramfs-tools (0.103ubuntu0) quantal; urgency=low + + * NOTE: Not an actual merge, just a cherry-pick and reving the + version number to avoid having to touch the Breaks in klibc-utils + * Cherry-pick the changes from 0.102 to 0.103 to move ipconfig + bits from /tmp to /run to match the new behaviour of klibc-utils + + -- Adam Conrad Fri, 01 Jun 2012 10:00:59 +0800 + initramfs-tools (0.103) unstable; urgency=low * [3fd3568] configure_networking: Use /run path for ipconfig generated @@ -144,6 +219,116 @@ -- Michael Prokop Tue, 14 Feb 2012 14:42:23 +0100 +initramfs-tools (0.99ubuntu13) precise; urgency=low + + * Deal with the uniquely broken situation of armhf having two linkers + by creating both if we find either one in the target (LP: #984007) + + -- Adam Conrad Tue, 17 Apr 2012 11:44:12 -0600 + +initramfs-tools (0.99ubuntu12) precise; urgency=low + + * Fix cross-building. + + -- Colin Watson Sat, 31 Mar 2012 01:35:00 +0100 + +initramfs-tools (0.99ubuntu11) precise; urgency=low + + * make sure fixrtc only updates the RTC setting if last mount time is actually + in the future (LP: #947988) + + -- Oliver Grawert Wed, 07 Mar 2012 12:33:58 +0100 + +initramfs-tools (0.99ubuntu10) precise; urgency=low + + * Add Hyper-V paravirtualised device drivers to the initramfs to allow + booting of stock images in a Hyper-V guest. (LP: #917135) + + -- Andy Whitcroft Fri, 10 Feb 2012 14:44:46 +0000 + +initramfs-tools (0.99ubuntu9) precise; urgency=low + + * Mark initramfs-tools Multi-Arch: foreign. + + -- Colin Watson Sun, 20 Nov 2011 17:41:31 +0000 + +initramfs-tools (0.99ubuntu8) oneiric-proposed; urgency=low + + * Too optimistic in thinking that the DRM driver will always be loaded + in time for scripts/init-top/framebuffer to load; some users find that + vesafb gets loaded first anyway, scrambling their console state in the + initramfs. Add a one-second sleep before checking if we should fall back + to vesafb, which seems to be long enough to work around this. + LP: #869119. + + -- Steve Langasek Mon, 10 Oct 2011 19:28:38 -0700 + +initramfs-tools (0.99ubuntu7) oneiric; urgency=low + + * When falling back to vesafb, suppress stderr output from modprobe; + otherwise in some cases we'll get error output on a console that was + nicely blank up to a week ago. Failing to load vesafb is usually not an + error in any case. + + -- Steve Langasek Thu, 06 Oct 2011 13:21:02 -0700 + +initramfs-tools (0.99ubuntu6) oneiric; urgency=low + + * scripts/init-top/framebuffer: fall back to vesafb if no other + framebuffer is found/configured, so we can take full advantage of the + grub gfxpayload handoff support. This ensures we get a clean + framebuffer-based plymouth screen even when using binary video drivers. + LP: #864149, LP: #563878, LP: #771905. + + -- Steve Langasek Sat, 01 Oct 2011 20:53:15 -0700 + +initramfs-tools (0.99ubuntu5) oneiric; urgency=low + + * hooks/compcache: udev RUN commands cannot include double quotes (") + nor do they support shell syntax. Move to an external helper script + to provision and add the memory swap partitions. + * hooks/compcache: add support for the updated zram staging driver + which requires the size to be pushed into sysfs and the partition be + initialised before adding. (LP: #832694) + + -- Andy Whitcroft Mon, 19 Sep 2011 15:40:32 +0100 + +initramfs-tools (0.99ubuntu4) oneiric; urgency=low + + * init: When receiving "recovery" on cmdline, start upstart with + --startup-event=recovery (LP: #575469) + + -- Stéphane Graber Thu, 15 Sep 2011 16:07:54 -0400 + +initramfs-tools (0.99ubuntu3) oneiric; urgency=low + + * remove hardcoded flash-kernel call from update-initramfs, flash-kernel + ships the same as /etc/initramfs/post-update.d/ script now + + -- Oliver Grawert Fri, 09 Sep 2011 12:14:01 +0200 + +initramfs-tools (0.99ubuntu2) oneiric; urgency=low + + * hook-functions: Revert changes from 0.98.8ubuntu3. With the current + implementation of copying, and /etc/ld.so.conf now existing in initramfs, + we can leave libraries at their original location. Thanks to maks for + pointing out! + * init: Add back compatibility symlink for /dev/.initramfs, until all + packages using /dev/.initramfs have been moved to /run/initramfs. + (LP: #810221) + + -- Martin Pitt Fri, 15 Jul 2011 11:20:32 +0200 + +initramfs-tools (0.99ubuntu1) oneiric; urgency=low + + * Merge with Debian unstable. See 0.98.8ubuntu1 for remaining Ubuntu + changes. This version creates /run in the initramfs, and moves it over to + the running system. (LP: #807306) + * hooks/busybox: Fix symlinking of /bin/sh to busybox, to work with current + copy_exec() function. + + -- Martin Pitt Tue, 12 Jul 2011 10:37:34 +0200 + initramfs-tools (0.99) unstable; urgency=low Release "scarpe rotte e pur bisogna andar" @@ -225,6 +410,100 @@ -- maximilian attems Wed, 11 May 2011 23:38:18 +0200 +initramfs-tools (0.98.8ubuntu4) oneiric; urgency=low + + * Rename xhci to xhci-hcd to fix booting from USB 3.0 devices + (cherry-picked fix from Debian bug #625224). (LP: #565047) + + -- Evan Broder Wed, 22 Jun 2011 10:57:43 -0700 + +initramfs-tools (0.98.8ubuntu3) natty; urgency=low + + * If copy_exec finds libraries to copy which are only accessible to the + runtime linker by virtue of being listed in /etc/ld.so.conf*, then + install those libraries to /lib or /usr/lib as appropriate instead + (LP: #728611). + + -- Colin Watson Sat, 26 Mar 2011 01:12:48 +0000 + +initramfs-tools (0.98.8ubuntu2) natty; urgency=low + + * Restore bnx2 to the initramfs; firmware loading should work these days, + and lots of other modules need firmware. Suggested by maximilian + attems. + + -- Colin Watson Wed, 09 Feb 2011 18:13:23 +0000 + +initramfs-tools (0.98.8ubuntu1) natty; urgency=low + + * Resynchronise with Debian. Remaining changes: + - Use busybox-initramfs for Depends. + - Mount /dev with the default tmpfs size rather than sourcing udev.conf. + - Set takeover=1 in update-initramfs. + - Allow the mounting of a root filesystem as a loop device on top of a + host filesystem, used for Wubi installs. + - Add vfat support to the initramfs. + - Add 2>&1 to the run-init line. + - Add mountroot failure support, to allow meaningful messages when no + root device can be found. + - Panic if either the root device doesn't exist, or blkid cannot + identify it. Allows for mountroot failure hooks for md devices to be + displayed. + - Ignore blacklist for forced vga= usage. + - Loop for 5 seconds waiting for $suspend to show up, adjustable with + the resumedelay= command-line arg. + - Allow for alternative PREREQS to be specified using | as the + separator. + - Support loading compcache from the initramfs. + - Remove klibc utilities if busybox is in use. + - Revert "framebuffer: Let udev create fb devices." udev isn't started + at this point and therefore can't create framebuffer devices. + - Create /dev/mem and /dev/zero if video=uvesafb. + - Add hid_* modules, since some keyboards will not be usable at the + initramfs/busybox prompt without them. + - Replace all instances of vol_id with blkid, and depend on util-linux. + - Use gzip from busybox instead of klibc. Depend on busybox-initramfs + (>= 1:1.13.3-1ubuntu5) to ensure that we have it. + - Remove bnx2 from the initramfs; it needs firmware, and at this stage + we only support network modules that don't need firmware loading. + - Don't display "Loading, please wait..." message when 'quiet' is in + /proc/cmdline. + - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set + to something other than "n", the script will not be included. + - 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. + - Depend on a sufficient version of udev to load fbcon. + - Don't load keymaps unless we're loading a framebuffer; but set the + keymap before giving a root shell. + - 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. Use it while mounting + local root filesystems and while resuming. + - Add hwaddr= alias for BOOTIF= for compatibility. + - Allow specifying multiple break points using a comma delimiter. + - Automatically blacklist vga16fb when vga= or video= specified on + kernel command-line. + - Call 'plymouth message' before resuming, to notify the user of the + reason for the delay if the plymouth theme supports it. + - 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. + - Drop hooks/keymap and associated code; console-setup takes care of + this in Ubuntu. + - Incorporate rzscontrol from compcache so that we can control current + ramzswap devices. + - Call 'plymouth hide-splash' before running failure hooks. + - Make /etc/mtab a symlink to /proc/mounts on startup, since e.g. + current ntfs-3g doesn't work otherwise. + - Ignore errors from iscan and iscan-data hooks. + - Set hostname at boot, for the benefit of mdadm autoassembly. + - If root= is numeric, set ROOT to /dev/block/N:N rather than /dev/root. + - Consolidate framebuffer calls to 'udevadm settle'. + + -- Colin Watson Wed, 09 Feb 2011 17:27:55 +0000 + initramfs-tools (0.98.8) unstable; urgency=high [ maximilian attems ] @@ -237,6 +516,7 @@ * [78d9e04] initramfs-tools: Handle hidden dependency of libcrc32c on crc32c. (Closes: #608538) + -- maximilian attems Fri, 28 Jan 2011 15:11:10 +0100 initramfs-tools (0.98.7) unstable; urgency=high @@ -302,6 +582,135 @@ -- maximilian attems Tue, 07 Sep 2010 12:54:01 +0200 +initramfs-tools (0.98.1ubuntu9) natty; urgency=low + + [ dann frazier ] + * framebuffer: consolidate calls to 'udevadm settle' (LP: #687588). + + -- Colin Watson Thu, 09 Dec 2010 12:28:27 +0000 + +initramfs-tools (0.98.1ubuntu8) natty; urgency=low + + * If the root= argument is numeric, set ROOT to the appropriate + /dev/block/N:N symlink instead of mknod'ing a /dev/root device. This + makes wait-for-root able to detect those devices. (LP: #576429) + + -- Evan Broder Fri, 26 Nov 2010 19:01:30 -0800 + +initramfs-tools (0.98.1ubuntu7) natty; urgency=low + + * mdadm autoassembly works by matching hostname with what is stored in the + uuid bits of the array. So hostname needs to be set at boot time for the + rootfs to be mounted, when the rootfs is on an array which has to be + auto-assembled. Added support for setting the hostname. (LP: #330399) + + -- Surbhi Palande Wed, 06 Oct 2010 17:53:20 +0300 + +initramfs-tools (0.98.1ubuntu6) maverick; urgency=low + + * Apparently the iscan hook is sometimes called iscan-data, so ignore + errors from that too (LP: #654856). + + -- Colin Watson Mon, 04 Oct 2010 23:34:53 +0100 + +initramfs-tools (0.98.1ubuntu5) maverick; urgency=low + + * Ignore errors from iscan hook, due to a widely-deployed third-party + package causing upgrade problems (LP: #603053). + + -- Colin Watson Mon, 04 Oct 2010 10:42:30 +0100 + +initramfs-tools (0.98.1ubuntu4) maverick; urgency=low + + * Make /etc/mtab a symlink to /proc/mounts on startup, since e.g. current + ntfs-3g doesn't work otherwise (LP: #641306). (We can't make it a + symlink directly in the initramfs, since mkinitramfs uses 'cpio + --dereference'.) + + -- Colin Watson Fri, 17 Sep 2010 18:14:31 +0100 + +initramfs-tools (0.98.1ubuntu3) maverick; urgency=low + + * hooks/thermal: Force load thermal modules on powerpc for now, as there are + no modaliases for these modules, so udev won't touch them. Longer term, + scripts will need to be written to better identify which thermal module + needs to be loaded. (LP: #631358) + + -- Luke Yelavich Wed, 15 Sep 2010 18:08:15 +1000 + +initramfs-tools (0.98.1ubuntu2) maverick; urgency=low + + * scripts/functions: Adding plymouth hide-splash to see the initramfs prompt + messages on VT. (LP: #628400) + + -- Surbhi Palande Mon, 13 Sep 2010 10:24:22 +0100 + +initramfs-tools (0.98.1ubuntu1) maverick; urgency=low + + * Resynchronise with Debian. Remaining changes: + - Use busybox-initramfs for Depends. + - Mount /dev with the default tmpfs size rather than sourcing udev.conf. + - Set takeover=1 in update-initramfs. + - Allow the mounting of a root filesystem as a loop device on top of a + host filesystem, used for Wubi installs. + - Add vfat support to the initramfs. + - Add 2>&1 to the run-init line. + - Add mountroot failure support, to allow meaningful messages when no + root device can be found. + - Panic if either the root device doesn't exist, or blkid cannot + identify it. Allows for mountroot failure hooks for md devices to be + displayed. + - Ignore blacklist for forced vga= usage. + - Loop for 5 seconds waiting for $suspend to show up, adjustable with + the resumedelay= command-line arg. + - Allow for alternative PREREQS to be specified using | as the + separator. + - Support loading compcache from the initramfs. + - Remove klibc utilities if busybox is in use. + - Revert "framebuffer: Let udev create fb devices." udev isn't started + at this point and therefore can't create framebuffer devices. + - Create /dev/mem and /dev/zero if video=uvesafb. + - Add hid_* modules, since some keyboards will not be usable at the + initramfs/busybox prompt without them. + - Replace all instances of vol_id with blkid, and depend on util-linux. + - Use gzip from busybox instead of klibc. Depend on busybox-initramfs + (>= 1:1.13.3-1ubuntu5) to ensure that we have it. + - Remove bnx2 from the initramfs; it needs firmware, and at this stage + we only support network modules that don't need firmware loading. + - Don't display "Loading, please wait..." message when 'quiet' is in + /proc/cmdline. + - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set + to something other than "n", the script will not be included. + - 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. + - Depend on a sufficient version of udev to load fbcon. + - Conflict with older versions of usplash. + - Don't load keymaps unless we're loading a framebuffer; but set the + keymap before giving a root shell. + - 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. Use it while mounting + local root filesystems and while resuming. + - Add hwaddr= alias for BOOTIF= for compatibility. + - Allow specifying multiple break points using a comma delimiter. + - Automatically blacklist vga16fb when vga= or video= specified on + kernel command-line. + - Call 'plymouth message' before resuming, to notify the user of the + reason for the delay if the plymouth theme supports it. + - 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. + - Drop hooks/keymap and associated code; console-setup takes care of + this in Ubuntu. + - Incorporate rzscontrol from compcache so that we can control current + ramzswap devices. + * Stop silencing /bin/resume output when trying to resume; the offending + message in klibc is now debug-only. + + -- Colin Watson Tue, 07 Sep 2010 12:45:05 +0100 + initramfs-tools (0.98.1) unstable; urgency=high [ Vagrant Cascadian ] @@ -310,6 +719,82 @@ -- maximilian attems Wed, 25 Aug 2010 22:13:18 +0200 +initramfs-tools (0.98ubuntu2) maverick; urgency=low + + * The ramzswap device changed its interface so that the disk size needs to + be given using an ioctl rather than as a module parameter. Incorporate + the rzscontrol tool from the compcache project + (http://code.google.com/p/compcache/) so that we can control current + ramzswap devices (LP: #600782). This is a strictly temporary measure, + as recent versions of compcache change the interface (and module name) + again to involve writing to sysfs files, which won't require any special + tools. + + -- Colin Watson Fri, 20 Aug 2010 09:46:26 +0100 + +initramfs-tools (0.98ubuntu1) maverick; urgency=low + + * Resynchronise with Debian. Remaining changes: + - Use busybox-initramfs for Depends. + - Mount /dev with the default tmpfs size rather than sourcing udev.conf. + - Set takeover=1 in update-initramfs. + - Allow the mounting of a root filesystem as a loop device on top of a + host filesystem, used for Wubi installs. + - Add vfat support to the initramfs. + - Add 2>&1 to the run-init line. + - Add mountroot failure support, to allow meaningful messages when no + root device can be found. + - Panic if either the root device doesn't exist, or blkid cannot + identify it. Allows for mountroot failure hooks for md devices to be + displayed. + - Ignore blacklist for forced vga= usage. + - Loop for 5 seconds waiting for $suspend to show up, adjustable with + the resumedelay= command-line arg. + - Allow for alternative PREREQS to be specified using | as the + separator. + - Support loading compcache from the initramfs. + - Remove klibc utilities if busybox is in use. + - Revert "framebuffer: Let udev create fb devices." udev isn't started + at this point and therefore can't create framebuffer devices. + - Create /dev/mem and /dev/zero if video=uvesafb. + - Add hid_* modules, since some keyboards will not be usable at the + initramfs/busybox prompt without them. + - Replace all instances of vol_id with blkid, and depend on util-linux. + - Use gzip from busybox instead of klibc. Depend on busybox-initramfs + (>= 1:1.13.3-1ubuntu5) to ensure that we have it. + - Remove bnx2 from the initramfs; it needs firmware, and at this stage + we only support network modules that don't need firmware loading. + - Don't display "Loading, please wait..." message when 'quiet' is in + /proc/cmdline. + - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set + to something other than "n", the script will not be included. + - 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. + - Silence /bin/resume output when trying to resume. + - Depend on a sufficient version of udev to load fbcon. + - Conflict with older versions of usplash. + - Don't load keymaps unless we're loading a framebuffer; but set the + keymap before giving a root shell. + - 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. Use it while mounting + local root filesystems and while resuming. + - Add hwaddr= alias for BOOTIF= for compatibility. + - Allow specifying multiple break points using a comma delimiter. + - Automatically blacklist vga16fb when vga= or video= specified on + kernel command-line. + - Call 'plymouth message' before resuming, to notify the user of the + reason for the delay if the plymouth theme supports it. + - 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. + - Drop hooks/keymap and associated code; console-setup takes care of + this in Ubuntu. + + -- Colin Watson Wed, 18 Aug 2010 13:05:53 +0100 + initramfs-tools (0.98) unstable; urgency=low [ Michael Prokop ] @@ -362,6 +847,81 @@ -- Michael Prokop Sat, 07 Aug 2010 09:41:39 -0400 +initramfs-tools (0.97.2ubuntu2) maverick; urgency=low + + * drop check for flash-kernel entry in kernel-img.conf, debian dropped + kernel-img.conf usage for flash-kernel and this code snippet prevents + flash-kernel from being run. + + -- Oliver Grawert Tue, 09 Aug 2010 17:48:01 +0200 + +initramfs-tools (0.97.2ubuntu1) maverick; urgency=low + + * Resynchronise with Debian: + - Fix initramfs generation without COMPRESS set (LP: #602523, #602621). + Remaining changes: + - Use busybox-initramfs for Depends. + - Mount /dev with the default tmpfs size rather than sourcing udev.conf. + - Set takeover=1 in update-initramfs. + - Allow the mounting of a root filesystem as a loop device on top of a + host filesystem, used for Wubi installs. + - Add vfat support to the initramfs. + - Add 2>&1 to the run-init line. + - Add mountroot failure support, to allow meaningful messages when no + root device can be found. + - Panic if either the root device doesn't exist, or blkid cannot + identify it. Allows for mountroot failure hooks for md devices to be + displayed. + - Ignore blacklist for forced vga= usage. + - Loop for 5 seconds waiting for $suspend to show up, adjustable with + the resumedelay= command-line arg. + - Allow for alternative PREREQS to be specified using | as the + separator. + - Support loading compcache from the initramfs. + - Remove klibc utilities if busybox is in use. + - Revert "framebuffer: Let udev create fb devices." udev isn't started + at this point and therefore can't create framebuffer devices. + - Create /dev/mem and /dev/zero if video=uvesafb. + - Add hid_* modules, since some keyboards will not be usable at the + initramfs/busybox prompt without them. + - Replace all instances of vol_id with blkid, and depend on util-linux. + - Use gzip from busybox instead of klibc. Depend on busybox-initramfs + (>= 1:1.13.3-1ubuntu5) to ensure that we have it. + - Remove bnx2 from the initramfs; it needs firmware, and at this stage + we only support network modules that don't need firmware loading. + - update-initramfs: check whether kernel-img.conf exists and + postinst_hook is set before calling flash-kernel. + - Don't display "Loading, please wait..." message when 'quiet' is in + /proc/cmdline. + - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set + to something other than "n", the script will not be included. + - 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. + - Silence /bin/resume output when trying to resume. + - Depend on a sufficient version of udev to load fbcon. + - Conflict with older versions of usplash. + - Don't load keymaps unless we're loading a framebuffer; but set the + keymap before giving a root shell. + - 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. Use it while mounting + local root filesystems and while resuming. + - Add hwaddr= alias for BOOTIF= for compatibility. + - Allow specifying multiple break points using a comma delimiter. + - Automatically blacklist vga16fb when vga= or video= specified on + kernel command-line. + - Call 'plymouth message' before resuming, to notify the user of the + reason for the delay if the plymouth theme supports it. + - 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. + - Drop hooks/keymap and associated code; console-setup takes care of + this in Ubuntu. + + -- Colin Watson Wed, 07 Jul 2010 13:35:54 +0100 + initramfs-tools (0.97.2) unstable; urgency=high * [ce732c3] initramfs-tools: output name of script that errexits. @@ -376,6 +936,74 @@ -- maximilian attems Mon, 05 Jul 2010 21:50:47 +0200 +initramfs-tools (0.97ubuntu1) maverick; urgency=low + + * Resynchronise with Debian. Remaining changes: + - Use busybox-initramfs for Depends. + - Mount /dev with the default tmpfs size rather than sourcing udev.conf. + - Set takeover=1 in update-initramfs. + - Allow the mounting of a root filesystem as a loop device on top of a + host filesystem, used for Wubi installs. + - Add vfat support to the initramfs. + - Add 2>&1 to the run-init line. + - Add mountroot failure support, to allow meaningful messages when no + root device can be found. + - Panic if either the root device doesn't exist, or blkid cannot + identify it. Allows for mountroot failure hooks for md devices to be + displayed. + - Ignore blacklist for forced vga= usage. + - Loop for 5 seconds waiting for $suspend to show up, adjustable with + the resumedelay= command-line arg. + - Allow for alternative PREREQS to be specified using | as the + separator. + - Support loading compcache from the initramfs. + - Remove klibc utilities if busybox is in use. + - Revert "framebuffer: Let udev create fb devices." udev isn't started + at this point and therefore can't create framebuffer devices. + - Create /dev/mem and /dev/zero if video=uvesafb. + - Add hid_* modules, since some keyboards will not be usable at the + initramfs/busybox prompt without them. + - Replace all instances of vol_id with blkid, and depend on util-linux. + - Use gzip from busybox instead of klibc. Depend on busybox-initramfs + (>= 1:1.13.3-1ubuntu5) to ensure that we have it. + - Remove bnx2 from the initramfs; it needs firmware, and at this stage + we only support network modules that don't need firmware loading. + - update-initramfs: check whether kernel-img.conf exists and + postinst_hook is set before calling flash-kernel. + - Don't display "Loading, please wait..." message when 'quiet' is in + /proc/cmdline. + - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set + to something other than "n", the script will not be included. + - 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. + - Silence /bin/resume output when trying to resume. + - Depend on a sufficient version of udev to load fbcon. + - Conflict with older versions of usplash. + - Don't load keymaps unless we're loading a framebuffer; but set the + keymap before giving a root shell. + - 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. Use it while mounting + local root filesystems and while resuming. + - Add hwaddr= alias for BOOTIF= for compatibility. + - Allow specifying multiple break points using a comma delimiter. + - Automatically blacklist vga16fb when vga= or video= specified on + kernel command-line. + - Call 'plymouth message' before resuming, to notify the user of the + reason for the delay if the plymouth theme supports it. + - 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. + - Drop hooks/keymap and associated code; console-setup takes care of + this in Ubuntu. + * Add .conf extension to modprobe blacklist configuration file in the + vga=*|video=* case (it had already been added in other cases, thanks to + an upstream merge). + + -- Colin Watson Tue, 06 Jul 2010 14:04:26 +0100 + initramfs-tools (0.97) unstable; urgency=low [ Martin Michlmayr ] @@ -441,6 +1069,108 @@ -- Michael Prokop Fri, 18 Jun 2010 12:28:04 +0200 +initramfs-tools (0.96.1ubuntu4) maverick; urgency=low + + * Only make the extra commands conditional on dh_listpackages, not the + override_dh_install target as a whole, as dh gets confused and avoids + calling dh_install at all when we're only building binary-arch. + + -- Steve Langasek Wed, 16 Jun 2010 20:35:31 +0000 + +initramfs-tools (0.96.1ubuntu3) maverick; urgency=low + + * Revert change from 0.96.1ubuntu2; instead, only override dh_install if + we're building the architecture-independent package. + + -- Colin Watson Wed, 16 Jun 2010 16:13:07 +0100 + +initramfs-tools (0.96.1ubuntu2) maverick; urgency=low + + * Make sure /usr/share/initramfs-tools/scripts/panic/ exists before trying + to copy into it. + + -- Colin Watson Wed, 16 Jun 2010 15:15:17 +0100 + +initramfs-tools (0.96.1ubuntu1) maverick; urgency=low + + * Resynchronise with Debian: + - Fixes redboot partition handling (LP: #319730). + - Don't hardcode incorrect elilo path (LP: #396000). + Remaining changes: + - Use busybox-initramfs for Depends, and set BUSYBOXDIR to match. + - Mount /dev with the default tmpfs size rather than sourcing udev.conf. + - Set takeover=1 in update-initramfs. + - Allow the mounting of a root filesystem as a loop device on top of a + host filesystem, used for Wubi installs. + - Add vfat support to the initramfs. + - Reduce timeout to 30 seconds; corner cases (giant disk arrays, + clusters) will need to provide their own rootdelay= boot arg. + - Add 2>&1 to the run-init line. + - Add mountroot failure support, to allow meaningful messages when no + root device can be found. + - Panic if either the root device doesn't exist, or blkid cannot + identify it. Allows for mountroot failure hooks for md devices to be + displayed. + - Ignore blacklist for forced vga= usage. + - Loop for 5 seconds waiting for $suspend to show up, adjustable with + the resumedelay= command-line arg. + - Allow for alternative PREREQS to be specified using | as the + separator. + - Support loading compcache from the initramfs. + - Remove klibc utilities if busybox is in use. + - Change to tty1 on failure. + - Revert "framebuffer: Let udev create fb devices." udev isn't started + at this point and therefore can't create framebuffer devices. + - Create /dev/mem and /dev/zero if video=uvesafb. + - Add hid_* modules, since some keyboards will not be usable at the + initramfs/busybox prompt without them. + - Replace all instances of vol_id with blkid, and depend on util-linux. + - Use gzip from busybox instead of klibc. Depend on busybox-initramfs + (>= 1:1.13.3-1ubuntu5) to ensure that we have it. + - Remove bnx2 from the initramfs; it needs firmware, and at this stage + we only support network modules that don't need firmware loading. + - update-initramfs: check whether kernel-img.conf exists and + postinst_hook is set before calling flash-kernel. + - Don't display "Loading, please wait..." message when 'quiet' is in + /proc/cmdline. + - Allow scripts and hooks to specify OPTION=VAR, and unless VAR is set + to something other than "n", the script will not be included. + - 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. + - Silence /bin/resume output when trying to resume. + - Depend on a sufficient version of udev to load fbcon. + - Conflict with older versions of usplash. + - Don't load keymaps unless we're loading a framebuffer; but set the + keymap before giving a root shell. + - 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. Use it while mounting + local root filesystems and while resuming. + - Add hwaddr= alias for BOOTIF= for compatibility. + - Allow specifying multiple break points using a comma delimiter. + - Automatically blacklist vga16fb when vga= or video= specified on + kernel command-line. + - Call 'plymouth message' before resuming, to notify the user of the + reason for the delay if the plymouth theme supports it. + - Change to ${DESTDIR} before running find to filter out looping or + broken symlinks, to avoid tickling a find bug. + - 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. + * Drop artificial dependency on libc 2.11, which worked around a libapt + bug on upgrade to lucid. + * Drop lpia support. + * Drop hooks/keymap and associated code again; console-setup takes care of + this in Ubuntu. + * Make /usr/share/initramfs-tools/scripts/panic/keymap executable. + * Make hooks/busybox declare hooks/klibc as a prerequisite, so that the + former can remove symlinks installed by the latter. + * Make the dependency on initramfs-tools-bin binNMU-safe. + + -- Colin Watson Wed, 16 Jun 2010 14:44:15 +0100 + initramfs-tools (0.96.1) unstable; urgency=low * hook-functions: Make sure copy_exec hook function does not @@ -1005,6 +1735,791 @@ -- maximilian attems Sat, 05 Jul 2008 00:31:06 +0200 +initramfs-tools (0.92bubuntu78) lucid; urgency=low + + * hooks/compcache: Escape $-expansions inside < Mon, 26 Apr 2010 16:15:57 +0100 + +initramfs-tools (0.92bubuntu77) lucid; urgency=low + + * 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. + Thanks to Dave Martin for the patch. LP: #563618. + + -- Steve Langasek Fri, 23 Apr 2010 14:55:24 -0700 + +initramfs-tools (0.92bubuntu76) lucid; urgency=low + + * hooks/compcache: add option to disable usage of compcache completely on + the kernel cmdline using the nocompcache option + + -- Oliver Grawert Thu, 22 Apr 2010 14:53:05 +0200 + +initramfs-tools (0.92bubuntu75) lucid; urgency=low + + * When specifying a network interface by MAC address, set DEVICE to (e.g.) + eth0 rather than /sys/class/net/eth0 (LP: #546964). + + -- Colin Watson Wed, 21 Apr 2010 12:40:42 +0100 + +initramfs-tools (0.92bubuntu74) lucid; urgency=low + + * debian/control, debian/rules: + - force libc6 dependency to >= 2.11 (and libc6.1 on ia64, the libc6 + has a different packages name on this architecture) to workaround a + bug in libapt when it orders the install for essential packages + (LP: #559582) + This can be removed after lucid + + -- Michael Vogt Fri, 16 Apr 2010 13:13:50 +0200 + +initramfs-tools (0.92bubuntu73) lucid; urgency=low + + * Change to ${DESTDIR} before running find to filter out looping or broken + symlinks, to avoid tickling a find bug. + + -- Colin Watson Wed, 14 Apr 2010 23:33:22 +0100 + +initramfs-tools (0.92bubuntu72) lucid; urgency=low + + * make sure we can use mmc cards for / and add a proper sysfs handler, + (mmc always uses numbering in the device name like mmcblk[0-9]p[0-n], make + sure hook-functions only cuts off the partition but not the device number) + + -- Oliver Grawert Wed, 14 Apr 2010 11:40:30 +0200 + +initramfs-tools (0.92bubuntu71) lucid; urgency=low + + * init: + - mount /dev/pts as well as /dev so we can redirect the console early. + - load the netconsole module when netconsole=* placed on the kernel + command-line. + + -- Scott James Remnant Fri, 26 Mar 2010 14:45:26 +0000 + +initramfs-tools (0.92bubuntu70) lucid; urgency=low + + * Filter out looping or broken symlinks from the initramfs, since they + cause cpio to explode (LP: #540686). + + -- Colin Watson Fri, 26 Mar 2010 13:08:05 +0000 + +initramfs-tools (0.92bubuntu69) lucid; urgency=low + + * scripts/init-top/blacklist: move vga16fb blacklisting before the + bail-out logic. + * scripts/init-top/framebuffer: create "fbmode" argument to force allow + foring a mode via fb /sys interfaces, for framebuffers that do not + correctly handle setting mode via module options. + + -- Kees Cook Sat, 20 Mar 2010 13:12:25 -0700 + +initramfs-tools (0.92bubuntu68) lucid; urgency=low + + * Backport from Debian: + - hook-functions: Cope with partitions over 9 (LP: #539577). + + -- Colin Watson Fri, 19 Mar 2010 18:57:43 +0000 + +initramfs-tools (0.92bubuntu67) lucid; urgency=low + + * debian/control: + - make the Breaks: upslash (<< 0.5.50) a Conflicts to help the + apt resolver on hardy to lucid upgrades + + -- Michael Vogt Fri, 05 Mar 2010 13:25:29 +0100 + +initramfs-tools (0.92bubuntu66) lucid; urgency=low + + * scripts/local-premount/resume: wait-for-root will handle both UUID= and + /dev/disk/by-uuid, but /bin/resume from klibc will only handle the latter, + so revert the changes from 0.92bubuntu59 that dropped our fix-up of + device name. LP: #499940. + * scripts/local-premount/resume: also recognize 'swsuspend' as a valid fs + type for a hibernation partition, since this is what udev returns for the + in-kernel hibernate/resume handling. Thanks to Peter Clifton for noticing + this! + * scripts/local-premount/resume: call 'plymouth message' before resuming, + to notify the user of the reason for the delay if the plymouth theme + supports it. + + -- Steve Langasek Mon, 22 Feb 2010 00:20:22 -0800 + +initramfs-tools (0.92bubuntu65) lucid; urgency=low + + * scripts/init-premount/blacklist: Move to init-top so it has a chance + of running before udev. + * scripts/init-top/blacklist: Automatically blacklist vga16fb when vga= + or video= specified on kernel command-line. + + -- Scott James Remnant Wed, 17 Feb 2010 12:35:22 +0000 + +initramfs-tools (0.92bubuntu64) lucid; urgency=low + + * Allow specifying multiple break points using a comma delimiter. + + -- Evan Dandrea Wed, 10 Feb 2010 11:18:26 +0000 + +initramfs-tools (0.92bubuntu63) lucid; urgency=low + + * init, scripts/functions: Add support for specifying a network interface + by MAC address, using hwaddr= on the command line or HWADDR in an + initramfs configuration file (LP: #473036). + + -- Colin Watson Fri, 05 Feb 2010 11:49:34 -0800 + +initramfs-tools (0.92bubuntu62) lucid; urgency=low + + * src/wait-for-root.c: + - device records we obtain from udev may not have a device node name + yet, check to avoid strcmp between NULL and our path. LP: #499422. + - device records from the queue may not exist at all, check to avoid + calling udev_device_unref on NULL (which should be safe anyway). + - eliminate a race condition; by checking the filesystem before the + queue, there was a small chance that udev could finish processing + between our calls + + -- Scott James Remnant Tue, 22 Dec 2009 19:30:01 +0000 + +initramfs-tools (0.92bubuntu61) lucid; urgency=low + + * init: Mount devtmpfs on /dev, falling back to a tmpfs if not supported + by the kernel. + + * src/wait-for-root.c: accept the timeout on the command-line too rather + than using an environment variable. + * scripts/local: Pass $ROOTDELAY or 30 + * scripts/local-premount/resume: pass $RESUMEDELAY or 5 + + -- Scott James Remnant Mon, 21 Dec 2009 23:06:53 +0000 + +initramfs-tools (0.92bubuntu60) lucid; urgency=low + + * src/wait-for-root.c: + - Fix a bug where we checked queue entries for ID_FS_TYPE too; would + mean we thought a device directly named (e.g. /dev/md0) wasn't + in the queue when it was, and wouldn't wait for it. + - Fix another bug where we didn't clear udev_device after iterating + the queue. + - Rather than mucking around with sequence numbers in the queue, just + wait using the monitor if we identify the device as being in the + queue. + + -- Scott James Remnant Fri, 18 Dec 2009 14:47:30 +0000 + +initramfs-tools (0.92bubuntu59) lucid; urgency=low + + * src/wait-for-root.c: handle the case where we're given UUID= or LABEL= + and the device already exists (we need to stat the /dev/disk path). + * scripts/local-premount/resume: this means we can use wait-for-root for + resume handling too. + * mkinitramfs: drop the PAGE_SIZE conf, it's no longer needed since we + rely on udev finding out it's a hibernated image through blkid. + + -- Scott James Remnant Fri, 18 Dec 2009 04:34:04 +0000 + +initramfs-tools (0.92bubuntu58) lucid; urgency=low + + * 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. + - This avoids calls to udevadm settle, which make us wait for irrelevant + modules that we don't need. + - This avoids duplicate calls to blkid, which since they probe the block + device directly, are expensive + - This does not use fstype; which avoids issues with that and blkid + returning different answers (since everything else throughout the + entire system now uses blkid) + * scripts/local: Rewrite to use wait-for-root rather than looping over + our own shell attempts to do the same. + * mkinitramfs: + - include wait-for-root + - mkinitramfs: Don't quote modules.*map, so we actually expand it. + * hooks/thermal: + - don't force load fan or thermal, they're generally built-in and if not + will be loaded by udev anyway + * scripts/panic/keymap: + - auto-generated from the init-top keymap file, with the OPTION= removed, + so keymap will always be set on panic + + * Remove accidentally included test initramfs. :-) + + -- Scott James Remnant Fri, 18 Dec 2009 03:18:28 +0000 + +initramfs-tools (0.92bubuntu57) lucid; urgency=low + + * debian/initramfs-tools.dirs: + - add scripts/panic directory + + * scripts/functions: + - if tsort is available, use it instead of custom sorting code + - if a pre-cached order file is available, use that instead + - run panic scripts before giving a root shell + * mkinitramfs: + - generate a pre-cached order file for each scripts directory in the + output initramfs + - call depmod before packing the initramfs, so it contains the output + already + * init: + - drop depmod call + + -- Scott James Remnant Wed, 16 Dec 2009 17:47:49 +0000 + +initramfs-tools (0.92bubuntu56) lucid; urgency=low + + * scripts/init-top/keymap: We don't need to load keymaps unless we're + loading the framebuffer module (and thus have a splash screen). + + -- Scott James Remnant Tue, 15 Dec 2009 14:57:29 +0000 + +initramfs-tools (0.92bubuntu55) lucid; urgency=low + + * hooks/framebuffer: Change the inclusion option from USPLASH to + FRAMEBUFFER, in hindsight that option name wasn't very forward-thinking + of me. + * scripts/init-top/framebuffer: + - Make conditional on new option name. + - As well as waiting for fb0 to show up, we also should wait for fbcon + and dri/card0 to show up as well, since we'll almost certainly want + a console and direct rendering. + + -- Scott James Remnant Mon, 30 Nov 2009 23:45:44 +0000 + +initramfs-tools (0.92bubuntu54) lucid; urgency=low + + * hook-functions: check both /lib/firmware/$(uname -r) and /lib/firmware + for the firmware that we wish to copy; in any cases where we want to + suppress a firmware-using module from the initramfs, we should do that + explicitly and not by accidentally failing to include the firmware. + LP: #328550. + * hook-functions: cherry pick fix from Debian upstream version to not warn + about missing firmware for modules whose names are merely /like/ those of + modules listed in /proc/modules. + + -- Steve Langasek Thu, 19 Nov 2009 00:47:55 -0600 + +initramfs-tools (0.92bubuntu53) karmic; urgency=low + + * Explicitly check for fb0 so we don't false-positive on the graphics + subsystem having been initialised (should cure some issues with usplash + using svgalib instead of KMS, and vanishing part way through). + * Don't force load the vesafb driver, we never did this before, so it + seems silly to do it now. + + -- Scott James Remnant Wed, 14 Oct 2009 04:41:37 +0100 + +initramfs-tools (0.92bubuntu52) karmic; urgency=low + + * Include all usb/storage drivers, not just usb-storage.ko LP: #419231 + + -- Scott James Remnant Fri, 09 Oct 2009 15:34:43 +0100 + +initramfs-tools (0.92bubuntu51) karmic; urgency=low + + * scripts/init-top/framebuffer: wait for udev to settle before loading + command-line specified framebuffer driver to ensure that any needed + device nodes are available. LP: #437871. + + -- Scott James Remnant Sat, 03 Oct 2009 07:55:35 +0100 + +initramfs-tools (0.92bubuntu50) karmic; urgency=low + + LP: #392039, #431812. + * hooks/framebuffer: + - rename from hooks/kernelextras, this is much more descriptive and + actually matches the associated script + - copy kernel-mode-setting drivers (drivers/gpu) into the initramfs + - include the vesafb driver, which we previously relied on being in + the special initrd directory + - don't force load fbcon + - don't force load things from the initrd directory + * scripts/init-top/framebuffer: + - add udev as a pre-requisite + - remove mknods since udev will make those now + - remove intel_agp and i915 code + - don't unset MODPROBE_OPTIONS, just override for the modprobe call + (since we want video= to override the blacklist) + - if we didn't pick up a framebuffer from vga= or video=, and don't + have one from udev, wait for udev to finish then if we still don't + have one, load vesafb + - settle after loading drivers to ensure the device is ready + * debian/control: + - increase dependency on udev to that which loads fbcon + - add breaks on older usplash to force upgrade + + -- Scott James Remnant Wed, 23 Sep 2009 14:25:00 -0700 + +initramfs-tools (0.92bubuntu49) karmic; urgency=low + + * Re-add the OPTION=VAR checking to scripts/functions, since we actually do + need this when calling the hooks at initramfs generation; but add a second + argument to call_scripts, "optional", that we check for before doing these + checks since we definitely don't want this to be conditional in the + initramfs at runtime. + + -- Steve Langasek Tue, 22 Sep 2009 09:44:00 -0700 + +initramfs-tools (0.92bubuntu48) karmic; urgency=low + + * Don't do OPTION=VAR checking at runtime, only do it when assembling the + initramfs; this spares us having to add extra config files to the + initramfs to enable functionality that's already been selected. + LP: #433773. + + -- Steve Langasek Tue, 22 Sep 2009 00:17:13 -0700 + +initramfs-tools (0.92bubuntu47) karmic; urgency=low + + * Silence output when trying to resume, since the only output is bitching + that we can't resume because we didn't hibernate in the first place. + LP: #432585. + + -- Scott James Remnant Mon, 21 Sep 2009 16:07:10 -0700 + +initramfs-tools (0.92bubuntu46) karmic; urgency=low + + FFE LP: #427356. + + * mkinitramfs: Allow scripts to specify OPTION=VAR, and unless VAR is + set to something other than "n", the script will not be included. + * scripts/functions: Likewise when running scripts (for hooks) + + * Make usplash-related components optional, you need to set USPLASH=y + for these to be included: + - hooks/kernelextras: which includes the KMS driver + - scripts/init-top/framebuffer: which loads it + + -- Scott James Remnant Tue, 15 Sep 2009 03:30:12 +0100 + +initramfs-tools (0.92bubuntu45) karmic; urgency=low + + * Depend on busybox-initramfs (>= 1:1.13.3-1ubuntu5) to ensure that we + have gzip (LP: #428282). + + -- Colin Watson Mon, 14 Sep 2009 10:23:40 +0100 + +initramfs-tools (0.92bubuntu44) karmic; urgency=low + + * Revert mxcfb changes of 0.92bubuntu40 and 0.92bubuntu41 as a more complete + workaround was put in usplash. + + -- Loïc Minier Fri, 11 Sep 2009 21:46:45 +0200 + +initramfs-tools (0.92bubuntu43) karmic; urgency=low + + * Move "Loading, please wait..." message to after /proc is mounted, so + that we can inspect /proc/cmdline. + + -- Colin Watson Fri, 04 Sep 2009 14:23:05 +0100 + +initramfs-tools (0.92bubuntu42) karmic; urgency=low + + * Don't display "Loading, please wait..." message when 'quiet' is in + /proc/cmdline. + + -- Colin Watson Thu, 03 Sep 2009 23:31:28 +0100 + +initramfs-tools (0.92bubuntu41) karmic; urgency=low + + * fix quoting for mxcfb in scripts/init-top/framebuffer + + -- Oliver Grawert Sun, 30 Aug 2009 10:28:06 +0200 + +initramfs-tools (0.92bubuntu40) karmic; urgency=low + + * add a hack to scripts/init-top/framebuffer for handling the yet broken + mxcfb as described in LP bug #420555, so usplash can be used on the + imx51 architecture based devices + + -- Oliver Grawert Sat, 29 Aug 2009 11:37:27 +0200 + +initramfs-tools (0.92bubuntu39) karmic; urgency=low + + * auto_add_modules net: Load virtio_net, to make testing in kvm easier. + * init: Export IPOPTS (LP: #364626). + + -- Colin Watson Tue, 11 Aug 2009 12:37:56 +0100 + +initramfs-tools (0.92bubuntu38) karmic; urgency=low + + * change --print-installation-architecture to --print-architecture in + mkinitramfs and hook-functions to quieten down dpkg warning during + update-initramfs + + -- Oliver Grawert Tue, 07 Jul 2009 21:33:50 +0200 + +initramfs-tools (0.92bubuntu37) karmic; urgency=low + + * update-initramfs: Fix run_bootloader() to check for grub2 + patch from debian bug #511514 + + -- Oliver Grawert Tue, 07 Jul 2009 19:56:58 +0200 + +initramfs-tools (0.92bubuntu36) karmic; urgency=low + + * add missing colon in the regex and a filename for the grep from the next + upload ... d'oh + + -- Oliver Grawert Tue, 07 Jul 2009 19:28:16 +0200 + +initramfs-tools (0.92bubuntu35) karmic; urgency=low + + * update-initramfs: check whether kernel-img.conf exists and postinst_hook + is set before calling flash-kernel. (patch from Loic Minier to work + around shortcomings described in launchpad bug 365053 (not the desired + solution yet which needs to happen in debian but we need it for + livecd-rootfs to work on armel)) + + -- Oliver Grawert Tue, 07 Jul 2009 16:49:10 +0200 + +initramfs-tools (0.92bubuntu34) karmic; urgency=low + + * Remove bnx2 from the initramfs; it needs firmware, and at this stage we + only support network modules that don't need firmware loading (LP: + #394783). + + -- Colin Watson Tue, 07 Jul 2009 11:45:58 +0100 + +initramfs-tools (0.92bubuntu33) karmic; urgency=low + + * Cope with new compcache module naming. + + -- Colin Watson Mon, 06 Jul 2009 14:12:07 +0100 + +initramfs-tools (0.92bubuntu32) karmic; urgency=low + + * Copy in KMS drivers (currently just i915 and the AGP drivers) if we can, + so that we can load them before starting usplash. NOTE that this whole + edifice is not intended to be used by default on most systems for + Karmic, and that the general intent is to make the initramfs smaller + rather than larger; however, we're still going to need usplash in the + initramfs for some use cases (e.g. dm-crypt), so we might as well get + this working now. + * Fix formatting error in initramfs-tools(8). + * 'set -e' in initramfs-tools.postrm. + * Fix handling of resume_offset: if it's set then we need to check in a + different location for the swap signature. + * Remove kinit and gzip from the initramfs. The first record I can find of + this Ubuntu change is in a merge from Debian, and I can't see any + justification for it since neither binary is actually used by any + initramfs scripts. + * Remove klibc utilities if busybox is in use (patch based on Debian + #338405; LP: #327106). Leave a symlink for /bin/sleep since some scripts + expect that to exist. + + -- Colin Watson Tue, 23 Jun 2009 14:19:02 +0100 + +initramfs-tools (0.92bubuntu31) karmic; urgency=low + + * Set the permissions on the initramfs root to 755, as otherwise + unionfs-fuse (which may be used via casper) can't service requests made + by non-root users. + + -- Colin Watson Thu, 04 Jun 2009 02:58:57 +0100 + +initramfs-tools (0.92bubuntu30) karmic; urgency=low + + * Replace all instances of vol_id with blkid, and depend on util-linux + + -- Scott James Remnant Thu, 07 May 2009 12:52:20 +0100 + +initramfs-tools (0.92bubuntu29) jaunty; urgency=low + + * copy_exec: also avoid picking sse2, neon, and vfp hwcaps versions of libs. + * Move debhelper and cdbs from -Indep to Build-Depends for clean:. + + -- Loic Minier Tue, 14 Apr 2009 11:11:52 +0200 + +initramfs-tools (0.92bubuntu28) jaunty; urgency=low + + * update-initramfs: copy the logic added in Debian to run flash-kernel after + the initrd has been generated (if the system is supported by + flash-kernel); flash-kernel is run twice, but at least the system really + runs the latest initrd; LP: #358762. + + -- Loic Minier Sat, 11 Apr 2009 00:07:04 +0200 + +initramfs-tools (0.92bubuntu27) jaunty; urgency=low + + * Backport from Debian (LP: #347685): + - init: Fix boot with LABEL containing one or several '/'. Thanks to + Andres Salomon for testing. (closes: #489008) + - scripts/local-premount/resume: Fix resume with LABEL containing '/'. + + -- Colin Watson Fri, 03 Apr 2009 02:04:34 +0100 + +initramfs-tools (0.92bubuntu26) jaunty; urgency=low + + * hooks/thermal: Do not load thermal control for macintosh if the device is a PS3. (LP: #346899) + + -- Arnaud Jeansen Thu, 26 Mar 2009 00:41:46 +0100 + +initramfs-tools (0.92bubuntu25) jaunty; urgency=low + + * mkinitramfs: include the modules.order file. LP: #296710. + + -- Scott James Remnant Fri, 13 Mar 2009 16:11:49 +0000 + +initramfs-tools (0.92bubuntu24) jaunty; urgency=low + + * update-initramfs: + - when doing set_linked_version, check if the links point + to a existing initrd.img + + -- Michael Vogt Wed, 11 Mar 2009 10:25:42 +0100 + +initramfs-tools (0.92bubuntu23) jaunty; urgency=low + + * Forgot the top-level MODPROBE_OPTIONS set. + + -- Scott James Remnant Mon, 09 Mar 2009 22:06:46 +0000 + +initramfs-tools (0.92bubuntu22) jaunty; urgency=low + + * Replace calls to modprobe -Q with -q. LP: #340128. + + -- Scott James Remnant Mon, 09 Mar 2009 21:38:45 +0000 + +initramfs-tools (0.92bubuntu21) jaunty; urgency=low + + * mkinitramfs: catch errors in find/cpio/gzip pipe (debian bug 514938): + - git 63cc7b9216d69f413cd5414c96cf2c9a403e03ae + - git 93654c9230d3817fa57069012a0b06ccb1df09e4 + + -- Kees Cook Sun, 15 Feb 2009 09:48:50 -0800 + +initramfs-tools (0.92bubuntu20) jaunty; urgency=low + + * scripts/local-premount/resume: wait for usplash drawing routines + to finish by flushing usplash command buffer before starting resume. + + -- Kees Cook Sun, 08 Feb 2009 07:34:40 -0800 + +initramfs-tools (0.92bubuntu19) jaunty; urgency=low + + * hook-functions: Add hid_* modules, since some keyboards will not be + usable at the initramfs/busybox prompt without them. + + -- Luke Yelavich Thu, 29 Jan 2009 07:00:07 +1100 + +initramfs-tools (0.92bubuntu18) jaunty; urgency=low + + * Add ext4 to the initramfs, in case it stops being built into the kernel. + + -- Colin Watson Thu, 08 Jan 2009 13:29:51 +0000 + +initramfs-tools (0.92bubuntu17) jaunty; urgency=low + + [ Mikael Gerdin ] + * Create /dev/mem and /dev/zero if video=uvesafb (LP: #285970). + + [ Colin Watson ] + * Make debug option write debug output to /dev/.initramfs/initramfs.debug + rather than /tmp/initramfs.debug, so that it can be retrieved after + boot. + + -- Colin Watson Wed, 26 Nov 2008 17:22:18 +0000 + +initramfs-tools (0.92bubuntu16) intrepid-proposed; urgency=low + + * Added atl1e to the list of NICs built into the initramfs. + -LP: #292411 + + -- Tim Gardner Fri, 14 Nov 2008 11:40:29 -0700 + +initramfs-tools (0.92bubuntu15) intrepid; urgency=low + + [ Dan Munckton ] + * Revert "framebuffer: Let udev create fb devices." udev isn't started at + this point and therefore can't create framebuffer devices. This causes + usplash not to run on PS3 (LP: #274860). + + -- Colin Watson Wed, 01 Oct 2008 16:02:37 +0100 + +initramfs-tools (0.92bubuntu14) intrepid; urgency=low + + * scripts/functions: Call ipconfig with a one-minute timeout rather than + waiting forever (LP: #182940). + + -- Colin Watson Wed, 01 Oct 2008 14:51:59 +0100 + +initramfs-tools (0.92bubuntu13) intrepid; urgency=low + + * scripts/local-premount/resume: Fix incorrect resume message by checking + for swsusp signature before assuming there's a resume about to happen + + -- Matt Zimmerman Tue, 16 Sep 2008 11:49:55 +0100 + +initramfs-tools (0.92bubuntu12) intrepid; urgency=low + + * scripts/functions: must chvt(1) during failure hooks, as console input + might be required (eg, boot degraded raid) (LP: #268873). + + -- Dustin Kirkland Thu, 11 Sep 2008 16:49:17 -0400 + +initramfs-tools (0.92bubuntu11) intrepid; urgency=low + + * scripts/local-premount/resume: Display a message indicating that a resume + has begun. This is non-localized text, but is better than nothing until + we can display a graphical indicator. (LP: #41137) + + -- Matt Zimmerman Thu, 11 Sep 2008 09:26:31 +0100 + +initramfs-tools (0.92bubuntu10) intrepid; urgency=low + + * drop silly COMPCACHE_PREREQ and SKIP_COMPCACHE hacks, instead we + export BOOT from init and deacivate compcache on the fly if booting + in casper if we have more than 512M actual ram available. + + -- Oliver Grawert Thu, 14 Aug 2008 00:10:13 +0200 + +initramfs-tools (0.92bubuntu9) intrepid; urgency=low + + * Default update-initramfs.conf to not keep backups. With latest + last-good-boot, we don't need to any more. + TODO: LILO probably wants .bak's since it doesn't do last-good-boot stuff. + Should we worry about this? + + -- Ben Collins Sun, 03 Aug 2008 17:34:22 -0400 + +initramfs-tools (0.92bubuntu8) intrepid; urgency=low + + * scripts/functions: Change to tty1 in the panic function to make sure the + user can read any error messages displayed. (LP: #243226) + + -- Luke Yelavich Tue, 29 Jul 2008 16:29:16 +1000 + +initramfs-tools (0.92bubuntu7) intrepid; urgency=low + + * scripts/functions: + - add_mountroot_fail_hook(): set up symlinks to hooks in tmp directory + - try_failure_hooks(): new function that executes each fail hook in + lexographic order, exiting successfully if a hook succeeds + - panic(): remove the fail hook calling logic, now provided by + try_failure_hooks() + * scripts/local: + - get_fstype(): FSTYPE must be initialized to "unknown" in case the fstype + call does not set it + - root_missing(): new function to provide the oft-called set of checks on + the ROOT device + - mountroot(): use root_missing(), and try the failure hooks before giving + up + * Fixes required for (LP: #120375), lots of help from Kees Cook, thanks! + + -- Dustin Kirkland Fri, 25 Jul 2008 17:34:21 -0500 + +initramfs-tools (0.92bubuntu6) intrepid; urgency=low + + * Replace /bin/mount by a symlink to busybox if busybox is available; + klibc mount doesn't support displaying mount points. + + -- Colin Watson Wed, 16 Jul 2008 11:10:05 +0100 + +initramfs-tools (0.92bubuntu5) intrepid; urgency=low + + * Remove klibc chroot when using busybox, as the former is just wrong + (chroot(); execve() rather than chroot(); chdir(); execvp()). + + -- Colin Watson Fri, 11 Jul 2008 12:21:21 +0100 + +initramfs-tools (0.92bubuntu4) intrepid; urgency=low + + * Add COMPCACHE_PREREQ varable (needs to be exported before running + update-initramfs) to the compcache hook script, so that PREREQ can be + filled by apps like casper. with that we are for example able to + disable compcache dynamically if a certain amount of physical ram is + present. + * Add SKIP_COMPCACHE variable to init-top script (to be read from + /tmp/compcache.opts which should be filled by a PREREQ script defined in + COMPCACHE_PREREQ) to make it possible to let the script silently die + + -- Oliver Grawert Wed, 09 Jul 2008 16:17:39 +0000 + +initramfs-tools (0.92bubuntu3) intrepid; urgency=low + + * Support loading compcache from the initramfs. + - conf/initramfs.conf: Add and document the COMPCACHE_SIZE setting. + - initramfs.conf.5: Document the COMPCACHE_SIZE setting. + - hooks/compcache: Install the compcache module and a script to initialize + the cache if COMPCACHE_SIZE contains a value. + - mkinitramfs: export COMPCACHE_SIZE for the hook. + + -- Johan Kiviniemi Wed, 09 Jul 2008 03:10:21 +0300 + +initramfs-tools (0.92bubuntu2) intrepid; urgency=low + + * Whilst looping for the root filesystem, don't just rely on the existance + of the block device and whether vol_id succeeds on it, but also make + sure that udev is not currently active by calling "settle" on it. This + solves a race where mdadm or devmapper still has a lock on the device, + but the contents are ready which will cause the mount call later to fail. + + -- Scott James Remnant Wed, 02 Jul 2008 16:44:53 +0100 + +initramfs-tools (0.92bubuntu1) intrepid; urgency=low + + * Merge from debian unstable, remaining changes: + - Change Build-Depends to Build-Depends-Indep. + - Use busybox-initramfs for Depends. + - Do not source udev.conf. + - Set BUSBOXDIR properly. + - Keep kinit and gzip in initrd. + - Use -Qb for for module loading to honor blacklists via the use of + MODPROBE_OPTIONS. + - all_generic_ide script. + - Remove lvm local-top script (conflicts with lvm-common). + - takeover=1 in update-initramfs. + - Allow the mounting of a root filesystem as a loop device on top + of a host filesystem, used for wubi installs. + - Add vfat support to the initramfs. + - Reduce timeout to 30 seconds -- corner cases (giant + disk arrays, clusters) will need to provide their own rootdelay= + boot arg. + - Keep more meaningful text for no root device panic. + - Provide a clearer error on mount failure of the Windows host + filesystem. + - Add 2>&1 to the run-init line. + - Source /scripts/functions in resume script. + - resume UUID upgrade. + - Add mountroot failure support, to allow meaningful messages when + no root device can be found. + - Panic if either the root device doesn't exist, or vol_id cannot + identify it. Allows for mountroot failure hooks for md devices + to be displayed. + - Ignore blacklist for forced vga= usage. + - Loop for 5 seconds waiting for $suspend to show up, adjustable + with the resumedelay= command-line arg. + - Load virtio_pci for MODULES=most. + - Usplash pulsates until the real init takes over. + - Drop scripts/init-premount/thermal as force_load can do this + for us during initramfs creation. + - Load thermal modules on lpia. + - Allow for alternative PREREQS to be specified using | as the + separator. + - Add udf to auto_add_modules. It was originally added to + dep_add_modules, however dep_add_modules now auto-detects the + modules needed for the root filesystem. + * hook-functions: + - Refer to /lib/firmware/${version} where version is the kernel + version we are building an initramfs for. + - Do not copy /lib/udev/firmware.agent to the initramfs. Ubuntu's + udev has /lib/udev/firmware_helper instead, and the udev hook + copies this to the initramfs for us. + - Dropped the manual_add_firmware function, as initramfs-tools now + checks the firmware field in the module it is copying, and copies + the firmware required by that module if its available. + * Drop hooks/keymap and the KEYMAP variable setting in + conf/initramfs.conf as console-setup takes care of keymap loading. + * hooks/udevhelper: Drop, udev already copies what it needs. + * hooks/legacylvm: Drop, as it refers to binaries and directories our + lvm package doesn't have. + + -- Luke Yelavich Mon, 30 Jun 2008 15:54:36 +1000 + initramfs-tools (0.92b) unstable; urgency=low [ maximilian attems ] @@ -1369,6 +2884,348 @@ -- maximilian attems Wed, 7 Mar 2007 23:34:17 +0100 +initramfs-tools (0.85eubuntu41) intrepid; urgency=low + + * Backport from Debian (required for new busybox): + - init: Fix mount options invocation for klibc mount. + + -- Colin Watson Wed, 11 Jun 2008 18:20:44 +0100 + +initramfs-tools (0.85eubuntu40) intrepid; urgency=low + + * Add vfat support to the initramfs (LP: #236021). + + -- Evan Dandrea Fri, 30 May 2008 12:50:50 -0400 + +initramfs-tools (0.85eubuntu38) intrepid; urgency=low + + * scripts/local: reduce timeout to 30 seconds -- corner cases (giant + disk arrays, clusters) will need to provide their own rootdelay= + boot arg. Expanded the failure text to include a hint about the + "rootdelay" boot argument. + + -- Kees Cook Wed, 28 May 2008 13:17:16 -0700 + +initramfs-tools (0.85eubuntu37) intrepid; urgency=low + + * Provide a clearer error on mount failure of the Windows host + filesystem (LP: #226622) + + -- Agostino Russo Tue, 06 May 2008 23:55:47 +0100 + +initramfs-tools (0.85eubuntu36) hardy; urgency=low + + * Drop dependency on volumeid, it's shipped by udev again. + + -- Scott James Remnant Thu, 10 Apr 2008 14:00:46 +0100 + +initramfs-tools (0.85eubuntu35) hardy; urgency=low + + * hook-functions: Do not display find error messages if firmware directories + cannot be found. (LP: #153743) + * scripts/functions: Remove unneeded quotes. These were causing multiple + mountroot fail hook entries to be run as one command. + * scripts/local: Panic if the root device node cannot be found, or vol_id + can't identify the volume on the device. This allows mdadm's mountroot fail + hook to be reliably triggered, as the md device node exists even if the + array cannot be brought up. + * init: Add 2>&1 to the run-init line at the end of the file, to fix a long + outstanding bug where init has no stderr. + * scripts/local-premount/resume: Source /scripts/functions, thanks to + Nikolaus Filus for the patch. (LP: #203429) + + -- Luke Yelavich Thu, 10 Apr 2008 00:48:51 +1000 + +initramfs-tools (0.85eubuntu34) hardy; urgency=low + + * Wow, somehow my fix for 129910 got removed. Re-implement. DO NOT USE -Qb + for framebuffer. We need to ignore blacklist for forced vga= usage. + + -- Ben Collins Tue, 18 Mar 2008 11:46:44 -0400 + +initramfs-tools (0.85eubuntu33) hardy; urgency=low + + * Edit scripts/local with patch from + https://bugs.edge.launchpad.net/wubi/+bug/201750 comment 1 + "Cannot remount loopfiles inside of vfat" + "The workaround involves mounting all loopinstallations rw to begin with" + Closes LP: #201750 + + -- Jonathan Riddell Mon, 17 Mar 2008 14:35:20 +0000 + +initramfs-tools (0.85eubuntu32) hardy; urgency=low + + * Drop -9 to gzip call in order to save time at a very small size + penalty (< 1%) + + -- Tollef Fog Heen Fri, 14 Mar 2008 10:41:38 +0100 + +initramfs-tools (0.85eubuntu31) hardy; urgency=low + + * debian/initramfs-tools.preinst: If /etc/mkinitramfs/initramfs.conf was not + modified, do not copy it over to /etc/initramfs-tools on a dapper->hardy + upgrade, since this causes an unnecessary dpkg conffile prompt. + (LP: #172853) + + -- Martin Pitt Thu, 13 Mar 2008 19:19:59 +0100 + +initramfs-tools (0.85eubuntu30) hardy; urgency=low + + * Fix check for "ro" on /boot + - LP: #197470 + + -- Ben Collins Tue, 11 Mar 2008 14:41:15 -0400 + +initramfs-tools (0.85eubuntu29) hardy; urgency=low + + * Do not honor blacklists for vga=/video= parsing. We should always load the + fb drivers in this case (since this is a manual operation on the part of + the user) + LP: #129910 + + -- Ben Collins Tue, 11 Mar 2008 11:46:08 -0400 + +initramfs-tools (0.85eubuntu28) hardy; urgency=low + + * update-initramfs: remove failed ".new" initrd when creation is aborted. + + -- Kees Cook Mon, 10 Mar 2008 15:25:03 -0700 + +initramfs-tools (0.85eubuntu27) hardy; urgency=low + + * Copy the initramfs image to a backup file, in the event that the /boot + filesystem doesn't support hard links. + + -- Luke Yelavich Fri, 07 Mar 2008 09:17:53 +1100 + +initramfs-tools (0.85eubuntu26) hardy; urgency=low + + * Loop for 5 seconds waiting for $suspend to show up. + + -- Soren Hansen Fri, 29 Feb 2008 15:34:35 -0500 + +initramfs-tools (0.85eubuntu25) hardy; urgency=low + + * scripts/functions: + - Call all registered mountroot failure hooks, rather than + stopping at one that has reported a failure. + - Change the loop code that runs mountroot failure hooks, so we don't end up + in an infinite loop. + + -- Luke Yelavich Mon, 18 Feb 2008 11:59:07 +1100 + +initramfs-tools (0.85eubuntu24) hardy; urgency=low + + * Implement the initramfs-tools part of the initramfs error handling spec + * update-initramfs: + - Make a hard link to the original initramfs image, rather than moving + it out of the way. + - Create a new initramfs image to ${initramfs}.new, to ensure we still + have a functional initramfs in case of failure. The original initramfs + only gets replaced when a new image is successfully created. + * scripts/functions: + - Added add_mountroot_fail_hook function to allow scripts in + init-premount to register a hook to allow extra information + to be given to the user, in the event of a non-existant root + device. + - The panic function now runs any registered mountroot fail hooks that + were previously registered, and only does so when passed the -r + argument from the calling function. + * scripts/local: Call the panic function with -r to run any registered + mountroot fail hooks when a root device cannot be found. + + -- Luke Yelavich Tue, 05 Feb 2008 13:38:51 +1100 + +initramfs-tools (0.85eubuntu23) hardy; urgency=low + + * Fix broken test in ro_boot_check (LP: #187282). It was matching ro + as a subword. + + -- Evan Dandrea Wed, 30 Jan 2008 10:35:28 -0500 + +initramfs-tools (0.85eubuntu22) hardy; urgency=low + + * Load virtio_pci for MODULES=most. + + -- Soren Hansen Wed, 23 Jan 2008 19:27:18 +0100 + +initramfs-tools (0.85eubuntu21) hardy; urgency=low + + * Drop code to increment the usplash progress bar after each message, + instead this will be pulsating until the real system. LP: #162397. + + -- Scott James Remnant Tue, 13 Nov 2007 20:41:33 +0000 + +initramfs-tools (0.85eubuntu20) gutsy; urgency=low + + * Updates for ps3 modules + + -- Ben Collins Thu, 04 Oct 2007 10:31:53 -0400 + +initramfs-tools (0.85eubuntu19) gutsy; urgency=low + + * Always mount loop-mount NTFS host filesystems read-write; ntfs-3g can't + remount yet. + + -- Colin Watson Thu, 06 Sep 2007 23:36:24 +0100 + +initramfs-tools (0.85eubuntu18) gutsy; urgency=low + + * Use dpkg-trigger even in our own postinst, unless we're doing + trigger processing or the running dpkg version doesn't support + reflexive triggers. This reduces update-initramfs runs from two per + upgrade batch to one per batch. + + -- Ian Jackson Fri, 24 Aug 2007 15:45:38 +0100 + +initramfs-tools (0.85eubuntu17) gutsy; urgency=low + + * Use dpkg-trigger (if available and operational) to save on + calls to update-initramfs. + + -- Ian Jackson Thu, 16 Aug 2007 16:03:52 +0100 + +initramfs-tools (0.85eubuntu16) gutsy; urgency=low + + * Load thermal modules on lpia as well. This may need to change in + the future to support hardware-specific features, but it's a start. + + + -- Adam Conrad Tue, 31 Jul 2007 15:30:42 +1000 + +initramfs-tools (0.85eubuntu15) gutsy; urgency=low + + * Add support for loop=, loopflags=, and loopfstype= arguments, to allow + the real root filesystem to be loop-mounted from a given file on the + filesystem specified by root=. + + -- Colin Watson Mon, 30 Jul 2007 16:46:19 +0100 + +initramfs-tools (0.85eubuntu14) gutsy; urgency=low + + * Add support for sunvnet and sunvdc in hook-functions. + + -- Fabio M. Di Nitto Wed, 04 Jul 2007 18:59:22 +0200 + +initramfs-tools (0.85eubuntu13) gutsy; urgency=low + + * fix nfsroot handling if rootserver is specified with IP and colon in + root-path (debian bug #387808) + + -- Oliver Grawert Wed, 04 Jul 2007 10:19:49 +0200 + +initramfs-tools (0.85eubuntu12) gutsy; urgency=low + + * Add support for alternative prerequisites, specified as e.g. + "kbd|console-tools" (note the lack of spaces around the "|"). + + -- Colin Watson Fri, 01 Jun 2007 16:14:22 +0100 + +initramfs-tools (0.85eubuntu11) gutsy; urgency=low + + * Allow modules specified by force_load to be blacklisted. + * Drop scripts/init-premount/thermal since this can be handled by using + force_load now. + + * Make sure framebuffer modules can be blacklisted. + + * Drop mdrun script, since this can be handled entirely within the udev + and initramfs scripts supplied by the mdadm package. + + -- Scott James Remnant Tue, 22 May 2007 10:42:34 +0100 + +initramfs-tools (0.85eubuntu10) feisty; urgency=low + + * As well as waiting for the existance of the root device node, also check + to see whether we have a filesystem of some kind on it. Some devices + nodes (devmapper/LVM/EVMS, mdadm) will exist before they can be safely + used. LP: #103177. + + -- Scott James Remnant Fri, 13 Apr 2007 10:51:27 +0100 + +initramfs-tools (0.85eubuntu9) feisty; urgency=low + + * Add patch to restore initramfs on failures. Taken from Debian's + initramfs-tools git repo (5dfd85f416a10b1c41ca7005de38b58715c04472). + * While we're here, remove snd_ps3 from autoload list on PS3. Isn't in + initramfs. Installer will add it to /etc/modules. + + -- Ben Collins Tue, 10 Apr 2007 11:05:45 -0400 + +initramfs-tools (0.85eubuntu8) feisty; urgency=low + + * Add support for the netboot variable, used by casper. LP: #96072. + + -- Tollef Fog Heen Fri, 30 Mar 2007 23:25:45 +0200 + +initramfs-tools (0.85eubuntu7) feisty; urgency=low + + * Use -Qb for ppc thermal modprobe's + * Add snd_ps3 to ps3 module loads. Use -Qb here too. + + -- Ben Collins Thu, 29 Mar 2007 19:54:40 -0400 + +initramfs-tools (0.85eubuntu6) feisty; urgency=low + + * hook-functions: Add udf to dep_add_modules and auto_add_modules. + + -- Colin Watson Fri, 23 Mar 2007 19:47:51 +0000 + +initramfs-tools (0.85eubuntu5) feisty; urgency=low + + * Copy all of drivers/block/ to initramfs. Can't believe we didn't do this + before. + * Add init-premount hook to manually load modules for ps3. These modules do + not have aliases or auto-load features, so have to do it by hand + (ps3-system-bus). + * For auto module inclusions, detect when we need to pack ps3 modules. + + -- Ben Collins Thu, 1 Mar 2007 16:45:48 -0500 + +initramfs-tools (0.85eubuntu4) feisty; urgency=low + + * Remove the 10MB size restriction from /dev; this doesn't make sense for + Ubuntu since we use /dev for initramfs/realfs handover and for things like + bootchart. + + -- Scott James Remnant Tue, 27 Feb 2007 15:00:54 +0000 + +initramfs-tools (0.85eubuntu3) feisty; urgency=low + + * Add aic94xx firmware hooks. + + -- Ben Collins Wed, 21 Feb 2007 15:34:56 -0500 + +initramfs-tools (0.85eubuntu2) feisty; urgency=low + + * Don't load vga16fb on amd64 either. usplash 0.4-36 fixes things so that + we don't need it (LP: #67545). + + -- Colin Watson Wed, 7 Feb 2007 09:55:05 +0000 + +initramfs-tools (0.85eubuntu1) feisty; urgency=low + + * Merge from debian unstable, remaining changes: + - Change Build-Depends to Build-Depends-Indep. + - Use busybox-initramfs for Depends. + - RESUME UUID upgrade. + - add_firmware addition to hook-functions. + - Use copy_modules_dir for auto module copying. + - noexec,nodev,nosuid options for /sys and /proc. + - Do not source udev.conf. + - Set BUSBOXDIR properly. + - Keep kinit and gzip in initrd. + - Use -Qb for for module loading to honor blacklists. + - all_generic_ide script. + - Only load vga16fb on amd64 (not i386). + - Remove lvm local-top script (conflicts with lvm-common). + - takeover=1 in update-initramfs. + - Remove udev_helper local-top script. It loads ide-generic, and we don't + want that. + - Closes: #76872 + + -- Ben Collins Tue, 2 Jan 2007 20:28:59 -0500 + initramfs-tools (0.85e) unstable; urgency=high Release "Qu'ils soient rouges, bleus ou blancs Il faudrait mieux les pendre" @@ -1957,6 +3814,41 @@ -- Ben Collins Thu, 23 Nov 2006 02:10:29 -0500 +initramfs-tools (0.69ubuntu20) edgy; urgency=low + + * Add the LSI Logic MegaRAID SAS Driver (megaraid_sas) to the SCSI + module list, common on newer Dell PowerEdge servers, among others. + + -- Adam Conrad Wed, 25 Oct 2006 18:16:15 +1000 + +initramfs-tools (0.69ubuntu19) edgy; urgency=low + + * Check for "modules.dep" before running depmod, not "modules.depmod" + which won't ever exist. This caused depmod to be run after live + filesystem generation without the restricted modules available, it + could also randomly cause the same to happen on upgrades depending + on the order packages are configured. Ubuntu: #60938. + + -- Scott James Remnant Tue, 24 Oct 2006 18:51:09 +0100 + +initramfs-tools (0.69ubuntu18) edgy; urgency=low + + * Anchor regex in sed command to revert conffile edits, to avoid + double-commenting RESUME= and causing a conffile prompt on upgrades + (Closes: LP#66599) + + -- Matt Zimmerman Wed, 18 Oct 2006 04:54:45 -0700 + +initramfs-tools (0.69ubuntu17) edgy; urgency=low + + [ Tollef Fog Heen ] + * Load vga16fb on amd64. + + [ Adam Conrad ] + * ... but only when booting with a splash. + + -- Adam Conrad Tue, 17 Oct 2006 12:29:35 +1000 + initramfs-tools (0.69ubuntu16) edgy; urgency=low * Bring in preinst fixes from Debian, including s/configure/install/ in diff -Nru initramfs-tools-0.106/debian/control initramfs-tools-0.106ubuntu1/debian/control --- initramfs-tools-0.106/debian/control 2012-06-06 14:04:52.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/debian/control 2012-06-25 14:48:47.000000000 +0100 @@ -2,8 +2,9 @@ Section: utils Priority: optional Uploaders: maximilian attems , Michael Prokop , Adam Conrad -Maintainer: Debian kernel team -Build-Depends: debhelper (>= 7.0) +Maintainer: Ubuntu Kernel Team +XSBC-Original-Maintainer: Debian kernel team +Build-Depends: debhelper (>= 7.0.50~), pkg-config, libudev-dev Standards-Version: 3.9.3 Vcs-Browser: http://git.debian.org/?p=kernel/initramfs-tools.git Vcs-Git: git://git.debian.org/git/kernel/initramfs-tools.git @@ -11,12 +12,11 @@ Package: initramfs-tools Architecture: all Multi-Arch: foreign -Recommends: busybox (>= 1:1.01-3) | busybox-initramfs | busybox-static -Depends: klibc-utils (>= 2.0-1~), cpio, kmod | module-init-tools, udev, ${misc:Depends} +Depends: initramfs-tools-bin (>= ${source:Version}), initramfs-tools-bin (<< ${source:Version}.1~), klibc-utils (>= 2.0-1~), busybox-initramfs (>= 1:1.13.3-1ubuntu5), cpio, kmod | module-init-tools, udev (>= 0.086-1), findutils (>= 4.2.24), ${misc:Depends} Suggests: bash-completion Provides: linux-initramfs-tool Conflicts: usplash (<< 0.5.50) -Breaks: cryptsetup (<< 2:1.1.0-2.1), elilo (<< 3.12-3.1~), lilo (<< 22.8-8.2~), s390-tools (<< 1.8.3-2~) +Breaks: cryptsetup (<< 2:1.1.0-2.1), elilo (<< 3.12-3.1~), lilo (<< 22.8-8.2~), s390-tools (<< 1.8.3-2~), mountall (<< 2.0~) Description: generic modular initramfs generator This package contains tools to create a bootable initramfs for Linux 2.6 kernel packages. The initramfs is a compressed cpio archive. At boot time, the @@ -25,3 +25,10 @@ klibc provides utilities to setup root. Having the root on MD, LVM2, LUKS or NFS is also supported. Any boot loader with initrd support is able to load an initramfs archive. + +Package: initramfs-tools-bin +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: binaries used by initramfs-tools + This package contains binaries used inside the initramfs images generated + by initramfs-tools. diff -Nru initramfs-tools-0.106/debian/initramfs-tools-bin.install initramfs-tools-0.106ubuntu1/debian/initramfs-tools-bin.install --- initramfs-tools-0.106/debian/initramfs-tools-bin.install 1970-01-01 01:00:00.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/debian/initramfs-tools-bin.install 2012-06-25 14:48:47.000000000 +0100 @@ -0,0 +1,2 @@ +src/wait-for-root usr/lib/initramfs-tools/bin +src/rzscontrol usr/lib/initramfs-tools/bin diff -Nru initramfs-tools-0.106/debian/initramfs-tools.dirs initramfs-tools-0.106ubuntu1/debian/initramfs-tools.dirs --- initramfs-tools-0.106/debian/initramfs-tools.dirs 2010-06-17 13:15:13.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/debian/initramfs-tools.dirs 2012-06-25 14:48:47.000000000 +0100 @@ -7,6 +7,7 @@ etc/initramfs-tools/scripts/nfs-bottom etc/initramfs-tools/scripts/nfs-premount etc/initramfs-tools/scripts/nfs-top +etc/initramfs-tools/scripts/panic etc/initramfs-tools/hooks etc/initramfs-tools/conf.d usr/share/initramfs-tools/conf.d diff -Nru initramfs-tools-0.106/debian/rules initramfs-tools-0.106ubuntu1/debian/rules --- initramfs-tools-0.106/debian/rules 2010-06-17 13:15:13.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/debian/rules 2012-06-25 14:48:47.000000000 +0100 @@ -2,3 +2,26 @@ %: dh $@ + +DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +CROSS := +else +CROSS := CC=$(DEB_HOST_GNU_TYPE)-gcc PKG_CONFIG=$(DEB_HOST_GNU_TYPE)-pkg-config +endif + +override_dh_auto_build: + make -C src $(CROSS) + +override_dh_auto_clean: + make -C src clean + +override_dh_install: + dh_install +ifneq (,$(filter initramfs-tools,$(shell dh_listpackages))) + cp -a scripts/init-top/keymap \ + debian/initramfs-tools/usr/share/initramfs-tools/scripts/panic/keymap + sed -i -e "/^OPTION=/d" \ + debian/initramfs-tools/usr/share/initramfs-tools/scripts/panic/keymap +endif diff -Nru initramfs-tools-0.106/docs/example_script initramfs-tools-0.106ubuntu1/docs/example_script --- initramfs-tools-0.106/docs/example_script 2010-06-17 13:15:13.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/docs/example_script 2012-06-25 14:48:47.000000000 +0100 @@ -26,10 +26,23 @@ prereqs exit 0 ;; +mountfail) # Called if the script has previously registered a mountroot + # failure. + # Check status, and display any relevant information about the + # failure if there is a problem, then exit with a status of 1. + ;; esac # Do the work here. +# If this script is to be placed in either init-premount, or local-top, +# register a mountroot failure hook, so that further information can be given +# to the user, in the event that the root device cannot be found. + +. /scripts/functions + +add_mountroot_fail_hook + echo "Got here!" exit 0 diff -Nru initramfs-tools-0.106/hook-functions initramfs-tools-0.106ubuntu1/hook-functions --- initramfs-tools-0.106/hook-functions 2012-06-07 11:34:57.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/hook-functions 2012-06-25 14:48:47.000000000 +0100 @@ -40,6 +40,13 @@ done } +# Is this module available? +have_module() +{ + modprobe --set-version="${version}" --ignore-install \ + --show-depends "${1}" >/dev/null 2>&1 +} + # Add dependent modules + eventual firmware manual_add_modules() { @@ -415,7 +422,7 @@ local modules= if [ "$#" -eq 0 ] ; then - set -- base net ide scsi block ata i2o dasd ieee1394 firewire mmc usb_storage + set -- base net ide scsi block ata i2o dasd ieee1394 firewire mmc usb_storage virtual fi for arg in "$@" ; do @@ -426,7 +433,12 @@ modules="$modules hid-apple hid-cherry hid-logitech" modules="$modules hid-logitech-dj" modules="$modules hid-microsoft hid-sunplus" + modules="$modules hid-a4tech hid-belkin hid-bright hid-chicony" + modules="$modules hid-cypress hid-dell hid-ezkey hid-gyration" + modules="$modules hid-monterey hid-petalynx hid-pl hid-samsung hid-sony" + modules="$modules hid-sunplus hid-tmff hid-zpff" modules="$modules btrfs ext2 ext3 ext4 ext4dev " + modules="$modules vfat nls_cp437 nls_iso8859-1" modules="$modules isofs jfs nfs reiserfs udf xfs" modules="$modules af_packet atkbd i8042 virtio_pci" ;; @@ -469,10 +481,12 @@ usb_storage) copy_modules_dir kernel/drivers/usb/storage ;; + virtual) + # Hyper-V + modules="$modules hv_vmbus hv_utils hv_netvsc hv_mouse hv_storvsc" + ;; esac done - - manual_add_modules $modules } # 'depmod' only looks at symbol dependencies; there is no way for diff -Nru initramfs-tools-0.106/hooks/busybox initramfs-tools-0.106ubuntu1/hooks/busybox --- initramfs-tools-0.106/hooks/busybox 2011-07-29 21:39:46.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/hooks/busybox 2012-06-25 14:48:47.000000000 +0100 @@ -1,6 +1,6 @@ #!/bin/sh -PREREQ="" +PREREQ="klibc" prereqs() { @@ -18,8 +18,28 @@ # busybox if [ "${BUSYBOX}" != "n" ] && [ -e ${BUSYBOXDIR}/busybox ]; then . /usr/share/initramfs-tools/hook-functions + # Busybox is configured to prefer its own applets, so remove + # duplication from klibc. + for cmd in `${BUSYBOXDIR}/busybox | sed -n '/functions:$/,$p' \ + | tail -n +2 \ + | sed -e 's/[[:space:]]*//g; s/,$//; s/,/\n/g; /busybox/d'`; do + rm -f ${DESTDIR}/bin/${cmd} + done rm -f ${DESTDIR}/bin/sh rm -f ${DESTDIR}/bin/busybox copy_exec ${BUSYBOXDIR}/busybox /bin/busybox ln -s busybox ${DESTDIR}/bin/sh + + # klibc's version is just wrong; patch sent upstream by maks + rm -f ${DESTDIR}/bin/chroot + # klibc's version can't display mounts, which casper needs; fuse + # needs /bin/mount to exist, so add a symlink + rm -f ${DESTDIR}/bin/mount + ln -s busybox ${DESTDIR}/bin/mount + # ... but some scripts expect /bin/sleep to exist. Boo. + ln -s busybox ${DESTDIR}/bin/sleep + # Useless + for cmd in minips nuke sh.shared; do + rm -f ${DESTDIR}/bin/${cmd} + done fi diff -Nru initramfs-tools-0.106/hooks/compcache initramfs-tools-0.106ubuntu1/hooks/compcache --- initramfs-tools-0.106/hooks/compcache 1970-01-01 01:00:00.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/hooks/compcache 2012-06-25 14:48:46.000000000 +0100 @@ -0,0 +1,155 @@ +#!/bin/sh +set -e + +if [ "$1" = prereqs ]; then + exit 0 +fi + +. /usr/share/initramfs-tools/hook-functions + +number= +suffix= +eval $(printf "%s" "$COMPCACHE_SIZE" | \ + sed -nre 's/^ *([1-9][0-9]*) *([%KMGT]) *$/number="\1"; suffix="\2";/p') + +if [ -z "$number" ] || [ -z "$suffix" ]; then + exit 0 +fi + +if have_module zram; then + name=zram + manual_add_modules zram +elif have_module ramzswap; then + name=ramzswap + manual_add_modules ramzswap +elif have_module compcache; then + name=compcache + manual_add_modules compcache +else + exit 0 +fi + +copy_exec /sbin/swapon +copy_exec /sbin/mkswap +copy_exec /usr/lib/initramfs-tools/bin/rzscontrol /sbin + +mem_total="\$(sed -nre 's/^MemTotal:\\s*([0-9]+) kB\$/\\1/p' /proc/meminfo)" + +case "$suffix" in +%) kbytes="\$(($mem_total * $number / 100))" ;; +K) kbytes=$(($number)) ;; +M) kbytes=$(($number * 1024)) ;; +G) kbytes=$(($number * 1024 * 1024)) ;; +T) kbytes=$(($number * 1024 * 1024 * 1024)) ;; +esac + +cat >"$DESTDIR"/sbin/compcache-enable <<'EOF' +#!/bin/sh +if [ "$#" != 3 ]; then + echo "Usage: $0 " 1>&2 + exit 1 +fi +type="$1" +size="$2" +device="$3" + +number= +suffix= +eval $(printf "%s" "$size" | \ + sed -nre 's/^ *([1-9][0-9]*) *([%KMGT]) *$/number="\1"; suffix="\2";/p') + +mem_total="$(sed -nre 's/^MemTotal:\s*([0-9]+) kB$/\1/p' /proc/meminfo)" + +case "$suffix" in +%) kbytes="$(($mem_total * $number / 100))" ;; +K) kbytes=$(($number)) ;; +M) kbytes=$(($number * 1024)) ;; +G) kbytes=$(($number * 1024 * 1024)) ;; +T) kbytes=$(($number * 1024 * 1024 * 1024)) ;; +esac +bytes="$(($kbytes * 1024))" + +if [ "$type" = zram ]; then + echo "$bytes" >/sys/block/$device/disksize && \ + /sbin/mkswap "/dev/$device" >/dev/null + +elif [ "$type" = ramzswap ]; then + /sbin/rzscontrol "/dev/$device" --disksize_kb="$kbytes" --init +fi +/sbin/swapon -p 100 "/dev/$device" 2>/dev/null + +exit 0 +EOF +chmod 0755 "$DESTDIR"/sbin/compcache-enable + +mkdir -p "$DESTDIR"/etc/udev/rules.d +if [ "$name" = zram ]; then + cat >"$DESTDIR"/etc/udev/rules.d/80-compcache.rules <"$DESTDIR"/etc/udev/rules.d/80-compcache.rules <"$DESTDIR"/etc/udev/rules.d/80-compcache.rules <"$DESTDIR"/scripts/init-top/compcache <>"$DESTDIR"/scripts/init-top/compcache <>"$DESTDIR"/scripts/init-top/compcache <>"$DESTDIR"/scripts/init-top/compcache <' /proc/cmdline || echo "Loading, please wait..." # Note that this only becomes /dev on the real filesystem if udev's scripts # are used; which they will be, but it's worth pointing out -tmpfs_size="10M" -if [ -e /etc/udev/udev.conf ]; then - . /etc/udev/udev.conf -fi -if ! mount -t devtmpfs -o size=$tmpfs_size,mode=0755 udev /dev; then +if ! mount -t devtmpfs -o mode=0755 udev /dev; then echo "W: devtmpfs not available, falling back to tmpfs for /dev" - mount -t tmpfs -o size=$tmpfs_size,mode=0755 udev /dev + mount -t tmpfs -o mode=0755 udev /dev [ -e /dev/console ] || mknod -m 0600 /dev/console c 5 1 [ -e /dev/null ] || mknod /dev/null c 1 3 fi @@ -27,6 +25,8 @@ mount -t devpts -o noexec,nosuid,gid=5,mode=0620 devpts /dev/pts || true mount -t tmpfs -o "nosuid,size=20%,mode=0755" tmpfs /run mkdir -m 0755 /run/initramfs +# compatibility symlink for the pre-oneiric locations +ln -s /run/initramfs /dev/.initramfs # Export the dpkg architecture export DPKG_ARCH= @@ -54,6 +54,12 @@ export blacklist= export resume= export resume_offset= +export recovery= + +# mdadm needs hostname to be set. This has to be done before the udev rules are called! +if [ -f "/etc/hostname" ]; then + /bin/hostname -b -F /etc/hostname 2>&1 1>/dev/null +fi # Bring in the main config . /conf/initramfs.conf @@ -119,9 +125,27 @@ ;; esac ;; + resumedelay=*) + RESUMEDELAY="${x#resumedelay=}" + ;; + loop=*) + LOOP="${x#loop=}" + ;; + loopflags=*) + LOOPFLAGS="-o ${x#loopflags=}" + ;; + loopfstype=*) + LOOPFSTYPE="${x#loopfstype=}" + ;; + cryptopts=*) + cryptopts="${x#cryptopts=}" + ;; nfsroot=*) NFSROOT="${x#nfsroot=}" ;; + netboot=*) + NETBOOT="${x#netboot=}" + ;; ip=*) IP="${x#ip=}" ;; @@ -183,6 +207,12 @@ BOOTIF=*) BOOTIF=${x#BOOTIF=} ;; + hwaddr=*) + BOOTIF=${x#BOOTIF=} + ;; + recovery) + recovery=y + ;; esac done @@ -195,6 +225,10 @@ maybe_break top +# export BOOT variable value for compcache, +# so we know if we run from casper +export BOOT + # Don't do log messages here to avoid confusing graphical boots run_scripts /scripts/init-top @@ -316,9 +350,9 @@ # Chain to real filesystem if command -v switch_root >/dev/null 2>&1; then - exec switch_root ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console + exec switch_root ${rootmnt} ${init} "$@" ${recovery:+--startup-event=recovery} <${rootmnt}/dev/console >${rootmnt}/dev/console 2>&1 elif command -v run-init >/dev/null 2>&1; then - exec run-init ${rootmnt} ${init} "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console + exec run-init ${rootmnt} ${init} "$@" ${recovery:+--startup-event=recovery} <${rootmnt}/dev/console >${rootmnt}/dev/console 2>&1 fi echo "Something went badly wrong in the initramfs." panic "Please file a bug on initramfs-tools." diff -Nru initramfs-tools-0.106/initramfs.conf.5 initramfs-tools-0.106ubuntu1/initramfs.conf.5 --- initramfs-tools-0.106/initramfs.conf.5 2011-05-13 10:23:43.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/initramfs.conf.5 2012-06-25 14:48:46.000000000 +0100 @@ -50,13 +50,6 @@ Beware that many boot scripts need busybox utilities. .TP -\fB KEYMAP -If set to 'y', the console keymap will be loaded during the initramfs stage. -The keymap will anyway be loaded by the initscripts later, and the packages -that might need input will normally set this variable automatically, so there -should normally be no need to set this. - -.TP \fB COMPRESS Specifies the compression method used for the initramfs image. .B mkinitramfs @@ -68,6 +61,24 @@ Set the umask value of the generated initramfs file. Useful to not disclose eventual keys. +.TP +\fB COMPCACHE_SIZE +Amount of RAM to use for RAM-based compressed swap space. +The default is not to use compcache. + +An empty value \- compcache isn't used, or added to the initramfs at all. + +An integer and K (e.g. \fI65536 K\fP) \- use a number of kilobytes. + +An integer and M (e.g. \fI256 M\fP) \- use a number of megabytes. + +An integer and G (e.g. \fI1 G\fP) \- use a number of gigabytes. + +An integer and % (e.g. \fI50 %\fP) \- use a percentage of the amount of RAM. + +You can optionally install the \fIcompcache\fP package to configure this +setting via debconf and have userspace scripts to load and unload compcache. + .SH NFS VARIABLES .TP \fB BOOT diff -Nru initramfs-tools-0.106/initramfs-tools.8 initramfs-tools-0.106ubuntu1/initramfs-tools.8 --- initramfs-tools-0.106/initramfs-tools.8 2012-06-06 14:04:52.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/initramfs-tools.8 2012-06-25 14:48:47.000000000 +0100 @@ -42,6 +42,19 @@ set the file system mount option string. .TP +\fB\fI loop= "" +path within the original root file system to loop-mount and use as the real +root file system. + +.TP +\fB\fI loopfstype +set the loop file system type, if applicable. + +.TP +\fB\fI loopflags +set the loop file system mount option string, if applicable. + +.TP \fB\fI nfsroot can be either "auto" to try to get the relevant information from DHCP or a string of the form NFSSERVER:NFSPATH or NFSSERVER:NFSPATH:NFSOPTS. @@ -262,9 +275,6 @@ \fB\fI verbose corresponds to the verbosity of the update-initramfs run. .TP -\fB\fI KEYMAP -sets if a keymap needs to be added to initramfs. -.TP \fB\fI MODULES specifies which kind of modules should land on initramfs. This setting shouldn't be overridden by hook script, but can guide them @@ -370,6 +380,20 @@ .PP .B Example: panic "Frobnication failed" +.fi +.RE +.RE + +.TP +\fB\fI +add_mountroot_fail_hook +Registers the script as able to provide possible further information, in the +event that the root device cannot be found. See the example script in the +initramfs-tools examples directory for more information. +.RS +.PP +.B Example: +add_mountroot_fail_hook .RE .SS Subdirectories diff -Nru initramfs-tools-0.106/mkinitramfs initramfs-tools-0.106ubuntu1/mkinitramfs --- initramfs-tools-0.106/mkinitramfs 2012-06-06 14:04:52.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/mkinitramfs 2012-06-25 14:48:47.000000000 +0100 @@ -186,9 +186,9 @@ export DESTDIR export DPKG_ARCH export verbose -export KEYMAP export MODULES export BUSYBOX +export COMPCACHE_SIZE # Private, used by 'catenate_cpiogz'. export __TMPCPIOGZ @@ -242,6 +242,9 @@ # add existant boot scripts for b in $(cd /usr/share/initramfs-tools/scripts/ && find . \ -regextype posix-extended -regex '.*/[[:alnum:]\._-]+$' -type f); do + option=$(sed '/^OPTION=/!d;$d;s/^OPTION=//;s/[[:space:]]*$//' "/usr/share/initramfs-tools/scripts/${b}") + [ -z "${option}" ] || eval test -n \"\${$option}\" -a \"\${$option}\" != \"n\" || continue + [ -d "${DESTDIR}/scripts/$(dirname "${b}")" ] \ || mkdir -p "${DESTDIR}/scripts/$(dirname "${b}")" cp -p "/usr/share/initramfs-tools/scripts/${b}" \ @@ -249,6 +252,9 @@ done for b in $(cd "${CONFDIR}/scripts" && find . \ -regextype posix-extended -regex '.*/[[:alnum:]\._-]+$' -type f); do + option=$(sed '/^OPTION=/!d;$d;s/^OPTION=//;s/[[:space:]]*$//' "${CONFDIR}/scripts/${b}") + [ -z "${option}" ] || eval test -n \"\${$option}\" -a \"\${$option}\" != \"n\" || continue + [ -d "${DESTDIR}/scripts/$(dirname "${b}")" ] \ || mkdir -p "${DESTDIR}/scripts/$(dirname "${b}")" cp -p "${CONFDIR}/scripts/${b}" "${DESTDIR}/scripts/$(dirname "${b}")/" @@ -274,19 +280,24 @@ exit 1 fi +copy_exec /usr/lib/initramfs-tools/bin/wait-for-root /sbin + # module-init-tools copy_exec /sbin/modprobe /sbin copy_exec /sbin/rmmod /sbin mkdir -p "${DESTDIR}/etc/modprobe.d" cp -a /etc/modprobe.d/* "${DESTDIR}/etc/modprobe.d/" +# util-linux +copy_exec /sbin/blkid /sbin + # workaround: libgcc always needed on old-abi arm if [ "$DPKG_ARCH" = arm ] || [ "$DPKG_ARCH" = armeb ]; then cp -a /lib/libgcc_s.so.1 "${DESTDIR}/lib/" fi -run_scripts /usr/share/initramfs-tools/hooks -run_scripts "${CONFDIR}"/hooks +run_scripts /usr/share/initramfs-tools/hooks optional +run_scripts "${CONFDIR}"/hooks optional # cache boot run order if [ -n "$NOEXEC" ]; then diff -Nru initramfs-tools-0.106/scripts/functions initramfs-tools-0.106ubuntu1/scripts/functions --- initramfs-tools-0.106/scripts/functions 2012-06-06 14:04:52.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/scripts/functions 2012-06-25 14:48:47.000000000 +0100 @@ -31,6 +31,42 @@ _log_msg "done.\n" } +# Add failure hook +add_mountroot_fail_hook() +{ + mkdir -p /tmp/mountroot-fail-hooks.d + ln -s "$0" /tmp/mountroot-fail-hooks.d/"$1" +} + +# Run failure hooks. +# When a failure hook exits "1", it has not done anything to correct the +# system. Exiting "0" means that something has been attempted to resolve +# the lack of a root filesystem. +# Hooks are run in lexigraphical order, and are responsible for removing +# themselves if they should not re-run in a later cycle. When one exits +# "0", the stack is stopped, so the caller can return to the main rootfs +# wait loop. +try_failure_hooks() +{ + local hook + + # Disable usplash so text from hooks can be seen + if [ -x /sbin/usplash_write ]; then + /sbin/usplash_write "QUIT" + fi + chvt 1 + if [ -x /bin/plymouth ] && plymouth --ping; then + /bin/plymouth hide-splash > /dev/null 2>&1 + fi + + for hook in /tmp/mountroot-fail-hooks.d/*; do + if [ -x ${hook} ] && ${hook} mountfail; then + return 0 + fi + done + return 1 +} + panic() { if command -v chvt >/dev/null 2>&1; then @@ -50,12 +86,15 @@ modprobe -v uhci-hcd || true modprobe -v ohci-hcd || true modprobe -v usbhid || true + + run_scripts /scripts/panic + REASON="$@" PS1='(initramfs) ' /bin/sh -i /dev/console 2>&1 } maybe_break() { - if [ "${break:-}" = "$1" ]; then + if echo "${break:-}" | egrep -q "(,|^)$1(,|$)"; then panic "Spawning shell within the initramfs" fi } @@ -111,20 +150,58 @@ deplist="$(render array_${1})" unset tmpdeplist for rs_y in ${deplist}; do - # only allow variable name chars + # check if there are alternatives case ${rs_y} in - *[![:alnum:]\._-]*) - continue + *\|*) + OLD_IFS="$IFS" + IFS="|" + for rs_z in ${rs_y}; do + IFS="$OLD_IFS" + # only allow variable name chars + case ${rs_z} in + *[![:alnum:]\._-]*) + IFS="|" + continue + ;; + esac + # skip non executable scripts + if [ ! -x ${initdir}/${rs_z} ]; then + IFS="|" + continue + fi + # skip directories + if [ -d ${initdir}/${rs_z} ]; then + IFS="|" + continue + fi + # skip bad syntax + if ! sh -n ${initdir}/${rs_z}; then + IFS="|" + continue + fi + + tmpdeplist="${tmpdeplist} ${rs_z}" + break + done + IFS="$OLD_IFS" ;; - esac - # skip non executable scripts - [ ! -x ${initdir}/${rs_y} ] && continue - # skip directories - [ -d ${initdir}/${rs_y} ] && continue - # skip bad syntax - sh -n ${initdir}/${rs_y} || continue + *) + # only allow variable name chars + case ${rs_y} in + *[![:alnum:]\._-]*) + continue + ;; + esac + # skip non executable scripts + [ ! -x ${initdir}/${rs_y} ] && continue + # skip directories + [ -d ${initdir}/${rs_y} ] && continue + # skip bad syntax + sh -n ${initdir}/${rs_y} || continue - tmpdeplist="${tmpdeplist} ${rs_y}" + tmpdeplist="${tmpdeplist} ${rs_y}" + ;; + esac done deplist=${tmpdeplist} for rs_x in ${runlist}; do @@ -209,13 +286,21 @@ set -e for cs_x in ${runlist}; do [ -f ${initdir}/${cs_x} ] || continue + if [ x"$1" = "xoptional" ]; then + option=$(sed '/^OPTION=/!d;$d;s/^OPTION=//;s/[[:space:]]*$//' "${initdir}/${cs_x}") + [ -z "${option}" ] || eval test -n \"\${$option}\" -a \"\${$option}\" != \"n\" || continue + fi + # mkinitramfs verbose output if [ "${verbose}" = "y" ]; then echo "Calling hook ${cs_x}" fi ${initdir}/${cs_x} && ec=$? || ec=$? # allow hooks to abort build: - if [ "$ec" -ne 0 ]; then + # (except for iscan, due to a widely-deployed third-party + # package causing upgrade problems) + if [ "$ec" -ne 0 ] && [ "${cs_x}" != iscan ] && \ + [ "${cs_x}" != iscan-data ]; then echo "E: ${initdir}/${cs_x} failed with return $ec." # only errexit on mkinitramfs [ -n "${version}" ] && exit $ec @@ -241,7 +326,7 @@ else get_prereqs reduce_prereqs - call_scripts + call_scripts $2 fi } @@ -274,9 +359,9 @@ return ;; [0-9]*:[0-9]*) - minor=$(( ${1#*:} )) - major=$(( ${1%:*} )) - ;; + minor=$(echo ${1#*:} | sed -e 's/^0*//') + major=$(echo ${1%:*} | sed -e 's/^0*//') + ;; [A-Fa-f0-9]*) value=$(( 0x${1} )) minor=$(( ${value} % 256 )) diff -Nru initramfs-tools-0.106/scripts/init-top/blacklist initramfs-tools-0.106ubuntu1/scripts/init-top/blacklist --- initramfs-tools-0.106/scripts/init-top/blacklist 2010-06-17 13:15:13.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/scripts/init-top/blacklist 2012-06-25 14:48:47.000000000 +0100 @@ -15,6 +15,15 @@ ;; esac +# blacklist vga16fb when vga= or video= given +for x in $(cat /proc/cmdline); do + case ${x} in + vga=*|video=*) + echo "blacklist vga16fb" >> /etc/modprobe.d/initramfs.conf + ;; + esac +done + # sanity check [ -z "${blacklist}" ] && exit 0 diff -Nru initramfs-tools-0.106/scripts/init-top/framebuffer initramfs-tools-0.106ubuntu1/scripts/init-top/framebuffer --- initramfs-tools-0.106/scripts/init-top/framebuffer 1970-01-01 01:00:00.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/scripts/init-top/framebuffer 2012-06-25 14:48:46.000000000 +0100 @@ -0,0 +1,125 @@ +#!/bin/sh + +OPTION=FRAMEBUFFER +PREREQ="udev" +prereqs() +{ + echo "$PREREQ" +} +case $1 in +# get pre-requisites +prereqs) + prereqs + exit 0 + ;; +esac + + +# The options part of the kernel "video=" argument (i.e. everyting +# after "video=:") has very inconsistent rules. +# +# Generally the following applies: +# 1) options are comma-separated +# 2) options can be in either of these three forms: +# =, :, . +# 3) the "mode" option has the form x[M][R][-][@][i][m] +# and may or may not start with "mode=" +# +# When the options are used with modules, they need to be space-separated +# and the following conversions are needed: +# : -> = +# -> =1 +# -> mode= +parse_video_opts() +{ + local OPTS="$1" + local IFS="," + + # Must be a line like video=:,[opt2]... + if [ "${OPTS}" = "${OPTS%%:*}" ]; then + return + fi + OPTS="${OPTS#*:}" + for opt in ${OPTS}; do + # Already in the "=" form + if [ "${opt}" != "${opt#*=}" ]; then + echo -n "$opt " + # In the ":" form + elif [ "${opt}" != "${opt#*:}" ]; then + echo -n "${opt%:*}=${opt#*:} " + # Presumably a modevalue without the "mode=" prefix + elif [ "${opt}" != "${opt#[0-9]*x[0-9]}" ]; then + echo -n "mode=$opt " + # Presumably a boolean + else + echo -n "${opt}=1 " + fi + done +} + +FB="" +OPTS="" + +for x in $(cat /proc/cmdline); do + case ${x} in + vga=*) + FB="vesafb"; + OPTS=""; + ;; + video=*) + FB=${x#*=} + FB="${FB%%:*}" + OPTS="$(parse_video_opts "${x}")" + esac +done + +# Map command line name to module name +case ${FB} in +matroxfb) + FB=matroxfb_base + ;; +esac + +if [ -n "${FB}" ]; then + # Some framebuffer devices need character devices :-/ + udevadm settle + MODPROBE_OPTIONS=-q modprobe ${FB} ${OPTS} + # Wait for the framebuffer devices to be ready + udevadm settle +else + # If we have no graphics devices yet, wait for udev to settle + [ -d /sys/class/graphics/fbcon ] && \ + [ -d /sys/class/graphics/fb0 ] && \ + [ -d /sys/class/drm/card0 ] || udevadm settle + + # If we still have no graphics device, fall back to vesafb like + # we do in the post-initramfs case in + # /etc/init/udev-fallback-graphics.conf. + # There is a higher risk of racing the regular video driver init + # than there is in the post-initramfs case, because this is earlier + # in boot and the kernel has had less time to finish probing the + # video drivers; and if we probe vesafb when we aren't meant to it + # will cause problems later. So just to be sure, add a sleep(1) + # which seems to be enough time to let the drm interface get loaded. + [ -d /sys/class/graphics/fbcon ] && \ + [ -d /sys/class/graphics/fb0 ] && \ + [ -d /sys/class/drm/card0 ] || sleep 1 + + if ! [ -d /sys/class/graphics/fbcon ] \ + || ! [ -d /sys/class/graphics/fb0 ] \ + || ! [ -d /sys/class/drm/card0 ] + then + modprobe -q vesafb 2>/dev/null + udevadm settle + fi +fi + +# Force fb mode via /sys interface +for x in $(cat /proc/cmdline); do + case ${x} in + fbmode=*) + MODE=${x#*=} + echo "$MODE" > /sys/class/graphics/fb0/mode + ;; + esac +done diff -Nru initramfs-tools-0.106/scripts/init-top/keymap initramfs-tools-0.106ubuntu1/scripts/init-top/keymap --- initramfs-tools-0.106/scripts/init-top/keymap 2010-06-17 13:15:13.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/scripts/init-top/keymap 2012-06-25 14:48:46.000000000 +0100 @@ -1,5 +1,6 @@ #!/bin/sh +OPTION=FRAMEBUFFER PREREQ="" prereqs() { diff -Nru initramfs-tools-0.106/scripts/local initramfs-tools-0.106ubuntu1/scripts/local --- initramfs-tools-0.106/scripts/local 2011-12-04 14:47:34.000000000 +0000 +++ initramfs-tools-0.106ubuntu1/scripts/local 2012-06-25 14:48:47.000000000 +0100 @@ -6,46 +6,32 @@ run_scripts /scripts/local-top [ "$quiet" != "y" ] && log_end_msg - wait_for_udev 10 - - # Load ubi with the correct MTD partition and return since fstype - # doesn't work with a char device like ubi. - if [ -n "$UBIMTD" ]; then - modprobe ubi mtd=$UBIMTD - return - fi - # Don't wait for a root device that doesn't have a corresponding # device in /dev (ie, mtd0) if [ "${ROOT#/dev}" = "${ROOT}" ]; then return fi - # If the root device hasn't shown up yet, give it a little while - # to deal with removable devices - if [ ! -e "${ROOT}" ] || ! $(get_fstype "${ROOT}" >/dev/null); then - log_begin_msg "Waiting for root file system" - - # Default delay is 30s - slumber=${ROOTDELAY:-30} - - slumber=$(( ${slumber} * 10 )) - while [ ! -e "${ROOT}" ] \ - || ! $(get_fstype "${ROOT}" >/dev/null); do - /bin/sleep 0.1 - slumber=$(( ${slumber} - 1 )) - [ ${slumber} -gt 0 ] || break - done + while [ -z "${FSTYPE}" ]; do + FSTYPE=$(wait-for-root "${ROOT}" ${ROOTDELAY:-30}) - if [ ${slumber} -gt 0 ]; then - log_end_msg 0 - else - log_end_msg 1 || true + # Load ubi with the correct MTD partition and return since + # fstype doesn't work with a char device like ubi. + if [ -n "$UBIMTD" ]; then + modprobe ubi mtd=$UBIMTD + return fi - fi + + # Run failure hooks, hoping one of them can fix up the system + # and we can restart the wait loop. If they all fail, abort + # and move on to the panic handler and shell. + if [ -z "${FSTYPE}" ] && ! try_failure_hooks; then + break + fi + done # We've given up, but we'll let the user fix matters if they can - while [ ! -e "${ROOT}" ]; do + while [ -z "${FSTYPE}" -a ! -e "${ROOT}" ]; do # give hint about renamed root case "${ROOT}" in /dev/hd*) @@ -80,7 +66,8 @@ # Get the root filesystem type if not set if [ -z "${ROOTFSTYPE}" ]; then - FSTYPE=$(get_fstype "${ROOT}") + [ -n "${FSTYPE}" ] || FSTYPE=$(blkid -s TYPE -o value "${ROOT}") + ROOTFSTYPE="${FSTYPE}" else FSTYPE=${ROOTFSTYPE} fi @@ -89,21 +76,70 @@ run_scripts /scripts/local-premount [ "$quiet" != "y" ] && log_end_msg - if [ "${readonly}" = "y" ]; then + if [ "${readonly}" = "y" ] && \ + [ -z "$LOOP" ]; then roflag=-r else roflag=-w fi # FIXME This has no error checking - modprobe ${FSTYPE} + [ -n "${FSTYPE}" ] && modprobe ${FSTYPE} # FIXME This has no error checking # Mount root - if [ "${FSTYPE}" != "unknown" ]; then - mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} ${rootmnt} - else - mount ${roflag} ${ROOTFLAGS} ${ROOT} ${rootmnt} + mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt} + mountroot_status="$?" + if [ "$LOOP" ]; then + if [ "$mountroot_status" != 0 ]; then + if [ ${FSTYPE} = ntfs ] || [ ${FSTYPE} = vfat ]; then + panic " +Could not mount the partition ${ROOT}. +This could also happen if the file system is not clean because of an operating +system crash, an interrupted boot process, an improper shutdown, or unplugging +of a removable device without first unmounting or ejecting it. To fix this, +simply reboot into Windows, let it fully start, log in, run 'chkdsk /r', then +gracefully shut down and reboot back into Windows. After this you should be +able to reboot again and resume the installation. +(filesystem = ${FSTYPE}, error code = $mountroot_status) +" + fi + fi + + mkdir -p /host + mount -o move ${rootmnt} /host + + while [ ! -e "/host/${LOOP#/}" ]; do + panic "ALERT! /host/${LOOP#/} does not exist. Dropping to a shell!" + done + + # Get the loop filesystem type if not set + if [ -z "${LOOPFSTYPE}" ]; then + eval $(fstype < "/host/${LOOP#/}") + else + FSTYPE="${LOOPFSTYPE}" + fi + if [ "$FSTYPE" = "unknown" ] && [ -x /sbin/blkid ]; then + FSTYPE=$(/sbin/blkid -s TYPE -o value "/host/${LOOP#/}") + [ -z "$FSTYPE" ] && FSTYPE="unknown" + fi + + if [ ${readonly} = y ]; then + roflag=-r + else + roflag=-w + fi + + # FIXME This has no error checking + modprobe loop + modprobe ${FSTYPE} + + # FIXME This has no error checking + mount ${roflag} -o loop -t ${FSTYPE} ${LOOPFLAGS} "/host/${LOOP#/}" ${rootmnt} + + if [ -d ${rootmnt}/host ]; then + mount -o move /host ${rootmnt}/host + fi fi [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-bottom" diff -Nru initramfs-tools-0.106/scripts/local-premount/fixrtc initramfs-tools-0.106ubuntu1/scripts/local-premount/fixrtc --- initramfs-tools-0.106/scripts/local-premount/fixrtc 1970-01-01 01:00:00.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/scripts/local-premount/fixrtc 2012-06-25 14:48:46.000000000 +0100 @@ -0,0 +1,71 @@ +#!/bin/sh -e +# initramfs local-premount script for fixrtc + +PREREQ="" + +# Output pre-requisites +prereqs() +{ + echo "$PREREQ" +} + +case "$1" in + prereqs) + prereqs + exit 0 + ;; +esac + +# use the fixrtc cmdline option in your bootloader to +# automatically set the hardware clock to the date of +# the last mount of your root filesystem to avoid fsck +# to get confused by the superblock being in the future + +BROKEN_CLOCK="" +ROOTDEV="" + +for x in $(cat /proc/cmdline); do + case ${x} in + root=*) + value=${x#*=} + + # Find the device node path depending on the form of root= : + + case ${value} in + UUID=*) + ROOTDEV=/dev/disk/by-uuid/${value#UUID=} + ;; + LABEL=*) + ROOTDEV=/dev/disk/by-label/${value#LABEL=} + ;; + *) + ROOTDEV=${value} + ;; + esac + ;; + fixrtc) + BROKEN_CLOCK=1 + ;; + esac +done + +if [ -n "$BROKEN_CLOCK" -a -n "$ROOTDEV" ];then + ROOTDISK=$(readlink -f "$ROOTDEV") + + TIMESTR=$(dumpe2fs -h "$ROOTDISK" 2>/dev/null|grep "Last mount time") + TIME=${TIMESTR#*:} + + hwclock -s + + MOUNTTIME=$(date --utc --date "${TIME}" +%s) + CURDATE=$(date --utc --date "$(date)" +%s) + + if [ "$MOUNTTIME" -gt "$CURDATE" ]; then + date --set="${TIME} 1 minute" >/dev/null 2>&1 + fi +fi + +# This script is best-effort. If we couldn't fudge the clock as desired, +# just try to carry on boot anyway: +# It will probably fail, but we won't have made the situation any worse. +exit 0 diff -Nru initramfs-tools-0.106/scripts/local-premount/resume initramfs-tools-0.106ubuntu1/scripts/local-premount/resume --- initramfs-tools-0.106/scripts/local-premount/resume 2010-06-17 13:15:13.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/scripts/local-premount/resume 2012-06-25 14:48:47.000000000 +0100 @@ -51,13 +51,19 @@ ;; esac -[ ! -e "${resume}" ] && exit 0 +SWAPTYPE=$(wait-for-root "${resume}" ${RESUMEDELAY:-5}) -[ ! -e /sys/power/resume ] && exit 0 +case "${SWAPTYPE}" in + swsuspend|s1suspend|s2suspend|ulsuspend|tuxonice) + if [ -x /bin/plymouth ] && plymouth --ping; then + plymouth message --text="Resuming from $resume" + fi -# hardcode path, uswsusp ships an resume binary too -if [ -n "${resume_offset}" ]; then - /bin/resume ${resume} ${resume_offset} -else - /bin/resume ${resume} -fi + # hardcode path, uswsusp ships an resume binary too + if [ -n "${resume_offset}" ]; then + /bin/resume ${resume} ${resume_offset} + else + /bin/resume ${resume} + fi + ;; +esac diff -Nru initramfs-tools-0.106/src/Makefile initramfs-tools-0.106ubuntu1/src/Makefile --- initramfs-tools-0.106/src/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/src/Makefile 2012-06-25 14:48:47.000000000 +0100 @@ -0,0 +1,21 @@ +PKG_CONFIG = pkg-config +UDEV_CFLAGS = $(shell $(PKG_CONFIG) --cflags libudev) +UDEV_LIBS = $(shell $(PKG_CONFIG) --libs libudev) + +CC = gcc +CFLAGS = -g -Wall -O2 $(UDEV_CFLAGS) +LDFLAGS = + + +.PHONY: all +all: wait-for-root rzscontrol + +wait-for-root: wait-for-root.o + $(CC) $(LDFLAGS) -o $@ $< $(UDEV_LIBS) + +rzscontrol: rzscontrol.o + $(CC) $(LDFLAGS) -o $@ $< + +.PHONY: clean +clean: + rm -f wait-for-root.o wait-for-root rzscontrol.o rzscontrol core *~ diff -Nru initramfs-tools-0.106/src/ramzswap_ioctl.h initramfs-tools-0.106ubuntu1/src/ramzswap_ioctl.h --- initramfs-tools-0.106/src/ramzswap_ioctl.h 1970-01-01 01:00:00.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/src/ramzswap_ioctl.h 2012-06-25 14:48:47.000000000 +0100 @@ -0,0 +1,42 @@ +/* + * Compressed RAM based swap device + * + * Copyright (C) 2008, 2009, 2010 Nitin Gupta + * + * This code is released using a dual license strategy: BSD/GPL + * You can choose the licence that better fits your requirements. + * + * Released under the terms of 3-clause BSD License + * Released under the terms of GNU General Public License Version 2.0 + * + * Project home: http://compcache.googlecode.com + */ + +#ifndef _RAMZSWAP_IOCTL_H_ +#define _RAMZSWAP_IOCTL_H_ + +struct ramzswap_ioctl_stats { + u64 disksize; /* user specified or equal to backing swap + * size (if present) */ + u64 num_reads; /* failed + successful */ + u64 num_writes; /* --do-- */ + u64 failed_reads; /* should NEVER! happen */ + u64 failed_writes; /* can happen when memory is too low */ + u64 invalid_io; /* non-swap I/O requests */ + u64 notify_free; /* no. of swap slot free notifications */ + u32 pages_zero; /* no. of zero filled pages */ + u32 good_compress_pct; /* no. of pages with compression ratio<=50% */ + u32 pages_expand_pct; /* no. of incompressible pages */ + u32 pages_stored; + u32 pages_used; + u64 orig_data_size; + u64 compr_data_size; + u64 mem_used_total; +} __attribute__ ((packed, aligned(4))); + +#define RZSIO_SET_DISKSIZE_KB _IOW('z', 0, size_t) +#define RZSIO_GET_STATS _IOR('z', 1, struct ramzswap_ioctl_stats) +#define RZSIO_INIT _IO('z', 2) +#define RZSIO_RESET _IO('z', 3) + +#endif diff -Nru initramfs-tools-0.106/src/rzscontrol.c initramfs-tools-0.106ubuntu1/src/rzscontrol.c --- initramfs-tools-0.106/src/rzscontrol.c 1970-01-01 01:00:00.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/src/rzscontrol.c 2012-06-25 14:48:47.000000000 +0100 @@ -0,0 +1,250 @@ +/* + * rzscontrol - Control ramzswap devices + * + * Copyright (C) 2008, 2009 Nitin Gupta + * + * This code is released using a dual license strategy: BSD/GPL + * You can choose the licence that better fits your requirements. + * + * Released under the terms of 3-clause BSD License + * Released under the terms of GNU General Public License Version 2.0 + * + * Project home: http://compcache.googlecode.com + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; +typedef uint64_t u64; + +#include "ramzswap_ioctl.h" + +/* Flag set by '--verbose' */ +static int verbose_flag; + +/* /dev/ramzswapX */ +#define MAX_DEVICE_NAME_LEN 32 + +/* + * 10 decimal digits can represent 2^32. + * All input sizes are in KB, so 10 digits are sufficient. + */ +#define MAX_SIZE_LEN 10 + +#define VERBOSE(args...) do { \ + if (verbose_flag) \ + printf(args); \ +} while (0) + +struct rzs_args { + u64 disksize_kb; + int init; + int reset; + int stats; +}; + +void usage(void) +{ + printf("Usage: rzscontrol {} []\n" + "Example: rzscontrol /dev/ramzswap0 --init\n" + "See rzscontrol manpage for details.\n"); +} + +void show_stats(struct ramzswap_ioctl_stats *s) +{ +#define K(x) ((x) >> 10) + /* Basic stats */ + printf( + "DiskSize: %8" PRIu64 " kB\n", + K(s->disksize) + ); + + /* Extended stats */ + printf( + "NumReads: %8" PRIu64 "\n" + "NumWrites: %8" PRIu64 "\n" + "FailedReads: %8" PRIu64 "\n" + "FailedWrites: %8" PRIu64 "\n" + "InvalidIO: %8" PRIu64 "\n" + "NotifyFree: %8" PRIu64 "\n" + "ZeroPages: %8u\n" + "GoodCompress: %8u %%\n" + "NoCompress: %8u %%\n" + "PagesStored: %8u\n" + "PagesUsed: %8u\n" + "OrigDataSize: %8" PRIu64 " kB\n" + "ComprDataSize: %8" PRIu64 " kB\n" + "MemUsedTotal: %8" PRIu64 " kB\n", + s->num_reads, + s->num_writes, + s->failed_reads, + s->failed_writes, + s->invalid_io, + s->notify_free, + s->pages_zero, + s->good_compress_pct, + s->pages_expand_pct, + s->pages_stored, + s->pages_used, + K(s->orig_data_size), + K(s->compr_data_size), + K(s->mem_used_total) + ); +} + +int do_ioctl(int fd, int argc, struct rzs_args *args) +{ + int ret = 0; + +/* Print an error message if ioctl fails */ +#define ON_ERR(str) do { \ + int err; \ + if (ret == -1) { \ + err = errno; \ + printf("%s: %s\n", str, strerror(err)); \ + goto out; \ + } \ +} while (0) + + while (argc--) { + + if (args->disksize_kb) { + VERBOSE("disksize_kb: %" PRIu64 "\n", args->disksize_kb); + ret = ioctl(fd, RZSIO_SET_DISKSIZE_KB, &args->disksize_kb); + args->disksize_kb = 0; + ON_ERR("disksize_kb"); + } + + if (args->init) { + ret = ioctl(fd, RZSIO_INIT); + args->init = 0; + ON_ERR("init"); + } + + if (args->reset) { + ret = ioctl(fd, RZSIO_RESET); + args->reset = 0; + ON_ERR("reset"); + } + + if (args->stats) { + struct ramzswap_ioctl_stats s; + memset(&s, 0, sizeof(s)); + ret = ioctl(fd, RZSIO_GET_STATS, &s); + args->stats = 0; + ON_ERR("stats"); + show_stats(&s); + } + + } /* while (argc--) */ + +out: + return ret; +} + +int main(int argc, char *argv[]) +{ + int fd, ret, opt, idx; + struct rzs_args args; + char dev_name[MAX_DEVICE_NAME_LEN]; + + if (argc < 3) { + usage(); + exit(0); + } + + memset(&args, 0, sizeof(args)); + + strncpy(dev_name, argv[1], MAX_DEVICE_NAME_LEN - 1); + dev_name[MAX_DEVICE_NAME_LEN - 1] = '\0'; + + fd = open(dev_name, O_NONBLOCK); + if (fd == -1) { + ret = errno; + printf("Failed to open %s: %s\n", dev_name, strerror(ret)); + return ret; + } + + VERBOSE("device: %s\n", dev_name); + + ret = 0; + while (1) { + char *endptr = NULL; + + static struct option long_options[] = { + { "disksize_kb", required_argument, 0, 'd' }, + { "init", no_argument, 0, 'i' }, + { "reset", no_argument, 0, 'r' }, + { "stats", no_argument, 0, 's' }, + { "verbose", no_argument, NULL, 'v' }, + { "help", no_argument, NULL, 'h' }, + { NULL, no_argument, NULL, 0 } + }; + + opt = getopt_long(argc, argv, "m:d:b:irsvh", long_options, &idx); + + if (opt == -1) + break; + + switch (opt) { + case 'd': + if (strnlen(optarg, MAX_SIZE_LEN + 1) > MAX_SIZE_LEN) { + printf("disksize_kb: %s\n", strerror(EOVERFLOW)); + ret = -EOVERFLOW; + goto out; + } + + args.disksize_kb = strtoul(optarg, &endptr, 10); + break; + + case 's': + args.stats = 1; + break; + + case 'i': + args.init = 1; + break; + + case 'r': + args.reset = 1; + break; + + case 'v': + verbose_flag = 1; + break; + + case 'h': + usage(); + break; + + case '?': + usage(); + ret = -EINVAL; + goto out; + + default: + /* We never reach here */ + break; + } + } + + ret = do_ioctl(fd, argc - 2, &args); + +out: + close(fd); + return ret; +} diff -Nru initramfs-tools-0.106/src/wait-for-root.c initramfs-tools-0.106ubuntu1/src/wait-for-root.c --- initramfs-tools-0.106/src/wait-for-root.c 1970-01-01 01:00:00.000000000 +0100 +++ initramfs-tools-0.106ubuntu1/src/wait-for-root.c 2012-06-25 14:48:47.000000000 +0100 @@ -0,0 +1,190 @@ +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + + +static int device_queued (struct udev *udev, const char *path); +static int matching_device (struct udev_device *device, const char *path); + +static void alarm_handler (int signum); + + +int +main (int argc, + char *argv[]) +{ + const char * devpath; + char path[PATH_MAX]; + int timeout; + struct udev * udev; + struct udev_monitor *udev_monitor; + struct stat devstat; + struct udev_device * udev_device; + const char * type; + + if (argc != 3) { + fprintf (stderr, "Usage: %s DEVICE TIMEOUT\n", argv[0]); + exit (2); + } + + devpath = argv[1]; + if (! strncmp (devpath, "UUID=", 5)) { + strcpy (path, "/dev/disk/by-uuid/"); + strcat (path, devpath + 5); + } else if (! strncmp (devpath, "LABEL=", 6)) { + strcpy (path, "/dev/disk/by-label/"); + strcat (path, devpath + 6); + } else { + strcpy (path, devpath); + } + + timeout = atoi (argv[2]); + + signal (SIGALRM, alarm_handler); + alarm (timeout); + + /* Connect to the udev monitor first; if we stat() first, the + * event might happen between the stat() and the time we actually + * get hooked up. + */ + udev = udev_new (); + udev_monitor = udev_monitor_new_from_netlink (udev, "udev"); + + udev_monitor_filter_add_match_subsystem_devtype (udev_monitor, "block", NULL); + udev_monitor_enable_receiving (udev_monitor); + + /* If the device is not being processed, check to see whether it + * exists already on the filesystem. If this is true, we don't need + * to wait for it can obtain the filesystem type by looking up the + * udevdb record by major/minor. + */ + if ((! device_queued (udev, devpath)) + && (stat (path, &devstat) == 0) + && S_ISBLK (devstat.st_mode)) + { + udev_device = udev_device_new_from_devnum (udev, 'b', devstat.st_rdev); + if (udev_device) { + type = udev_device_get_property_value (udev_device, "ID_FS_TYPE"); + if (type) { + printf ("%s\n", type); + + udev_device_unref (udev_device); + goto exit; + } + + udev_device_unref (udev_device); + } + } + + /* When the device doesn't exist yet, or is still being processed + * by udev, use the monitor socket to wait it to be done. + */ + while ((udev_device = udev_monitor_receive_device (udev_monitor)) != NULL) { + if (matching_device (udev_device, devpath)) { + type = udev_device_get_property_value (udev_device, "ID_FS_TYPE"); + if (type) { + printf ("%s\n", type); + + udev_device_unref (udev_device); + goto exit; + } + + } + + udev_device_unref (udev_device); + } + +exit: + udev_monitor_unref (udev_monitor); + udev_unref (udev); + + exit (0); +} + + +static int +device_queued (struct udev *udev, + const char * devpath) +{ + struct udev_queue * udev_queue; + struct udev_list_entry *queue_entry; + int found = 0; + + udev_queue = udev_queue_new (udev); + + for (queue_entry = udev_queue_get_queued_list_entry (udev_queue); + queue_entry != NULL; + queue_entry = udev_list_entry_get_next (queue_entry)) { + const char * syspath; + struct udev_device *udev_device; + + syspath = udev_list_entry_get_name (queue_entry); + udev_device = udev_device_new_from_syspath (udev, syspath); + if (udev_device) { + if (matching_device (udev_device, devpath)) + found = 1; + + udev_device_unref (udev_device); + } + } + + udev_queue_unref (udev_queue); + + return found; +} + +static int +matching_device (struct udev_device *device, + const char * path) +{ + const char * devnode; + struct udev_list_entry *devlinks_entry; + + /* Match by name */ + devnode = udev_device_get_devnode (device); + if (devnode && (! strcmp (path, devnode))) + return 1; + + /* Match by UUID */ + if (! strncmp (path, "UUID=", 5)) { + const char *uuid; + + uuid = udev_device_get_property_value (device, "ID_FS_UUID"); + if (uuid && (! strcmp (path + 5, uuid))) + return 1; + } + + /* Match by LABEL */ + if (! strncmp (path, "LABEL=", 6)) { + const char *label; + + label = udev_device_get_property_value (device, "ID_FS_LABEL"); + if (label && (! strcmp (path + 6, label))) + return 1; + } + + /* Match by symlink */ + for (devlinks_entry = udev_device_get_devlinks_list_entry (device); + devlinks_entry != NULL; + devlinks_entry = udev_list_entry_get_next (devlinks_entry)) + if (! strcmp (path, udev_list_entry_get_name (devlinks_entry))) + return 1; + + return 0; +} + + +static void +alarm_handler (int signum) +{ + exit (1); +} diff -Nru initramfs-tools-0.106/update-initramfs initramfs-tools-0.106ubuntu1/update-initramfs --- initramfs-tools-0.106/update-initramfs 2012-03-06 12:48:06.000000000 +0000 +++ initramfs-tools-0.106ubuntu1/update-initramfs 2012-06-25 14:48:46.000000000 +0100 @@ -396,7 +396,7 @@ verbose=0 yes=0 # We default to takeover=1 in Ubuntu, but not Debian -takeover=0 +takeover=1 ##