koolb
08-25-2007, 02:03 AM
Hi,
I noticed a problem when trying to compile ruby gems on my new KNOPPIX.IMG aufs mount. It started with an error to the effect that there was no errno.h in /usr/include.
/KNOPPIX/usr/include/stdio.h and (and MANY other standard C includes) should exist as I have only added a few packages to my base 5.1.1 system. I notices the /usr/lib dirs are not being shown on reboots as well.
I noticed that /usr is a link to /UNIONFS/usr which seems correct.
What's strange is that /UNIONFS is defined as both (rw=/KNOPPIX.IMG:ro=/KNOPPIX) and also (rw=/ramdisk:ro=/KNOPPIX). Of course the former is persistent and there's no /usr in /ramdisk at all.
This should be comparable to anyone's 5.1.1 mounts (with an knoppix.img overlay):
Now I notice the mtab is slightly different from this as it incorrectly states that /dev/sda3 is /dev/sda2. I have manually set that to the proper value (/dev/sda3) and here's my analysis:
knoppix@Knoppix:~$ mount
/dev/root on / type ext2 (rw)
/ramdisk on /ramdisk type tmpfs (rw,size=411856k,mode=755)
/UNIONFS on /UNIONFS type aufs (rw,br:/ramdisk:/KNOPPIX)
/dev/sda3 on /cdrom type vfat (ro,nodev,fmask=0022,dmask=0022,codepage=cp437,ioc harset=iso8859-1)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/proc/bus/usb on /proc/bus/usb type usbfs (rw,devmode=0666)
/dev/pts on /dev/pts type devpts (rw)
/dev/sda3 on /media/sda3 type vfat (rw,nosuid,nodev,umask=000,shortname=winnt,uid=100 0,gid=1000)
/media/sda3/knoppix.img on /KNOPPIX.IMG type ext2 (rw,loop=/dev/loop0)
persistent on /UNIONFS type aufs (rw,br:/KNOPPIX.IMG:/KNOPPIX)
knoppix@Knoppix:~$ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root.old / ext2 rw 0 0
/proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
/dev/sda3 /cdrom vfat rw,nodev,fmask=0022,dmask=0022,codepage=cp437,ioch arset=iso8859-1 0 0
/dev/cloop /KNOPPIX iso9660 ro 0 0
/ramdisk /ramdisk tmpfs rw 0 0
/UNIONFS /UNIONFS aufs rw,xino=/ramdisk/.aufs.xino,br:/ramdisk=rw:/KNOPPIX=ro 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
/dev/root.old /dev/.static/dev ext2 rw 0 0
tmpfs /dev tmpfs rw 0 0
/dev/sda3 /media/sda3 vfat rw,nosuid,nodev,fmask=0022,dmask=0022,codepage=cp4 37,iocharset=iso8859-1 0 0
/dev/loop0 /KNOPPIX.IMG ext2 rw 0 0
persistent /UNIONFS aufs rw,xino=/KNOPPIX.IMG/.aufs.xino,br:/KNOPPIX.IMG=rw:/KNOPPIX=ro 0 0
/dev/pts /dev/pts devpts rw 0 0
knoppix@Knoppix:~$ ls /UNIONFS/usr/include # this produces the same as ls /usr/include
SDL bfdlink.h diet dmraid kino pci t.h
X11 capi20.h dis-asm.h gettext-po.h libcryptsetup.h python2.3 xchat
ansidecl.h capicmd.h dlg_colors.h initreq.h libiberty.h python2.4
autosprintf.h capiutils.h dlg_config.h isdn_dwabclib.h ntfs-3g qobex
bfd.h dialog.h dlg_keys.h kde openvpn symcat.h
knoppix@Knoppix:~$ ls /KNOPPIX/usr/include # this is what I expect to see in /usr/include!!!!
SDL cursesf.h ftw.h math.h protocols syscall.h
X11 cursesm.h gconv.h mcheck.h pthread.h sysexits.h
_G_config.h cursesp.h getopt.h memory.h pty.h syslog.h
a.out.h cursesw.h gettext-po.h menu.h pwd.h tar.h
aio.h cursslk.h glob.h mntent.h python2.3 term.h
aliases.h dialog.h gnu monetary.h python2.4 termcap.h
alloca.h diet gnu-versions.h mqueue.h qobex termio.h
ansidecl.h dirent.h grp.h ncurses.h re_comp.h termios.h
ar.h dis-asm.h iconv.h ncurses_dll.h regex.h tgmath.h
argp.h dlfcn.h ieee754.h net regexp.h thread_db.h
argz.h dlg_colors.h ifaddrs.h netash resolv.h time.h
arpa dlg_config.h initreq.h netatalk rpc ttyent.h
asm dlg_keys.h inttypes.h netax25 rpcsvc ucontext.h
asm-generic dmraid isdn_dwabclib.h netdb.h sched.h ulimit.h
asm-i486 elf.h jconfig.h neteconet scsi unctrl.h
asm-x86_64 endian.h jerror.h netinet search.h unistd.h
assert.h envz.h jmorecfg.h netipx semaphore.h ustat.h
autosprintf.h err.h jpegint.h netpacket setjmp.h utime.h
bfd.h errno.h jpeglib.h netrom sgtty.h utmp.h
bfdlink.h error.h kde netrose shadow.h utmpx.h
bits eti.h langinfo.h nfs signal.h values.h
byteswap.h etip.h lastlog.h nl_types.h spawn.h wait.h
c++ execinfo.h libcryptsetup.h nptl stab.h wchar.h
capi20.h fcntl.h libgen.h nss.h stdint.h wctype.h
capicmd.h features.h libiberty.h ntfs-3g stdio.h wordexp.h
capiutils.h fenv.h libintl.h obstack.h stdio_ext.h xchat
complex.h fmtmsg.h libio.h openvpn stdlib.h xlocale.h
cpio.h fnmatch.h limits.h panel.h string.h zconf.h
crypt.h form.h link.h paths.h strings.h zlib.h
ctype.h fpu_control.h linux pci stropts.h
curses.h fstab.h locale.h poll.h symcat.h
cursesapp.h fts.h malloc.h printf.h sys
It just doesnt make sense that I am unable to see everything from /KNOPPIX/usr/include when I examine /usr/include which gives me the same contents as ls /UNIONFS/usr/include. However, when I dont choose to load knoppix.img on a reboot I can see all these files.
I know for a fact I didnt delete any of these includes. It leaves me wondering what the problem is and if there's some way to examine the .aufs.xino files to see whats going on.
It's almost that we should have a stack more similar to this:
/UNIONFS (/KNOPPIX.IMG=rw,/ramdisk=ro,/KNOPPIX=ro)
I am not to familiar with the original or the new aufs UNIONFS but wonder if anyone is getting the same problem and if they have found a solution.
Note: When I start with a new ramdisk image and then run /usr/sbin/knoppix-mkimage all seems well until the next boot. Not sure if I am choosing the right time to [x] overwrite image file with current configuration (which is only once - the 1st time).
Please help if you have insight on this.
I noticed a problem when trying to compile ruby gems on my new KNOPPIX.IMG aufs mount. It started with an error to the effect that there was no errno.h in /usr/include.
/KNOPPIX/usr/include/stdio.h and (and MANY other standard C includes) should exist as I have only added a few packages to my base 5.1.1 system. I notices the /usr/lib dirs are not being shown on reboots as well.
I noticed that /usr is a link to /UNIONFS/usr which seems correct.
What's strange is that /UNIONFS is defined as both (rw=/KNOPPIX.IMG:ro=/KNOPPIX) and also (rw=/ramdisk:ro=/KNOPPIX). Of course the former is persistent and there's no /usr in /ramdisk at all.
This should be comparable to anyone's 5.1.1 mounts (with an knoppix.img overlay):
Now I notice the mtab is slightly different from this as it incorrectly states that /dev/sda3 is /dev/sda2. I have manually set that to the proper value (/dev/sda3) and here's my analysis:
knoppix@Knoppix:~$ mount
/dev/root on / type ext2 (rw)
/ramdisk on /ramdisk type tmpfs (rw,size=411856k,mode=755)
/UNIONFS on /UNIONFS type aufs (rw,br:/ramdisk:/KNOPPIX)
/dev/sda3 on /cdrom type vfat (ro,nodev,fmask=0022,dmask=0022,codepage=cp437,ioc harset=iso8859-1)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/proc/bus/usb on /proc/bus/usb type usbfs (rw,devmode=0666)
/dev/pts on /dev/pts type devpts (rw)
/dev/sda3 on /media/sda3 type vfat (rw,nosuid,nodev,umask=000,shortname=winnt,uid=100 0,gid=1000)
/media/sda3/knoppix.img on /KNOPPIX.IMG type ext2 (rw,loop=/dev/loop0)
persistent on /UNIONFS type aufs (rw,br:/KNOPPIX.IMG:/KNOPPIX)
knoppix@Knoppix:~$ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root.old / ext2 rw 0 0
/proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
/dev/sda3 /cdrom vfat rw,nodev,fmask=0022,dmask=0022,codepage=cp437,ioch arset=iso8859-1 0 0
/dev/cloop /KNOPPIX iso9660 ro 0 0
/ramdisk /ramdisk tmpfs rw 0 0
/UNIONFS /UNIONFS aufs rw,xino=/ramdisk/.aufs.xino,br:/ramdisk=rw:/KNOPPIX=ro 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
/dev/root.old /dev/.static/dev ext2 rw 0 0
tmpfs /dev tmpfs rw 0 0
/dev/sda3 /media/sda3 vfat rw,nosuid,nodev,fmask=0022,dmask=0022,codepage=cp4 37,iocharset=iso8859-1 0 0
/dev/loop0 /KNOPPIX.IMG ext2 rw 0 0
persistent /UNIONFS aufs rw,xino=/KNOPPIX.IMG/.aufs.xino,br:/KNOPPIX.IMG=rw:/KNOPPIX=ro 0 0
/dev/pts /dev/pts devpts rw 0 0
knoppix@Knoppix:~$ ls /UNIONFS/usr/include # this produces the same as ls /usr/include
SDL bfdlink.h diet dmraid kino pci t.h
X11 capi20.h dis-asm.h gettext-po.h libcryptsetup.h python2.3 xchat
ansidecl.h capicmd.h dlg_colors.h initreq.h libiberty.h python2.4
autosprintf.h capiutils.h dlg_config.h isdn_dwabclib.h ntfs-3g qobex
bfd.h dialog.h dlg_keys.h kde openvpn symcat.h
knoppix@Knoppix:~$ ls /KNOPPIX/usr/include # this is what I expect to see in /usr/include!!!!
SDL cursesf.h ftw.h math.h protocols syscall.h
X11 cursesm.h gconv.h mcheck.h pthread.h sysexits.h
_G_config.h cursesp.h getopt.h memory.h pty.h syslog.h
a.out.h cursesw.h gettext-po.h menu.h pwd.h tar.h
aio.h cursslk.h glob.h mntent.h python2.3 term.h
aliases.h dialog.h gnu monetary.h python2.4 termcap.h
alloca.h diet gnu-versions.h mqueue.h qobex termio.h
ansidecl.h dirent.h grp.h ncurses.h re_comp.h termios.h
ar.h dis-asm.h iconv.h ncurses_dll.h regex.h tgmath.h
argp.h dlfcn.h ieee754.h net regexp.h thread_db.h
argz.h dlg_colors.h ifaddrs.h netash resolv.h time.h
arpa dlg_config.h initreq.h netatalk rpc ttyent.h
asm dlg_keys.h inttypes.h netax25 rpcsvc ucontext.h
asm-generic dmraid isdn_dwabclib.h netdb.h sched.h ulimit.h
asm-i486 elf.h jconfig.h neteconet scsi unctrl.h
asm-x86_64 endian.h jerror.h netinet search.h unistd.h
assert.h envz.h jmorecfg.h netipx semaphore.h ustat.h
autosprintf.h err.h jpegint.h netpacket setjmp.h utime.h
bfd.h errno.h jpeglib.h netrom sgtty.h utmp.h
bfdlink.h error.h kde netrose shadow.h utmpx.h
bits eti.h langinfo.h nfs signal.h values.h
byteswap.h etip.h lastlog.h nl_types.h spawn.h wait.h
c++ execinfo.h libcryptsetup.h nptl stab.h wchar.h
capi20.h fcntl.h libgen.h nss.h stdint.h wctype.h
capicmd.h features.h libiberty.h ntfs-3g stdio.h wordexp.h
capiutils.h fenv.h libintl.h obstack.h stdio_ext.h xchat
complex.h fmtmsg.h libio.h openvpn stdlib.h xlocale.h
cpio.h fnmatch.h limits.h panel.h string.h zconf.h
crypt.h form.h link.h paths.h strings.h zlib.h
ctype.h fpu_control.h linux pci stropts.h
curses.h fstab.h locale.h poll.h symcat.h
cursesapp.h fts.h malloc.h printf.h sys
It just doesnt make sense that I am unable to see everything from /KNOPPIX/usr/include when I examine /usr/include which gives me the same contents as ls /UNIONFS/usr/include. However, when I dont choose to load knoppix.img on a reboot I can see all these files.
I know for a fact I didnt delete any of these includes. It leaves me wondering what the problem is and if there's some way to examine the .aufs.xino files to see whats going on.
It's almost that we should have a stack more similar to this:
/UNIONFS (/KNOPPIX.IMG=rw,/ramdisk=ro,/KNOPPIX=ro)
I am not to familiar with the original or the new aufs UNIONFS but wonder if anyone is getting the same problem and if they have found a solution.
Note: When I start with a new ramdisk image and then run /usr/sbin/knoppix-mkimage all seems well until the next boot. Not sure if I am choosing the right time to [x] overwrite image file with current configuration (which is only once - the 1st time).
Please help if you have insight on this.