ARM의 Debian Wheezy에서 tty 이름을 확인할 수 없습니다.

ARM의 Debian Wheezy에서 tty 이름을 확인할 수 없습니다.

Friendship mini210s ARM 단일 보드 컴퓨터용 Debian Wheezy 이미지를 생성하는 동안 이 문제가 발생했습니다.

sudo screen /dev/cu.usbserial 115200직렬 포트 와 현재 출력을 통해 터미널을 열었습니다 .

[    3.398751] apple 0003:05AC:0220.0003: input: USB HID v1.11 Device [Apple, Inc Apple Keyboard] on usb-s5p-ehci-1.4.2/input1
INIT: version 2.88 booting
INIT: Entering runlevel: 2
INIT: Id "X1" respawning too fast: disabled for 5 minutes

Debian GNU/Linux 7 FriendlyARM ttySAC0

FriendlyARM login: root      <======= entered root and hit return
Unable to determine your tty name.    <===== THE ISSUE

Debian GNU/Linux 7 FriendlyARM ttySAC0

FriendlyARM login: 

INIT: Id "6" respawning too fast: disabled for 5 minutes
INIT: Id "5" respawning too fast: disabled for 5 minutes
INIT: Id "4" respawning too fast: disabled for 5 minutes
INIT: Id "3" respawning too fast: disabled for 5 minutes
INIT: Id "2" respawning too fast: disabled for 5 minutes
INIT: Id "X1" respawning too fast: disabled for 5 minutes
INIT: Id "5" respawning too fast: disabled for 5 minutes
INIT: Id "2" respawning too fast: disabled for 5 minutes
INIT: Id "6" respawning too fast: disabled for 5 minutes
INIT: Id "4" respawning too fast: disabled for 5 minutes
INIT: Id "3" respawning too fast: disabled for 5 minutes

터치스크린에 다음과 같은 메시지가 있습니다.

"로그인: PAM 실패, 중단 중: 치명적인 오류 - 즉시 중단 중"

누군가 이것이 무엇인지 해독하도록 도와줄 수 있나요?

내가 어떻게 내 것을 만들었나rootfs

sudo debootstrap --arch=armel --foreign wheezy rootfs/ http://ftp.us.debian.org/debian

echo "proc /proc proc none 0 0" >> rootfs/etc/fstab
echo "mini210s-anybots"
echo "mini210s-anybots" > rootfs/etc/hostname 
mkdir -p rootfs/usr/share/man/man1/
mknod rootfs/dev/console c 5 1
mknod rootfs/dev/tty1 c 4 1
mknod dev/ttySAC0 c 204 64     <==== the serial port

그런 다음 이미지를 생성하고 yaffs2utilsFriendlyARM에서 부팅했습니다(여기서 프로세스를 설명하는데 약간 깁니다).

inittab다음 줄이 포함된 실행 중인 Debian Squeeze 이미지에서 다음을 복사했습니다 .

T1:2345:respawn:/sbin/getty 115200 ttySAC0      <=== terminal on serial port RS232 
X1:2345:respawn:/bin/login -f root tty1 </dev/tty1 >/dev/tty1 2>&1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

몇 단계를 놓쳤나 봐요.

추가된 누락 기기 업데이트

분명히 일부 장치를 구성해야 합니다. 내 영감은 다음에서 비롯됩니다이 게시물

mknod -m 0600 ./rootfs/dev/console  c 5 1
mknod -m 0660 ./rootfs/dev/full     c 1 7
mknod -m 0640 ./rootfs/dev/kmem     c 1 2
mknod -m 0660 ./rootfs/dev/loop0    b 7 0
mknod -m 0640 ./rootfs/dev/mem      c 1 1
mknod -m 0666 ./rootfs/dev/null     c 1 3
mknod -m 0640 ./rootfs/dev/port     c 1 4
mknod -m 0666 ./rootfs/dev/random   c 1 8
mknod -m 0660 ./rootfs/dev/tty      c 5 0
mknod -m 0666 ./rootfs/dev/urandom  c 1 9
mknod -m 0666 ./rootfs/dev/zero     c 1 5

mknod -m 0660 ./rootfs/dev/tty0     c 5 0
mknod -m 0660 ./rootfs/dev/tty1     c 5 1
mknod -m 0660 ./rootfs/dev/tty2     c 5 2
mknod -m 0660 ./rootfs/dev/tty3     c 5 3
mknod -m 0660 ./rootfs/dev/tty4     c 5 4
mknod -m 0660 ./rootfs/dev/tty5     c 5 5

...하지만 여전히 문제가 있습니다.

이제 다음을 추가하세요.

mknod -m 0660 ./rootfs/dev/ram0 b 1 0
mknod -m 0660 ./rootfs/dev/ram1 b 1 1
mknod -m 0660 ./rootfs/dev/ram2 b 1 2
mknod -m 0660 ./rootfs/dev/ram3 b 1 3
mknod -m 0660 ./rootfs/dev/ram4 b 1 4
mknod -m 0660 ./rootfs/dev/ram5 b 1 5
mknod -m 0660 ./rootfs/dev/ram6 b 1 6
mknod -m 0660 ./rootfs/dev/ram7 b 1 7
mknod -m 0660 ./rootfs/dev/ram8 b 1 8
mknod -m 0660 ./rootfs/dev/ram9 b 1 9
mknod -m 0660 ./rootfs/dev/ram10 b 1 10
mknod -m 0660 ./rootfs/dev/ram11 b 1 11
mknod -m 0660 ./rootfs/dev/ram12 b 1 12
mknod -m 0660 ./rootfs/dev/ram13 b 1 13
mknod -m 0660 ./rootfs/dev/ram14 b 1 14
mknod -m 0660 ./rootfs/dev/ram15 b 1 15

나의 새로운rootfs/dev

root@ubuntu:/home/joel/debian-mini210s/rootfs/dev# ls -al
total 8
drwxr-xr-x  2 root root    4096 Jan 19 17:27 .
drwxr-xr-x 19 root root    4096 Jun 22  2012 ..
crw-r--r--  1 root root   5,  1 Jan 19 14:07 console
crw-rw----  1 root root   1,  7 Jan 19 17:05 full
crw-r-----  1 root root   1,  2 Jan 19 17:05 kmem
brw-rw----  1 root root   7,  0 Jan 19 17:05 loop0
crw-r-----  1 root root   1,  1 Jan 19 17:05 mem
crw-rw-rw-  1 root root   1,  3 Jan 19 17:05 null
crw-r-----  1 root root   1,  4 Jan 19 17:05 port
brw-rw----  1 root root   1,  0 Jan 19 17:27 ram0
brw-rw----  1 root root   1,  1 Jan 19 17:27 ram1
brw-rw----  1 root root   1, 10 Jan 19 17:27 ram10
brw-rw----  1 root root   1, 11 Jan 19 17:27 ram11
brw-rw----  1 root root   1, 12 Jan 19 17:27 ram12
brw-rw----  1 root root   1, 13 Jan 19 17:27 ram13
brw-rw----  1 root root   1, 14 Jan 19 17:27 ram14
brw-rw----  1 root root   1, 15 Jan 19 17:27 ram15
brw-rw----  1 root root   1,  2 Jan 19 17:27 ram2
brw-rw----  1 root root   1,  3 Jan 19 17:27 ram3
brw-rw----  1 root root   1,  4 Jan 19 17:27 ram4
brw-rw----  1 root root   1,  5 Jan 19 17:27 ram5
brw-rw----  1 root root   1,  6 Jan 19 17:27 ram6
brw-rw----  1 root root   1,  7 Jan 19 17:27 ram7
brw-rw----  1 root root   1,  8 Jan 19 17:27 ram8
brw-rw----  1 root root   1,  9 Jan 19 17:27 ram9
crw-rw-rw-  1 root root   1,  8 Jan 19 17:05 random
crw-rw----  1 root root   5,  0 Jan 19 17:05 tty
crw-rw----  1 root root   5,  0 Jan 19 17:07 tty0
crw-r--r--  1 root root   4,  1 Jan 19 14:47 tty1
crw-rw----  1 root root   5,  2 Jan 19 17:07 tty2
crw-rw----  1 root root   5,  3 Jan 19 17:07 tty3
crw-rw----  1 root root   5,  4 Jan 19 17:07 tty4
crw-rw----  1 root root   5,  5 Jan 19 17:07 tty5
crw-r--r--  1 root root 204, 64 Jan 19 14:11 ttySAC0
crw-rw-rw-  1 root root   1,  9 Jan 19 17:05 urandom
crw-rw-rw-  1 root root   1,  5 Jan 19 17:05 zero

하지만 여전히 얻을Unable to determine your tty name

업데이트 - ttySAC0추가/etc/securetty

대기줄 vim /etc/pam.d/login:

auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so

장치가 목록에 있으면 비밀번호 없는 로그인이 허용됩니다. …하지만 기대에 미치지 못했습니다.

온라인에서 이 문제를 발견했습니다.

우분투 소개

주제에 관한 전자책

답변1

근본적인 문제는 tty와 아무 관련이 없지만 아래의 더 중요한 오류 메시지의 결과인 것 같습니다.PAM 실패, 중단 중: 치명적인 오류 - 즉시 중단.

이 기사데비안 도움말 사이트가 도움이 될 수 있습니다. (TL;DR? PAM 구성 파일의 줄 끝 부분에 있는 CR/LF는 좋지 않습니다.) 그러나 PAM 하위 시스템으로 무엇을 하고 있는지 알지 못하면 단지 추측일 뿐입니다.

답변2

당신은 뭔가를 놓치고 있습니다 /dev. 처음에 누락된 것은 /dev/tty커널이 내부적으로 이를 호출 프로세스의 자체 터미널로 다시 라우팅한 것입니다. getty프로그램은 login특정 터미널(여기 /dev/ttySAC0)과 통신하지만 다른 프로그램은 자신이 실행 중인 터미널을 통해 통신하기를 원하며 /dev/tty이 목적으로 사용됩니다. 생성했지만 잘못된 권한을 받았습니다. /dev/tty모든 프로세스에서 액세스할 수 있어야 합니다. BTW /dev/full는 거의 사용되지 않으므로 실제로는 아무것도 깨지지 않을 것입니다.

chmod a+rw /dev/tty

( /dev/console반면에 루트용으로 적절하게 예약되어 있습니다. /dev/tty프로세스가 실행되는 터미널을 말하며 xterm, sshd, screen 등과 같은 소프트웨어 터미널일 수 있습니다. /dev/console반면에 콘솔, 즉 물리적 터미널을 말합니다. 터미널; 소수의 프로그램 콘솔과의 상호 작용이 필요합니다.)

또한, 스크린 등의 터미널 에뮬레이터를 사용하기 위해서는 다음과 같은 생성이 필요합니다./dev/ptmx설치하고/dev/pts.

mknod -m 666 /dev/ptmx c 5 2
mkdir /dev/pts

시작 시 다음 줄을 입력 /etc/fstab하거나 해당 명령을 실행하여 mount5를 그룹 ID로 바꿉니다 tty(`/etc/group 확인).

devpts /dev/pts devpts gid=5,mode=620 0 0

그것이 내가 지금까지 본 전부입니다. 테스트해보지는 않았는데 뭔가 빠진게 있을 수도 있습니다.

관련 정보