매우 구체적인 요구 사항이 있습니다. Flash의 콘텐츠를 부분적으로 교체하는 것입니다.그리고MTD 파티션 경계를 이동합니다.
현재 지도는 다음과 같습니다.
u-boot 0x000000 0x040000
u-boot-env 0x040000 0x010000
kernel 0x050000 0x230000
initrd 0x280000 0x170000
scripts 0x3f0000 0x010000
filesystem 0x400000 0xbf0000
firmware 0xff0000 0x010000
원하는 출력은 다음과 같습니다.
u-boot 0x000000 0x040000
u-boot-env 0x040000 0x010000
kernel 0x050000 0x230000
filesystem 0x280000 0xd70000
firmware 0xff0000 0x010000
이는 initrd
한 영역으로 축소 scripts
되고 filesystem
다른 영역은 남겨지는 것을 의미합니다.
문제는 이것이 실행 중인 시스템("이전" 구성으로 시작됨)에서 달성되어야 한다는 것입니다.그리고재부팅하기 전에 커널과 "새" 파일 시스템을 다시 작성해야 합니다.
시스템이 내장되어 있어서 작동할 공간이 거의 없습니다(하지만 SD 카드는 있습니다).
물론 다시 작성된 커널은 DTB에 "새로운" 구성을 기록하게 됩니다.
문제는 전환이다.
참고: 나는 본 적이 있다이 문제, 그러나 매우 오래되었고 커널 패치가 필요하다는 단점이 있습니다. 저는 이를 피하고 싶습니다.