나는A20-OLinuXino-LIME2헤드리스 파일 서버로서데비안 8 미러~에서이고르 페초브니크의 작품.
시스템이 부팅하는 동안 커널 메시지를 직렬 콘솔(ttyS0)에 출력하고 결국 ttyS0에 로그인 프롬프트를 표시하기를 원합니다.
기본적으로 이미지는 다음 커널 명령줄을 사용합니다.
console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=1
...물론 ttyS0에는 커널 메시지가 출력되지 않습니다. Uncompressing Linux... done, booting the kernel.
U-Boot의 " "와 로그인 프롬프트를 생성하는 systemd 사이에는 출력이 없습니다.
console=tty1
나는 그냥 으로 바꾸겠다고 생각했지만 console=ttyS0,115200n8
systemd는 직렬 콘솔을 잡고 커널을 억제하므로 부트로더 메시지를 받은 다음 systemd의 " [ OK ] Started foo.
" 스타일 메시지를 받고 마지막으로 로그인 프롬프트를 받습니다.
[ 0.000000] foo
ttyS0에서 커널 메시지("")와 systemd의 출력을 모두 얻을 수 있는 방법이 있습니까 ?
아니면 부팅 실패를 디버깅해야 할 경우 커널 메시지를 볼 수 있도록 최소한 systemd를 침묵시키는 방법이 있습니까?
커널이 확실히 ttyS0에 대한 로깅을 지원한다는 점을 추가해야 합니다. 전체 커널 명령 줄을 console=ttyS0,115200n8
다음으로 바꿀 때[ 0.000000] foo
답변1
systemd는 직렬 콘솔을 가져오고 커널을 억제하므로 부트로더 메시지만 받습니다.
할 수 있다? 그러나 실제로는 그렇지 않습니다. loglevel=1
커널 명령줄에서는 커널에 로깅을 중지하도록 지시하는 역할을 담당합니다. 해당 문을 제거하거나 명시적으로 설정해 보세요 loglevel=7
.
멈추다체계자신의 상태 메시지 기록에서 다음을 사용하세요 systemd.show_status=no
(참조:시스템(1)).
추신: 여러분, 임의의 소프트웨어 버그와 systemd의 잘못된 구성을 비난하지 마세요.