LINUX.ORG.RU

[красноглазие] В свежесобранном линуксе не работает login

 


0

1

Собираю Линукс с нуля, в основном по книжке LFS, но не точно по ней.
Так вот, собрал ядро, собрал в принципе рабочую систему. Удается работать, загрузив ядро с параметром init=/bin/bash.

Удается создавать виртуальные консоли (agetty может, syslogd может, ядро может первый процесс в другой консоли запускать). Однако программа tty упорно пишет, что консоль «not a tty».

Но вопрос мой таков: почему-то у меня не работает login. Используется login из util-linux-ng и он при попытке его запустить некоторое время думает, а потом тихо выключается с кодом выхода 1. Не выводит ничего ни на консоль, ни в syslog. При этом непохоже, чтобы он просто был сломан: при запуске с неверными параметрами выводит подсказку о параметрах.

Если настроить simpleinit (из тех же util-linux-ng), проблеа НЕ решается: agetty сама спрашивает имя пользователя, потом вызывает login, тот падает, процесс повторяется.

Файлы /etc/passwd и /etc/group есть, библиотека libnss_files.so.2 и файл /etc/nsswitch.conf есть, нужные ноды в /dev есть.

Что я делаю не так?

★★★★★

strace натравить и посмотреть где он спотыкается?
или даже gdb (если все равно есть возможность пересобрать с отладочной информацией)?

ЗЫ. Сам опыта сборки с нуля не имею, но если человек полпятого так люто красноглазит, мимо пройти и не попытаться помочь не могу.

Tayler ★★
()
Ответ на: комментарий от Tayler

>strace натравить и посмотреть где он спотыкается

Натравил. Выяснил, что ему не хватает tzdata. Поставил, настроил. Все равно спотыкается. Продолжаю выяснять.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от vga

>Устройства все есть?
Только следующие: console, initctl, null, sda, sda6 (там все стоит), tty, tty{0,1,2,3,12}

dev/pts смонтирован?

Нет, а ему это обязательно надо? /dev/tty* не хватит?

udev запущен?

Нет пока, вручную монтирую.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от proud_anon

Нет, а ему это обязательно надо? /dev/tty* не хватит?

А вот не помню :-( Сначала написал, а потом начал думать. Может и не надо. Но не помешает.

Нет пока, вручную монтирую.

Понятно. Я б запустил, он бы посоздавал все устройства.

Пока идей больше нет, strace в помощь, правильно посоветовали.

vga ★★
()

Все, понял свою ошибку. Я /proc неправильно примонтировал. От этого login не мог прочитать /proc/self/fd/0 и падал.

Всем спасибо за подсказки.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от proud_anon

Ну ничего себе. Никогда бы не подумал, что в Linux даже login без proc не работает.

maxkit
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.