cubieplayer / Cubian

Debian for Cubieboard
http://cubian.org
271 stars 49 forks source link

Upgrading to jessie failes with udev error #345

Open mightycoco opened 9 years ago

mightycoco commented 9 years ago

I wanted to update to Jessie and edited my /etc/apt/sources.list to look like this:

deb http://ftp.debian.org/debian/ jessie main contrib non-free
#deb http://ftp.debian.org/debian/ unstable main
#deb http://mirrors.sohu.com/debian/ wheezy main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://packages.cubian.org/ wheezy main non-free
deb http://repo.ajenti.org/debian main main debian

deb-src http://ftp.debian.org/debian/ jessie main contrib non-free
#deb-src http://mirrors.sohu.com/debian/ wheezy main contrib non-free

Then I ran apt-get update apt-get -s dist-upgrade everything looked good... apt-get dist-upgrade ran a while until:

Preparing to unpack .../archives/udev_208-6_armhf.deb ...
Since release 198, udev requires support for the following features in
the running kernel:

- inotify(2)            (CONFIG_INOTIFY_USER)
- signalfd(2)           (CONFIG_SIGNALFD)
- accept4(2)
- open_by_handle_at(2)  (CONFIG_FHANDLE)
- timerfd_create(2)     (CONFIG_TIMERFD)
- epoll_create(2)       (CONFIG_EPOLL)

Please upgrade your kernel before or while upgrading udev.

AT YOUR OWN RISK, you can force the installation of this version of udev
WHICH DOES NOT WORK WITH YOUR RUNNING KERNEL AND WILL BREAK YOUR SYSTEM
AT THE NEXT REBOOT by creating the /etc/udev/kernel-upgrade file.
There is always a safer way to upgrade, do not try this unless you
understand what you are doing!

dpkg: error processing archive /var/cache/apt/archives/udev_208-6_armhf.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Errors were encountered while processing:
 /var/cache/apt/archives/udev_208-6_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

I insstalled the latest kernel:

apt-get install linux-image-3.4.79-headless-sun7i

and rebooted - new kernel is active:

root@Cubian:/home/cubie# uname -a
Linux Cubian 3.4.79-sun7i #13 SMP PREEMPT Thu Jul 3 06:34:55 CST 2014 armv7l GNU/Linux

But still, the apt-get dist-upgrade fails with the missing features for udev - any ideas? I'm no big linux guru...

thanks, MC

Darkvater commented 9 years ago

Would be good to know as well.

danfos commented 9 years ago

The error you get:

Since release 198, udev requires support for the following features in the running kernel:

- inotify(2)            (CONFIG_INOTIFY_USER)
- signalfd(2)           (CONFIG_SIGNALFD)
- accept4(2)
- open_by_handle_at(2)  (CONFIG_FHANDLE)
- timerfd_create(2)     (CONFIG_TIMERFD)
- epoll_create(2)       (CONFIG_EPOLL)

Please upgrade your kernel before or while upgrading udev.

Is pretty clear: both kernels you tried are not configured to have the mentioned features enabled. Only right solution is to recompile a kernel with these features enabled.

codr1 commented 9 years ago

I had the same issue. I recompiled the kernel with all the right options. Still have the issue.

So I looked into the install script. Its looking at /proc/kallsyms

Its looking for <address> T sys_open_by_handle_at

(the exact command is

egrep -q "^[a-fA-F0-9]+ T \.?sys_${symbol}$" /proc/kallsyms

where $symbol is open_by_handle_at

I looked by hand and I don't have a string that exactly matches it. I have 2 others... c025c1dc W compat_sys_open_by_handle_at c025c1dc W sys_open_by_handle_at

I tried the flag suggestion, but my box did not come up...