임베디드 시스템에서 작업하고 있습니다. OS는 yocto project (Ubuntu)입니다. 전원을 켠 후 대상 하드웨어에서 애니메이션 응용 프로그램을 시작해야합니다. basic.target에서 시스템 서비스로 애니메이션 응용 프로그램을 시작하고 있습니다.
그러나 보드의 전원을 켜면 플래시 화면이 약 500ms 동안오고 커서가 10 초 동안 깜박 인 다음 애니메이션 응용 프로그램이 시작됩니다. 애니메이션 응용 프로그램이 화면에 표시되기 시작하는 데 약 13 초가 걸립니다.
플래시 화면과 커서 깜박임을 제거하고 싶습니다. 어떻게해야합니까? 커널 부팅 시간을 최소화 할 수있는 방법이 있습니까?
시스템 분석 비난의 결과는 다음과 같습니다.
1.065s dev-mmcblk1p1.device
1.004s launchHMIUSB.service
518ms launchWeston.service
437ms node-startup-controller.service
287ms kmod-static-nodes.service
286ms systemd-remount-fs.service
279ms pas-daemon.service
254ms systemd-modules-load.service
245ms alsa-restore.service
219ms systemd-journal-flush.service
219ms connman.service
207ms systemd-udev-trigger.service
202ms dev-hugepages.mount
190ms systemd-journald.service
138ms systemd-sysctl.service
133ms ofono.service
127ms systemd-vconsole-setup.service
121ms tmp.mount
120ms systemd-update-utmp.service
117ms dev-mqueue.mount
102ms systemd-logind.service
101ms node-health-monitor.service
93ms sys-fs-fuse-connections.mount
90ms sys-kernel-config.mount
90ms sys-kernel-debug.mount
88ms systemd-tmpfiles-setup-dev.service
74ms user@0.service
68ms wpa_supplicant.service
67ms systemd-udevd.service
60ms nodestatemanager-daemon.service
53ms systemd-update-utmp-runlevel.service
31ms systemd-random-seed.service
31ms systemd-user-sessions.service
18ms sshd.socket
16ms systemd-tmpfiles-setup.service
16ms Data-mnttemp.mount
15ms var-volatile.mount
답변
부팅 시간을 최소화하는 단계 3. 1 단계와 2 단계를 파악하는 것입니다 무엇을 실제로 너무 오래 걸리고, 그 이유 .
부팅 과정은 “전원 버튼 → 커널 → 앱”만큼 직접적이지 않습니다. 처음 500ms 동안 얻는 것은 초기 펌웨어입니다. 부트 로더 (있는 경우); 그리고 리눅스 커널 로딩 그래픽 드라이버. 나머지는 앱을 시작하기 시작할 때까지 다양한 서비스를 시작하는 ‘init'(시스템화)입니다.
- 가장 명백한 오류를 찾기 위해 시스템 로그를 검사하십시오.
- 의 출력을 검사
systemd-analyze blame
,systemd-analyze critical-chain
systemd 단위가 시작하는 가장 긴 촬영 한보고. 각 장치가 왜 느린 지, 그리고 그것이 필요한지 알아보십시오. (대부분의 장치는 병렬 그룹으로 시작합니다. 일부는 직렬화되지만 때로는 불필요하게 직렬화됩니다.) - 시스템 부팅 중에 bootchartd 와 같은 도구를 사용 하여 리소스를 모니터링 하십시오 . 예를 들어, 스토리지가 너무 느리거나 특정 서비스가 CPU를 너무 오래 사용했을 수 있습니다.
답변
vt.global_cursor_default = 0을 전달하여 커서 깜박임이 제거되었습니다.
setenv bootargs 'vt.global_cursor_default=0'
saveenv