summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/initrdscripts/files/80-squashfs.sh17
-rw-r--r--packages/initrdscripts/initramfs-module-squashfs_1.0.bb12
2 files changed, 29 insertions, 0 deletions
diff --git a/packages/initrdscripts/files/80-squashfs.sh b/packages/initrdscripts/files/80-squashfs.sh
new file mode 100644
index 0000000000..22c09544a0
--- /dev/null
+++ b/packages/initrdscripts/files/80-squashfs.sh
@@ -0,0 +1,17 @@
+squashfs_mount () {
+ modprobe -q squashfs
+
+ mkdir $2
+ mount -t squashfs $1 $2
+}
+
+for arg in $CMDLINE; do
+ optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'`
+ echo $arg xxx $optarg
+ case $arg in
+ squashfs=*)
+ dev=`expr "$optarg" : '\([^:]*\).*'`
+ path=`expr "$optarg" : '[^:]*:\([^:]*\).*'`
+ squashfs_mount $dev $path ;;
+ esac
+done
diff --git a/packages/initrdscripts/initramfs-module-squashfs_1.0.bb b/packages/initrdscripts/initramfs-module-squashfs_1.0.bb
new file mode 100644
index 0000000000..f3d50ffa49
--- /dev/null
+++ b/packages/initrdscripts/initramfs-module-squashfs_1.0.bb
@@ -0,0 +1,12 @@
+SRC_URI = "file://80-squashfs.sh"
+PR = "r1"
+DESCRIPTION = "An initramfs module for mount squashfs."
+RDEPENDS = "initramfs-uniboot"
+
+do_install() {
+ install -d ${D}/initrd.d
+ install -m 0755 ${WORKDIR}/80-squashfs.sh ${D}/initrd.d/
+}
+
+PACKAGE_ARCH = "all"
+FILES_${PN} += " /initrd.d/* "