임베디드 리눅스 (UBUNTU 12.10 서버 프리뷰 이미지)를 사용하여 Pandaboard에서 프로젝트를 수행하여 부팅 시간을 최적화합니다. 부팅 시간을 최적화 할 수있는 기법이나 도구가 필요합니다. 누구든지 도울 수 있다면.임베디드 리눅스 부팅 최적화
답변
/etc/init.d/rc 파일에서 필요하지 않은 응용 프로그램을 제거하면 모든 프로세스 초기화 후 에코를 넣고 어떤 프로세스가 시작하는 데 많은 시간이 걸리는지 확인하십시오. 더 많은 시간이 소요되는 응용 프로그램을 발견하면 응용 프로그램을 디버깅하는 등의 작업을 수행 할 수 있습니다.
대략적인 부팅 시간을 알면 도움이되는 프로그램이 있습니다. 이 링크를 확인하십시오 Time Stamp.
이 링크는 http://processors.wiki.ti.com/index.php/Sitara_Linux_Training:_Boot_Time_Reduction에서 자세히 볼 수 있습니다. 도움이 될 수 있습니다. –
먼저 커널을 컴파일하고 인터넷에서 소스를 얻은 다음 make xconfig
을 실행하고 필요없는 모든 것을 선택 해제하십시오. 두 번째로 Buildroot와 make xconfig
을 사용하여 자신 만의 루트 파일 시스템을 생성하여 필요한 모든 것을 선택/선택 해제하십시오.
희망 도움말.
나는 같은 문제를했고 지금은 분명 같은 아니에요, 그런 식으로 할)편집 : 당신이 필요로하는 모든 것은 부팅 프로세스를 분석하는 here
Pandboard 용 맞춤 커널을 컴파일하는 방법에 대한 정보를 좀 더 제공 할 수 있다면 ?? 사실 Beagleboard에서 많은 작업을 해왔지만 TI 자체에서 자체 SDK와 툴 체인을 제공하고 있으며 사용자 정의 구성을 위해 커널을 컴파일하기 위해 MENUCONFIG를 사용하고 있습니다. 그러나 PANDA에는 그러한 SDK가 없습니다. 팬더 용 맞춤 커널을 컴파일 할 수 있습니까? – Novice
'make xconfig'는'make menuconfig'의 그래픽 버전입니다. 커널을 크로스 컴파일하려면 [this tuto] (http://tkcheng.wordpress.com/2013/02/23/cross-compile-linux-kernel-for-pandaboard-armel-and-armhf/)를 따르십시오. 그런 다음 여기로 돌아와서 잘 돌아가는지 확인하십시오 :) – VivienG
될 것입니다, 당신은 Bootchart2을 사용할 수 있습니다 , GitHub의에 사용 가능한 : 우분투 패키지에서, https://github.com/mmeeks/bootchart
또는 을 Bootchart :
단지 필요한 H/W를 초기화하는 링커 스크립트를 수정 :sudo apt-get update
sudo apt-get install bootchart pybootchartgui
은 크게 부팅시
- 부트 로더를 줄일 수 3 개 영역이있다. 또한 SD 카드를 사용하여 부팅하는 경우 커널과 부트 로더 이미지를 병합하여 시간을 절약하십시오.
- 커널 : 커널 구성에서 원하지 않는 모듈을 제거하십시오. 압축 된 이미지와 압축되지 않은 이미지를 사용해보십시오. CPU가 처리하기에 충분하다면 압축 된 이미지로 이동하고 다른 압축 유형에 필요한 압축 해제 시간을 확인하십시오.
- 파일 시스템 : 불필요한 저장소와 libs를 제거하여 FS 크기를 크게 줄일 수 있습니다. 종속성을 확인하고 필요한 종속성 만 사용하십시오. 부팅 시간은 다음 링크를 참조하시기 바랍니다 측정에 도움이 도구에 대한 자세한 기술과 정보
기본 규칙은 다음과 같습니다 가장 빠른 코드는로드되지 없구요 코드와 실행, 그래서 당신이 필요로하지 않는모든 것을 제거 :
U-부팅에- :로드되지 않습니다 전체 U-Boot를 실행하십시오. FALCON 모드를 사용하고 SPL이 Linux 커널 및 DTB를 직접로드
- Linux에서 : 실제로 필요하지 않은 모든 드라이버 및 기타 물건을 제거하십시오. 핵심 응용 프로그램에 필수적이지 않은 모든 드라이버를 모듈로로드하고 응용 프로그램을 시작한 후에로드하십시오. 을 심각하게 여기는 경우 처음에는 하나의 CPU 코어 만 시작하고 응용 프로그램이 실행 된 후 나머지는 시작하십시오 ( ).
- 사용자 공간 : 루트 파일 시스템의 크기를 최소화하십시오. 너가 필요로하지 않는 무엇이든을 밖으로 throuw; 도구 (예 : busybox)를 에 구성하면 실제로 필요한 기능 만 포함됩니다. 효율적인 코드 를 사용하는 등 (예를 들어, libc의 대신의 glibc musl에 대한 링크)
usermode에서 시작된 첫 번째 프로그램은 초기화 프로세스입니다. 다른 사용자 정의 된 프로세스를 선택하여 시작할 수 있으며 필요한 항목 만 포함 할 수 있습니다. 좋은 정보 출처는 scrach http://www.linuxfromscratch.org/의 Linux입니다. 행운을 빌어 요 –
부팅 시간을 정의하십시오. 하드웨어 시동, 부트 로더, 커널 초기화, 커널에 의한 장치 초기화, 램 디스크 (있는 경우), 레벨 초기화? –
처음에는 정상 부팅 (전체 프로세스에서 로그인 프롬프트로 펌웨어를로드하는 주석 형식으로 언급 한) 시간을 계산하고 싶습니다. 그런 다음이를 줄일 수 있도록 최적화하고 싶습니다. 그러나 정확한 기술을 찾는 방법을 알지 못하거나 그것을 관찰 할 도구가 없습니다. 그들 중 일부는 아래 답변을 받았고, 지금은 그것에 대해 연구 중입니다. – Novice