Linux 부팅 순서에서 /dev/console은 언제 초기화됩니까?

Linux 부팅 순서에서 /dev/console은 언제 초기화됩니까?

저는 Linux 커널을 처음 접했습니다. 나는 리눅스가 사용하는 것을 안다/dev/콘솔시작 메시지 인쇄용 장치 파일/드라이버인쇄리눅스가 시작될 때. 여기에 답변한 대로: https://unix.stackexchange.com/a/485198/590780

"Linux에서 /dev/console은 시작(및 종료) 중에 메시지를 표시하는 데 사용됩니다."

그러나여러 측면이것은 나를 혼란스럽게 한다.

하나는:콘솔이 Linux의 장치 드라이버인 경우 콘솔을 사용하려면 Linux 커널이 이미 로드되어 있거나 메모리에 로드되어 있어야 합니다. 그렇죠?

Linux 시작 시 또는 콘솔 드라이버를 시작하기 전에 CPU 등을 감지하는 로그를 인쇄하려면 어떻게 해야 합니까? 커널 로딩이 시작될 때 콘솔을 사용하는 방법은 무엇입니까? 버퍼링되었거나 그와 유사한 것입니까? 그런 다음 플러시됩니까?


두번째:커널 부팅을 마친 후 또 다른 문제가 나를 혼란스럽게 했습니다. 커널이 초기화될 때 커널이 없으면/sbin/초기화프로그램을 실행하면 커널이공황! 이 시점에서는 콘솔 출력을 계속 볼 수 있으므로 콘솔은 여전히 ​​열려 있습니다. 그래서 정의에 따르면 (https://www.qnx.com/developers/docs/6.4.0/neutrino/user_guide/cmdline.html):

"디스플레이 어댑터, 화면 및 시스템 키보드를 총칭하여 물리적 콘솔이라고 하며 콘솔 드라이버에 의해 제어됩니다."

내가 아는 바로는 콘솔 드라이버도 키보드의 소리를 듣습니다! (틀렸다면 정정해주세요)

콘솔을 열어도 커널 패닉 이후 쓰기/인쇄할 수 없는 이유는 무엇입니까? 개봉 여부O_RD만패턴이나 다른 것?


세 번째:두 번째는 나를 세 번째로 이끈다. 내 기억이 맞다면 역사적 관점에서 보고 있는 것이다. 초기 가상 콘솔은 키보드와 모니터로 구성됐다. 키를 누르면 해당 키가 화면에 나타나거나 해당 문자가 표시되나요? 아니면 텔레타이프 기계처럼요.

이미 /dev/console이 열려 있는데 콘솔에 써야 하는 이유는 무엇입니까? 더 잘 표현하기 위해 예를 들어보겠습니다.

몇 가지 시스템 호출을 사용하여 /dev/console을 연다고 가정해 보겠습니다.

sys_open(SYS_open, "/dev/console", O_RDWR, ...);

콘솔 드라이버가 키보드의 소리를 듣는다면 왜 콘솔에 써야 합니까?

sys_write(SYS_write, "/dev/console", ...);

누군가 이 점을 설명해 주시겠습니까? 나는 어떤 종류의 제안이라도 읽는 데 열려 있습니다.

관련 정보