시스템 환경 생성기에서 로그로 인쇄하는 방법은 무엇입니까?

시스템 환경 생성기에서 로그로 인쇄하는 방법은 무엇입니까?

임베디드 시스템을 개발 중입니다. Bash에 환경 생성기를 작성했는데 제대로 작동하는 것 같습니다. 그런데 일지에서 몇 가지 오류를 발견했습니다.

May 28 02:03:14 imx6ull14x14evk systemd[121]: /etc/systemd/system-environment-generators/overlayroot-ubifs.sh failed with exit status 32.       
May 28 02:03:14 imx6ull14x14evk systemd[121]: Invalid variable assignment "overlay /mnt/user/overlay overlay rw,noatime,lowerdir=...", ignoring.
May 28 02:03:14 imx6ull14x14evk systemd[121]: Invalid variable assignment "overlay / overlay rw,relatime,lowerdir=...", ignoring.      
May 28 02:03:14 imx6ull14x14evk systemd[121]: Invalid variable assignment "devtmpfs /orig/dev devtmpfs rw,relatime,size=...", ignoring.
May 28 02:03:14 imx6ull14x14evk systemd[121]: Invalid variable assignment "tmpfs /orig/run tmpfs rw,nosuid,nodev,mode=...", ignoring.         

stdout과 stderr이 모두 억제되는 것 같습니다. 기록계작동하지 않습니다. 아마도 왜냐하면systemd-journald.service아직 시작하지 않았나요? 아니면 어쩌면 그 때문일지도 몰라기록계~에서바쁜 상자그리고 호환되지 않나요? 나는 알아차렸다내로우/요크토기본값은 쓰기입니다.시스템 로그~에서기록계, 시스템 로그 대신.

systemd.log_level=debug를 커널 부팅 매개변수로 설정하면 오류가 (불안하게) 사라집니다. 내가 아는 한, 내 실수는 아무런 해를 끼치지 않았지만, 그것을 정리하고 싶습니다. 환경systemd.log_level=디버그다른 생성기가 기록되도록 합니다.

May 28 02:14:43 imx6ull14x14evk kernel: UBIFS (ubi0:1): FS size: 424099840 bytes (404 MiB, 1670 LEBs), journal size 21331968 bytes (20 MiB, 84 LEBs)     mber 2 using ci_hdrck_data_crc mtdparts=gpmi-nand:4m(nandboot),-(nandubi)
              3 imx6ull14x14evk kernel: UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)                               
May 28 02:14:43 imx6ull14x14evk kernel: UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID 29F89BD4-13AA-4118-B7B7-2B15D8F97EDB, small LPT model
May 28 02:14:43 imx6ull14x14evk systemd-rc-local-generator[196]: /etc/rc.local does not exist, skipping.                                          
May 28 02:14:43 imx6ull14x14evk systemd-hibernate-resume-generator[195]: Not running in an initrd, quitting.                                                                                      
May 28 02:14:43 imx6ull14x14evk systemd-getty-generator[193]: Automatically adding serial getty for /dev/ttymxc0.                                       
May 28 02:14:43 imx6ull14x14evk systemd-gpt-auto-generator[194]: Neither root nor /usr file system are on a (single) block device.                         vice= 3.18
le entries: 513 imx6ull14x14evk systemd-fstab-generator[192]: Parsing /etc/fstab...                                               

그렇다면 어떨까요?systemd-rc - 로컬 생성기메시지 작성

/etc/rc.local이 존재하지 않습니다. 건너뛰세요.

일기장에? 메시지를 인쇄하려면(원하는 경우) 환경 생성기를 C로 작성해야 합니까? 설정하지 않고도 메시지를 받을 수 있나요?systemd.log_level=디버그?

답변1

현재 로그가 실행되고 있지 않기 때문에 로그에 로그인할 수 없습니다. 사실, 모든 시스템 생성기는 새로운 유닛 파일을 생성할 수 있어야 합니다.말 그대로 어떤systemd 장치가 시작되었습니다.

그러나 로그인은 가능합니다커널 로그 버퍼(즉, dmesg버퍼) 메시지는 다른 모든 커널 메시지와 함께 로그를 통해 가져옵니다.

이렇게 하려면 /dev/kmsg선택적으로 커널 스타일 심각도 접두사를 사용하여 메시지를 작성하세요.

echo "foobar-generator[$$]: Something's going on" > /dev/kmsg
echo "<4>foobar-generator[$$]: Warning, an error is about to occur" > /dev/kmsg
echo "<3>foobar-generator[$$]: An error just occured" > /dev/kmsg

<n>심각도는 syslog와 마찬가지로 " " 접두사를 사용하여 지정할 수 있습니다 . (예를 들어 3은 LOG_ERR, 4는 LOG_WARN, 7은 LOG_DEBUG입니다.) 예, syslog 스타일 "process[pid]:" 태그를 직접 추가해야 합니다.

관련 정보