리눅스 부팅 시간을 최소화


0

임베디드 시스템에서 작업하고 있습니다. 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

시작하기 위해 "systemd-analyse blame"의 결과를 살펴보고 포함시킬 질문을 가질 수 있으며 깜박이는 커서에 도움이되는지 확인하십시오. wiki.archlinux.org/index.php/…
lx07

시스템 분석 비난 의 결과는 요청에 따라 추가됩니다. 시스템 분석 시간 주석은 시작 시간이 11.836 초 (사용자 공간) = 13.877 초입니다. 커서 깜박임을 제거하기 위해 위의 링크를 갔지만 std_bootarg vt.global_cursor_default = 0을 내보낼 수 없습니다 . 이 보이고 수출 : 떠들썩한 파티 vt.global_cursor_default '= 0'이 아닌 유효한 식별자 . 이에 대한 해결책이 있습니까? 고맙습니다.
deepan

답변:


2

부팅 시간을 최소화하는 단계 3. 1 단계와 2 단계를 파악하는 것입니다 무엇을 실제로 너무 오래 걸리고, 그 이유 .

부팅 과정은 "전원 버튼 → 커널 → 앱"만큼 직접적이지 않습니다. 처음 500ms 동안 얻는 것은 초기 펌웨어입니다. 부트 로더 (있는 경우); 그리고 리눅스 커널 로딩 그래픽 드라이버. 나머지는 앱을 시작하기 시작할 때까지 다양한 서비스를 시작하는 'init'(시스템화)입니다.

  • 가장 명백한 오류를 찾기 위해 시스템 로그를 검사하십시오.
  • 의 출력을 검사 systemd-analyze blame, systemd-analyze critical-chainsystemd 단위가 시작하는 가장 긴 촬영 한보고. 각 장치가 왜 느린 지, 그리고 그것이 필요한지 알아보십시오. (대부분의 장치는 병렬 그룹으로 시작합니다. 일부는 직렬화되지만 때로는 불필요하게 직렬화됩니다.)
  • 시스템 부팅 중에 bootchartd 와 같은 도구를 사용 하여 리소스를 모니터링 하십시오 . 예를 들어, 스토리지가 너무 느리거나 특정 서비스가 CPU를 너무 오래 사용했을 수 있습니다.

답변 주셔서 감사합니다. I는 확인할 systemd-분석 비난 그리고 임계 체인 lazy.target systemd-분석 (lazy.target 어느 IAM부터 최종 목표 인) 코멘트를,이 보이고 3S 만. 그러나 시스템 분석 시간 주석은 시작 시간11.836s (userspace) = 13.877s 입니다. 이 13.877은 init 프로세스 전 또는 init 프로세스 후입니까? 초기화 프로세스가 시작되기 전에이 문제에 어떻게 접근합니까? 고맙습니다.
deepan

0

vt.global_cursor_default = 0을 전달하여 커서 깜박임이 제거되었습니다.

setenv bootargs 'vt.global_cursor_default=0'
saveenv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.