Хм, как интересно получается... Если указать в параметре lilo при загрузке root=/dev/sda2, ядро таки находит корень :) Там, правда, потом в логин менеджере клавиатура и мышь не работают, но это другой вопрос, почему. Проблема в том, что если указать в /etc/lilo.conf "root=/dev/sda2", то lilo -v говорит вот это:
Fatal: Illegal 'root=' specification: /dev/sda2
По всей видимости, потому что нет такого файла устройства /dev/sda2 (потому что /dev/hda2 работает на ура).
И UUID'ы самосборное ядро не понимает, я так и не понял, как их включить.