Hello there,
I'm seeing strange things happen when I use aufs together with squashfs,
so I guess I'm probably doing something fundamentally wrong - but
maybe not .
My root is squashfs, I want to make some dirs read-write to apply
extra binaries
in a TMPFS branch.
All apps and libs in the squashfs work ok.
Apps or libs on the TMPFS branch in aufs do not work.
The copies on TMPFS work though, just the files on the aufs cannot be
mapped.
Here is an example:
zen2vdr vdr # ldd /usr/local/lib/vdr/libvdr-test.so.1.4.5
Out of memory!
zen2vdr vdr # ldd /tmp/rw/usr/local/lib/vdr/libvdr-test.so.1.4.5
libc.so.0 => /lib/libc.so.0 (0xb7f1e000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb7f70000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb7f8d000)
libstdc++.so.6 => /usr/lib/gcc/i386-gentoo-linux-uclibc/4.1.2/libstdc+
+.so.6 (0x00000000)
libm.so.0 => /lib/libm.so.0 (0x00000000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.0 => /lib/libc.so.0 (0x00000000)
/lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)
But a file that is only on squashfs:
zen2vdr vdr # ldd /usr/local/lib/vdr/libvdr-hello.so.1.4.5
libc.so.0 => /lib/libc.so.0 (0xb7eaf000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb7f01000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb7f6a000)
libstdc++.so.6 => /usr/lib/gcc/i386-gentoo-linux-uclibc/4.1.2/libstdc+
+.so.6 (0x00000000)
libm.so.0 => /lib/libm.so.0 (0x00000000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.0 => /lib/libc.so.0 (0x00000000)
/lib/ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x00000000)
What am I doing wrong ? Apart from the fact that mapping the added
files is not possible everything
else seems to be working fine .
Thanks a lot !
Dirk
---------- System info:
Kernel:
2.6.17.6 + squashfs-3.3
Aufs is compiled into the kernel. ( dmesg: "aufs 20080211" )
/proc/mounts:
rootfs / rootfs rw 0 0
/dev/root / squashfs ro 0 0
proc /proc proc rw 0 0
sys /sys sysfs rw 0 0
none /tmp tmpfs rw 0 0
none /etc aufs rw,xino=/tmp/rw/etc/.aufs.xino,br:/tmp/rw/etc=rw:/
etc=rr 0 0
none /var aufs rw,xino=/tmp/rw/var/.aufs.xino,br:/tmp/rw/var=rw:/
var=rr 0 0
none /root aufs rw,xino=/tmp/rw/root/.aufs.xino,br:/tmp/rw/root=rw:/
root=rr 0 0
none /usr aufs rw,xino=/tmp/rw/usr/.aufs.xino,br:/tmp/rw/usr=rw:/
usr=rr 0 0
none /lib aufs rw,xino=/tmp/rw/lib/.aufs.xino,br:/tmp/rw/lib=rw:/
lib=rr 0 0
/dev/hda1 /tmp/config ext2 rw 0 0
udev /dev ramfs rw 0 0
none /video tmpfs rw 0 0
none /dev/shm tmpfs rw 0 0
devpts /dev/pts devpts rw 0 0
From the init file that does all the mounting and mapping:
echo -n "tmp "
/bin/mount -n -t tmpfs none /tmp
echo -n "aufs "
mkdir /tmp/rw
mkdir /tmp/rw/etc
mkdir /tmp/rw/var
mkdir /tmp/rw/root
mkdir /tmp/rw/usr
mkdir /tmp/rw/lib
mkdir /tmp/config
mount -n -t aufs -o br:/tmp/rw/etc:/etc none /etc
mount -n -t aufs -o br:/tmp/rw/var:/var none /var
mount -n -t aufs -o br:/tmp/rw/root:/root none /root
mount -n -t aufs -o br:/tmp/rw/usr:/usr none /usr
mount -n -t aufs -o br:/tmp/rw/lib:/lib none /lib
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/