[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cannot upgrade circular udev dependency




On 2/16/22 7:48 AM, Greg Wooledge wrote:
On Wed, Feb 16, 2022 at 07:19:34AM -0800, David Liontooth wrote:
Hi -- I have a machine, Linux ancient 2.6.36.2 #1 SMP Sun Dec 26 06:19:57
PST 2010 x86_64 GNU/Linux.

This is not a Debian kernel.  You either built it yourself, or you got
it from some foreign Linux distribution.
True -- I used to compile my own kernels, though in this case, there's no particular need to. I just want a vanilla system at this point.
I can install a new kernel, but it won't boot into any of the new kernels:

root@ancient:~# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-4.9.0-16-amd64
Found initrd image: /boot/initrd.img-4.9.0-16-amd64
Found linux image: /boot/vmlinuz-3.16.0-6-amd64
Found initrd image: /boot/initrd.img-3.16.0-6-amd64
Found linux image: /boot/vmlinuz-2.6.36.2
Found linux image: /boot/vmlinuz-2.6.36.1
Why not?  What happens when you try to boot one of them?  Are they missing
whatever features you needed to build a custom kernel to support?
I've only tried remotely, so I don't see what's happening. If I force it and the udev is wrong, won't the kernel fail?
I also cannot upgrade udev:

root@ancient:~# apt --fix-broken install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
...
The following additional packages will be installed:
  udev
The following packages will be upgraded:
  udev
1 upgraded, 0 newly installed, 0 to remove and 476 not upgraded.
Need to get 0 B/1,112 kB of archives.
After this operation, 6,381 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Reading database ... 64907 files and directories currently installed.)
Preparing to unpack .../udev_232-25+deb9u13_amd64.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)
You could rebuild your custom kernel to include those features.  Assuming
they existed in 2.6.36.

But... that says deb9.  That's a *whole* lot newer than your running
system.  Did you honestly expect a Debian 9 package to work on your
Debian 6 (or whatever it is) system?
I'm trying to upgrade from jesse to stretch. Maybe I should downgrade to jesse again and see if I can install a debian kernel first -- I'll try that!
I'm not finding udev packages in pool. Where are they located in the
repository tree? Is there an intermediate udev package that would allow me
for instance to boot linux 3.16.0-6-amd64?
You're running a version that's so old that I wouldn't expect to find
its packages in the normal locations.  You'd be better off using
snapshot.debian.org and downloading the obsolete versions that you require
by hand.

OK, very helpful, I'd forgotten about snapshots, that's great.

Still, where in pool is udev?

Finally. I tried using another machine to download udev 215-17+deb8u7 -- it
lets me download libudev 215-17+deb8u7, but even just downloading the udev
package is blocked by the dependency check.

    apt-get install --download-only udev=215-17+deb8u7 <== fails
    apt-get install --nodeps --download-only udev=215-17+deb8u7
E: Command line option --nodeps is not understood in combination with the
other options
And this one says deb8.
I was just trying to find something that would install, so I went back to a jesse repository for this.
Use dpkg -i to install individual Debian package files in these old
versions.  "apt-get install ./filename" didn't exist back then.  The
old way was to use dpkg -i, which led you to an incomplete state,
and then use "apt-get -f install" with no package names to let apt-get
try to fix the incomplete state.
OK, cool, thanks!
Or... you could install a newer version of Debian from scratch.  It might
be simpler than trying to salvage this Frankendebian installation.  (You've
got mixed up versions all over the place.  I don't think this is fixable
in any sane way.)
You may be right, but the machine is old and I'm not entirely confident I can get it to boot from a USB stick.
I'm still curious why you needed a custom kernel, though.  You'll want to
solve that mystery.  If there's something *unique* about this machine,
which would prevent a clean installation of Debian 11, you'll need to
address it, whatever it may be.

I just used to compile my own kernels as a matter of course -- maybe from way back; I first installed potato. I don't think it means there's anything unusual about this Supermicro machine, I see nothing in my ancient notes that would suggest it needs anything special.

Cheers,
Dave



Reply to: