시스템 환경 생성기에서 저널로 어떻게 인쇄합니까?

시스템 환경 생성기에서 저널로 어떻게 인쇄합니까?

저는 임베디드 시스템을 연구하고 있습니다. 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아직 시작하지 않았나요? 아니면 어쩌면 왜냐하면나무꾼출신이다비지박스그리고 호환되지 않나요? 나는포키/욕토기본값은 다음 위치에 쓰고 있습니다.rsyslog~에서나무꾼, 시스템 저널이 아닙니다.

커널 부팅 인수로 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]:" 레이블을 직접 추가해야 합니다.

관련 정보