2016-10-25 6 views
3

나는 최근에 found out U-Boot 용 FIT 이미지를 만드는 방법.U-Boot FIT 이미지를 다시 구성 요소로 분할 할 수 있습니까?

생성에 필요한 *.its 파일에 따르면 이미지에 커널, 루트 파일 시스템 및 장치 트리 블롭이 포함될 수 있습니다.

제 질문은 미리 만들어진 FIT 이미지를 해당 구성 요소로 분리하는 방법이 있다면 질문 할 수 있습니다 (어쩌면 *its 파일 다시 가져 오기).

답변

2

device-tree-compiler (apt-get install)를 설치하고 split_bootimg.pl (github) 스크립트를 다운로드하십시오. 스크립트를 실행하여 커널 이미지, ramdisk 및 dtb 파일을 추출하십시오. 그런 다음 모든 구성 요소를 갖게됩니다. 그리고 장치 트리 컴파일러를 사용하여 dtb에서 장치 트리 파일을 추출 할 수 있습니다.

"이미지에 안드로이드 마술이 없습니다. 기부합니다." 다음 문제는, 상기 split_bootimg.pl 가입일

하기, FIT 화상 형식이어야 :

(bootimg.h)에서

포맷 ** = + -------- --------- +

** | 부팅 헤더 | 1 페이지

** + ----------------- +

** | 커널 | n 페이지

** + ----------------- +

** | 램 디스크 | m 페이지

** + ----------------- +

** | 두 번째 단계 | O 페이지

** + ----------------- + 부팅 헤더 매직 번호 필드가

스크립트가 있는지 여부를 확인하기 위해 현장을 확인합니다 이미지는 안드로이드 또는 아닙니다.

# Read the Magic 
read(INF, $buf, BOOT_MAGIC_SIZE); 
unless ($buf eq BOOT_MAGIC) { 
die "Android Magic not found in $fn. Giving up.\n"; 
} 

그래서 어쩌면 코드를 주석, 또는 스크립트를 매직 넘버가 이미지 속에있는 것을 확인하고 수정할 수 있습니다 코드 아래 매직 넘버를 확인합니다.

+0

이 perl 스크립트 (https://gist.github.com/jberkel/1087743)를 발견하고 이것을 'split_bootimg.pl image'와 같이 사용했습니다. 이 결과물은 다음과 같습니다. '이미지에 Android Magic이 없습니다. 포기 .' 너 더 어쩌면 나를 도울 수 있니? 내 플랫폼은 Android btw가 아닙니다. 나는 벌거 벗은 리눅스에있다. – h0ch5tr4355

+0

split_bootimg.pl에서 FIT 이미지의 형식은 다음과 같아야합니다. –

+0

** + ----------------- + ** | 부팅 헤더 | 1 페이지 ** + ----------------- + ** | 커널 | n 페이지 ** + ----------------- + ** | 램 디스크 | m 페이지 ** + ----------------- + ** | 두 번째 단계 | 페이지 ** + ----------------- + –