Как мне автоматически войти в систему как root в TTY при загрузке?

Я работаю над созданием ядра реального времени с патчем RT-PREEMPT. Я создал это ядро ​​без графического рабочего стола. Подходит в режиме терминала с приглашением войти в систему. Требование заключается в том, что он должен загрузиться и перейти непосредственно к приглашению оболочки с правами root без запроса входа в систему. Как это может быть сделано? Вы можете мне помочь?

2 ответа

Источник: http://linux.koolsolutions.com/2009/04/30/autologin-linux-console-mode.

Я заставил это работать, но это немного отличается на Ubuntu.

  1. Первая установка mingetty:

    sudo apt-get install mingetty
    
  2. редактировать /etc/init/tty1.conf:

    Изменить:

    exec /sbin/getty -8 38400 tty1
    

    Для того, чтобы:

    exec /sbin/mingetty --autologin root --noclear tty1
    
  3. Перезагрузитесь и проверьте.

Это сработало для меня в Ubuntu 12.04, если это работает для вас, и вам нужно больше tty, чтобы начать автоматическое изменение tty2.conf - tty6.conf, и вы должны быть в порядке.

В современном мире systemd вот шаги, которые я предпринял, чтобы это заработало:

  1. apt install mingetty
  2. mkdir -p /etc/systemd/system/getty@tty1.service.d
  3. Теперь добавьте следующий скрипт:

    cat > /etc/systemd/system/getty@tty1.service.d/override.conf <<- "_EOF_"
        [Service]
        ExecStart=
        ExecStart=-/sbin/mingetty --autologin root --noclear tty1
    _EOF_
    
  4. systemctl enable getty@tty1.service

Вышеупомянутое кажется самым чистым вариантом для систем, использующих Systemd, который я мог найти. В качестве дополнительного бонуса, если что-то сломается в будущем, вы можете просто запустить что-то вроде следующего из живого ISO для восстановления (после монтирования корневого раздела, конечно), чтобы восстановить поведение по умолчанию:

rm /mnt/root/etc/systemd/system/getty@tty1.service.d/override.conf

Вы можете сделать это без какого-либо дополнительного программного обеспечения

sudo vim /etc/inittab

закомментируйте

1:2345:respawn:/sbin/getty 115200 tty1

и заменить его на

1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1

так что вы остались с этим

#1:2345:respawn:/sbin/getty 115200 tty1
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
Другие вопросы по тегам