Собственно, нужно запустить старую софтину, скомпилированную еще под linux-2.4, на новом дистре линукса (желательно Ubuntu 8.04).
Сразу оговорюсь, софтина старая и обновлений у нее нет. Компьютер на котором она должна работать новый и старые дистрибьютивы на нем не запускаются.
Для того чтобы запустить старую прогу на ядре 2.6 раньше делали так:
export LD_ASSUME_KERNEL=4.2.1
но это действует только на ядрах до 2.6.15 включително, однако последнее такое ядро стояло на Ubuntu 6.06 (на Ubuntu 8.04 стоит 2.6.24-16).
Вопрос №1: Можно ли как-нибуть воспользоваться LD_ASSUME_KERNEL на новых ядрах, моложе 2.6.15?
Когда ничего не получилось с LD_ASSUME_KERNEL, решил собрать на Ubuntu 8.04 ванильное ядро linux-2.6.15.7. Ничего не получилось. Ядро скомпилиться скомпилилось, но не запустилось. При создании initrd пишет:
# mkinitramfs -o initrd.img-2.6.15.7 2.6.15.7 W: udev hook script requires at least kernel version 2.6.17 W: not generating requested initramfs for kernel 2.6.15.7
а при запуске пишет:
Kernel panic - not syncing:VFS:Unable to mount root fs on unknown-block(3,4)
Вопрос №2: Как сделать поддержку devfs для этого initrd?