Mr. Junjiro R. Okajima,
thanks for the fixing of aubusy. Now the last question concerning
the kernel message that appears during the Debian Desktop session
log in.
1. Kernel messages
In one of your last letter you asked for a more precisely
explanation about the following questions:
- When and how do you start the GNOME Desktop session?
- When and why it invokes mount(8)?
In following steps I will show you when I and how I start the GNOME
Desktop session and when and why I invoke mount(8)?
After the system start, the system boots directly into the GNOME
Desktop graphical log in screen. From that screen I change with
following key combination into the text based log in screen:
[CTRL]+[ALT]+[F1]
After the log in I run the following commands:
$> sudo invoke-rc.d gdm stop
$> sudo invoke-rc.d network-manager stop
$> sudo invoke-rc.d bluetooth stop
$> sudo invoke-rc.d dbus stop
$> sudo invoke-rc.d udev stop
In the next step the script bldchraufs will be started:
$> sudo /usr/local/sbin/bldchaufs
The contents of the script bldchaufs is shown in the following rows:
#!/bin/bash
# Stop script on error.
set -e
# Create the chroot directory /tmp/jail.
mkdir -p /tmp/jail
# Build the AUFS union rootonaufs based on the bond of /.
# Mount rootonaufs in /tmp/jail/.
mkdir -p /tmp/jailcache.rw.root /tmp/jailcache.ro.root
mount -o bind / /tmp/jailcache.ro.root
mount -t aufs -o br:/tmp/jailcache.rw.root:/tmp/jailcache.ro.root \
rootonaufs /tmp/jail/
# Build the AUFS union varonaufs based on the bond of /var.
# Mount varonaufs in /tmp/jail/var.
mkdir -p /tmp/jailcache.rw.var /tmp/jailcache.ro.var
mount -o bind /var /tmp/jailcache.ro.var
mount -t aufs -o br:/tmp/jailcache.rw.var:/tmp/jailcache.ro.var \
varonaufs /tmp/jail/var
# Build the AUFS union usronaufs based on the bond of /usr.
# Mount usronaufs in /tmp/jail/usr.
mkdir -p /tmp/jailcache.rw.usr /tmp/jailcache.ro.usr
mount -o bind /usr /tmp/jailcache.ro.usr
mount -t aufs -o br:/tmp/jailcache.rw.usr:/tmp/jailcache.ro.usr \
usronaufs /tmp/jail/usr
# Build the AUFS union usrlocalonaufs based on the bond of
# /usr/local.
# Mount usrlocalonaufs in /tmp/jail/usr/local.
mkdir -p /tmp/jailcache.rw.usrlocal /tmp/jailcache.ro.usrlocal
chmod g+ws /tmp/jailcache.rw.usrlocal
chown 0:50 /tmp/jailcache.rw.usrlocal
chmod g+ws /tmp/jailcache.ro.usrlocal
chown 0:50 /tmp/jailcache.ro.usrlocal
chmod g+ws /tmp/jail/usr/local
chown 0:50 /tmp/jail/usr/local
mount -o bind /usr/local /tmp/jailcache.ro.usrlocal
mount -t aufs -o \
br:/tmp/jailcache.rw.usrlocal:/tmp/jailcache.ro.usrlocal \
usrlocalonaufs /tmp/jail/usr/local
# Build the AUFS union bootonaufs based on the bond of /boot.
# Mount bootonaufs in /tmp/jail/boot.
mkdir -p /tmp/jailcache.rw.boot /tmp/jailcache.ro.boot
mount -o bind /boot /tmp/jailcache.ro.boot
mount -t aufs -o br:/tmp/jailcache.rw.boot:/tmp/jailcache.ro.boot \
bootonaufs /tmp/jail/boot
# Build the AUFS union homeonaufs based on the bond of /home.
# Mount homeonaufs in /tmp/jail/home.
mkdir -p /tmp/jailcache.rw.home /tmp/jailcache.ro.home
chown 1000:1000 /tmp/jailcache.rw.home
chown 1000:1000 /tmp/jailcache.ro.home
chown 1000:1000 /tmp/jail/home
mount -o bind /home /tmp/jailcache.ro.home
mount -t aufs -o br:/tmp/jailcache.rw.home:/tmp/jailcache.ro.home \
homeonaufs /tmp/jail/home
# Build the AUFS union srvonaufs based on the bond of /srv.
# Mount srvonaufs in /tmp/jail/srv.
mkdir -p /tmp/jailcache.rw.srv /tmp/jailcache.ro.srv
mount -o bind /srv /tmp/jailcache.ro.srv
mount -t aufs -o br:/tmp/jailcache.rw.srv:/tmp/jailcache.ro.srv \
srvonaufs /tmp/jail/srv
# Mount proc in /tmp/jail/proc.
mount -t proc -o rw,noexec,nosuid,nodev proconaufs /tmp/jail/proc
# Mount sysfs in /tmp/jail/sys.
mount -t sysfs -o rw,noexec,nosuid,nodev sysonaufs /tmp/jail/sys
# Mount fusectl in /tmp/jail/sys/fs/fuse/connections.
mount -t fusectl -o rw fusectlonaufs \
/tmp/jail/sys/fs/fuse/connections
# Mount binfmt_misc in /tmp/jail/proc/sys/fs/binfmt_misc.
mount -t binfmt_misc -o rw,noexec,nosuid,nodev binfmt_misconaufs \
/tmp/jail/proc/sys/fs/binfmt_misc
# Bind /dev to /tmp/jail/dev.
mount -o bind /dev /tmp/jail/dev
# Bind /dev/pts to /tmp/jail/dev/pts.
mount -o bind /dev/pts /tmp/jail/dev/pts
# Bind /run to /tmp/jail/run.
mount -o bind /run /tmp/jail/run
# Bind /dev/shm to /tmp/jail/run/shm.
mount -o bind /run/shm /tmp/jail/run/shm
The above script creates a copy of the directory structure from the
running system under the directory /tmp/jail. This is the chroot
environment based on AUFS.
The following command changed the file mode of the directory
/tmp that lives in the chroot environment:
$> sudo chroot /tmp/jail chmod 1777 /tmp
With the following commands I restart the stopped daemons but
now I do that in the chroot environment:
$> sudo chroot /tmp/jail invoke-rc.d udev start
$> sudo chroot /tmp/jail invoke-rc.d dbus start
$> sudo chroot /tmp/jail invoke-rc.d network-manager start
$> sudo chroot /tmp/jail invoke-rc.d bluetooth start
$> sudo chroot /tmp/jail invoke-rc.d gdm start
The input of the last command starts a new GNOME Desktop log in
screen. Until now the kernel message shows no aufs warning or
error messages. During the log in from the GNOME Desktop log in
into the GNOME Desktop session the following kernel message
concerning AUFS is logged:
[ 129.434722] aufs au_opts_parse:1039:mount[3397]: unknown option
errors=remount-ro
[ 129.441762] aufs au_opts_parse:1039:mount[3398]: unknown option
commit=0
[ 129.452269] aufs au_opts_parse:1039:mount[3400]: unknown option
commit=0
[ 129.468503] aufs au_opts_parse:1039:mount[3402]: unknown option
commit=0
[ 129.473906] aufs au_opts_parse:1039:mount[3403]: unknown option
commit=0
[ 129.477398] aufs au_opts_parse:1039:mount[3404]: unknown option
commit=0
I hope, I have presented the problem now clear enough. If you have
further questions, please don't hesitate and ask me again.
The question is, why does aufs print the above kernel messages.
I would be very glad, if you could find some time to answer my
questions. Thanks a lot in advanced.
Regards,
Robert Wotzlaw
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure