[Lxc-users] udev

Daniel Lezcano daniel.lezcano at free.fr
Sat Jul 31 22:46:49 UTC 2010


On 07/31/2010 03:21 PM, Osvaldo Filho wrote:
> The mountall package break lxc-console
>    

The problem may come from the event "start on mounted MOUNTPOINT=/dev" 
(/etc/init/mouted-dev.conf) triggering the copy of /lib/udev/library. 
This copy will overwrite the /dev/console and so breaking the "link" 
between the host and the container with the console.

The same should happen with "start on mounted MOUNTPOINT=/var/run" 
(/etc/init/mouted-varrun.conf) which will break the shutdown / reboot.

IMO, this is the consequence, these events should not be generated in 
the container because we should not mount /dev and /var/run. lxc 
monitors these directory.

The container template "ubuntu" generates fake events for the subsystems 
because udev is not run. The udev*.conf files in /etc/init are renamed 
*.conf.orig which result to be ignored at the startup time.

The /lib/init/fstab is modified by the lxc template so /dev and /var/run 
are not mounted, hence no events are generated.

I am not sure you are using a "ubuntu" template from lxc, but I suggest:

1 - rename:

/etc/lib/udev.conf
/etc/lib/udevtrigger.conf
/etc/lib/udev-finish.conf
/etc/lib/upstart-udev-bridge.conf

2 - reduce the /lib/init/fstab to:

# /lib/init/fstab: lxc system fstab
none            /spu                      spufs           
gid=spu,optional                  0 0
none            /tmp                      none            
defaults                          0 0
none            /var/lock                 tmpfs           
nodev,noexec,nosuid,showthrough   0 0
none            /lib/init/rw              tmpfs           
mode=0755,nosuid,optional         0 0

3 - add /etc/init/lxc.conf

# fake some events needed for correct startup other services

description     "Container Upstart"

start on startup

script
         rm -rf /var/run/*.pid
         rm -rf /var/run/network/*
         /sbin/initctl emit stopped JOB=udevtrigger --no-wait
         /sbin/initctl emit started JOB=udev --no-wait
end script


With this configuration I was able to upgrade my ubuntu container.
I think that will fix your problem with the console.

Thanks
   -- Daniel
> 2010/7/31 Osvaldo Filho<arquivostcf at gmail.com>:
>    
>> The others packages:
>>
>> The following packages will be upgraded:
>>   apt apt-utils base-files bash bsdutils busybox-initramfs
>> console-setup coreutils cpio dash debconf debconf-i18n dpkg e2fslibs
>> e2fsprogs findutils
>>   gcc-4.4-base grep hostname initramfs-tools initramfs-tools-bin
>> initscripts iputils-ping kbd klibc-utils language-pack-en
>> language-pack-en-base libblkid1
>>   libc-bin libc6 libcomerr2 libdbus-1-3 libedit2 libgcc1 libglib2.0-0
>> libgpm2 libgssapi-krb5-2 libk5crypto3 libklibc libkrb5-3
>> libkrb5support0 libncurses5
>>   libncursesw5 libpam-modules libpam-runtime libpam0g libpcre3
>> libplymouth2 libpng12-0 libslang2 libss2 libssl0.9.8 libstdc++6
>> libudev0 libuuid1 locales
>>   lsb-base lzma module-init-tools mount mountall ncurses-base
>> ncurses-bin openssh-client openssh-server perl-base python-minimal
>> python2.6-minimal
>>   sensible-utils sudo sysv-rc sysvinit-utils tzdata util-linux xkb-data
>>
>>
>> 2010/7/31 Osvaldo Filho<arquivostcf at gmail.com>:
>>      
>>> I upgrade upstart and udev.
>>> lxc-console is ok!
>>>
>>> The problem is other!
>>>
>>> 2010/7/31 Serge E. Hallyn<serge.hallyn at canonical.com>:
>>>        
>>>> Quoting Guillaume ZITTA (lxc at zitta.fr):
>>>>          
>>>>>   Hi,
>>>>>
>>>>> You could use dpkg-divert utility to rename files :
>>>>>      dpkg-divert --rename $f
>>>>>
>>>>> It will rename $f to $f.distrib and store this fact to the dpkg database.
>>>>> After, any update from dpkg will go to the renamed file.
>>>>>            
>>>> I assume you mean for diverting the ppp device to another file?
>>>> I think holding the package is much better in this case.  Bypassing
>>>> the permission problem to let the upgrade succeed caused /etc/init/udev.conf
>>>> to get reinstalled, which stopped him from booting.
>>>>
>>>> But d pkg-divert is another trick (new to me) that sounds like
>>>> it'll come in useful.  I'm getting the feeling that container
>>>> administration (in debian/ubuntu) is going to require a bit of
>>>> a new art :)
>>>>
>>>> Thanks!
>>>>
>>>> -serge
>>>>          







More information about the lxc-users mailing list