summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaximilian attems <maks@debian.org>2010-06-16 17:31:14 +0200
committermaximilian attems <maks@debian.org>2010-06-16 17:31:14 +0200
commitb9de5de1a54938a1ecbfc60602bb2d9a59c5dade (patch)
treed6132217f42cb8481cbc8c837f3f66824ea81b81
parentb1f74e697820d878a15e430e4ce1b74cd7fad2d3 (diff)
parent528ba7842a4079526118ba6edda25ed926d550ea (diff)
downloadinitramfs-tools-b9de5de1a54938a1ecbfc60602bb2d9a59c5dade.tar.gz
initramfs-tools-b9de5de1a54938a1ecbfc60602bb2d9a59c5dade.zip
Merge branch 'master' of git+ssh://git.debian.org/srv/git.debian.org/git/kernel/initramfs-tools
-rw-r--r--hook-functions9
-rwxr-xr-xinit5
-rw-r--r--scripts/local7
3 files changed, 21 insertions, 0 deletions
diff --git a/hook-functions b/hook-functions
index 1a0e097..ded7887 100644
--- a/hook-functions
+++ b/hook-functions
@@ -237,6 +237,10 @@ dep_add_modules()
# most of the commands below only work with block devices.
if [ "${FSTYPE}" = "ubifs" ]; then
manual_add_modules "${FSTYPE}"
+ # add some modules required by ubifs on which it doesn's depend
+ manual_add_modules deflate
+ manual_add_modules zlib
+ manual_add_modules lzo
return
fi
@@ -415,6 +419,11 @@ auto_add_modules()
block)
copy_modules_dir kernel/drivers/block
;;
+ ubi)
+ for x in deflate zlib lzo ubi ubifs; do
+ manual_add_modules "${x}"
+ done
+ ;;
ieee1394)
for x in ohci1394 sbp2; do
manual_add_modules "${x}"
diff --git a/init b/init
index 397a8c2..467a562 100755
--- a/init
+++ b/init
@@ -43,6 +43,7 @@ export ROOTFSTYPE=
export IP=
export BOOT=
export BOOTIF=
+export UBIMTD=
export break=
export init=/sbin/init
export quiet=n
@@ -127,6 +128,9 @@ for x in $(cat /proc/cmdline); do
boot=*)
BOOT=${x#boot=}
;;
+ ubi.mtd=*)
+ UBIMTD=${x#ubi.mtd=}
+ ;;
resume=*)
RESUME="${x#resume=}"
;;
@@ -258,6 +262,7 @@ unset ROOT
unset IP
unset BOOT
unset BOOTIF
+unset UBIMTD
unset blacklist
unset break
unset noresume
diff --git a/scripts/local b/scripts/local
index 98464f9..9b51174 100644
--- a/scripts/local
+++ b/scripts/local
@@ -8,6 +8,13 @@ pre_mountroot()
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