LINUX.ORG.RU

как заставить работать консоль? Yocto 1.2, /etc/inittab


0

1

Собрал Yocto 1.2 для qemuarm, теперь пытаюсь запустить это дело на ARMе PXA270 (ТионПро-270). U-boot вижу, лог ядра вижу, «VFS: Mounted root (ext3 filesystem). Freeing init memory: 120K» - это последнее что появляется, т.е. по факту сама консоль на ttyS0 работает, проблема в настройках.

Вот для другого компьютера на базе ARM я использую Debian 6.0 (сделал rootfs при помощи debootstrap) и там в inittab например:

# Example how to put a getty on a serial line (for a terminal)
#T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
я просто раскомментировал эту строку и всё заработало.

А вот на Yocto вообще не понимаю что делать (при том что любой образ для OpenEmbedded всегда работал отлично и по дефолту на консоль всего переходит). Еще и в Debian и в Yocto есть строка «# Normally not reached, but fallthrough in case of emergency» после которой в Debian у меня расположена настройка для консольного входа и он работает (AT91SAMG45), а на PXA270 меня смущает что там есть VGA выход и оно может туда перескакивать и последние строки с настройкой последовательного порта уже не вызываются...

Не знаю как это отладить, помогите пожалуйста кто знает :)

Вот пример inittab:

# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.
id:5:initdefault:

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
S:2345:respawn:/sbin/getty 115200 ttyAMA0
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
#  <id>:<runlevels>:<action>:<process>
#

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

Добавил в /etc/securetty строку ttyS0, а также строку «ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100» в конце inittab - толку ноль, последнее что видно это «Freeing init memory: 120K».

Если бы корневая файловая система была бы неправильной там была бы уже ошибка, не раз сталкивался, а тут молчание, что по всей видимости говорит о том что оно просто не хочет давать консоль в порт и всё...

Там может быть какой-нибудь ttyO[0-3] легко. Смотри внимательно в конфиг ядра

vasily_pupkin ★★★★★ ()

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

кажется tty1 это вирт консоль попробуй дописать

2:2345:respawn:/sbin/getty 38400 ttyS0

ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 - это неправильная строка

по ману там такой формат: id: runlevel: action: process у тебя runlevel не указан (видимо поэтому и не работает) и id должен быть 4 символа.

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

# The «id» field MUST be the same as the last # characters of the device (after «tty»). Вот кстати у тебя в файле написано т.е правильная строка

0:2345:respawn:/sbin/getty 38400 ttyS0

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

как я понимаю, у тебя getty респаунятся на виртуальные консоли,а не последовательный порт.

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

да, это в первую очередь менял

всем спасибо за ответы... оказалось до смешного просто - оказалось несовпадение OABI/EABI ядра и дистрибутива, старое попадалово, привык думать что при этом будет характерная ошибка в консоли, оказалось молчание, подозревал железо...

эх...

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